Live data from Hacker News

A Practical Introduction to Blockchain with Python

adilmoujahid.com

31–40 of 57 posts

Re: A Practical Introduction to Blockchain with Python

#31
post #24

Earlier quoted context omitted.

> It’s not clear that it doesn’t need a central authority. There is a rich history of blockchain consensus failure needing a central authority to tell everyone which chain is the right one. Satoshi did it in 2010, the Bitcoin developers did it in 2013, Vitalik did it with Ethereum in 2016. When the ledgers don’t reconcile, the developers are the central authority. And proof-of-work can’t save it because that too is c…

Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one. At the end of the day, when consensus breaks in unforeseen circumstances-- whether through a bug or an atta…

> Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one.

And not everyone listened.

> At the end of the day, when consensus breaks in unforeseen circumstances-- whether through a bug or an attack (the difference is purely syntactic)--people turn to the developers to tell them which consensus ruleset to follow.

Not everyone turns to the developers.

In a decentralized system, people have the ability to disagree with the developers and literally anyone else you might name as a central authority, and have that disagreement make a meaningful difference (a fork). That's obviously significant.

> If you disagree with the developers, your chain gets called something else, as we've seen with Bitcoin Cash and Ethereum Classic.

Who cares?

When the Bitcoin fork happened, I supported the Bitcoin Cash blockchain. I don't give a crap about the name. If I get the blockchain implementation I want, you can call it whatever you want.

Re: A Practical Introduction to Blockchain with Python

#32

The article adopts one of my preferred metaphors for the blockchain: "A blockchain is a distributed database that allows direct transactions between two parties without the need of a central authority." Which as a developer, I feel like I have a good handle on - but where I continually come up short is figuring out what I'd use such a data store for when building an application? The article starts off calling blockch…

Blockchain have a few characteristics that make them unique: - they are database - they are distributed - everybody has the entire db - it's transparent: everyone see the content - it's temper proof - it has a notion of temporality - it has a notion of transactions, and each transaction has a unique id and an history - transactions have authors, sources and destinations, with unique identifiers that can't be faked. H…

[deleted]

Re: A Practical Introduction to Blockchain with Python

#33
> Any business or organization that relies on a centralized database as a core competitive advantage can potentially be disrupted by blockchain technology.

That's a pretty big "potentially" since many of those organizations use centralization as a defense against bad actors.

Re: A Practical Introduction to Blockchain with Python

#34

The article adopts one of my preferred metaphors for the blockchain: "A blockchain is a distributed database that allows direct transactions between two parties without the need of a central authority." Which as a developer, I feel like I have a good handle on - but where I continually come up short is figuring out what I'd use such a data store for when building an application? The article starts off calling blockch…

I was asked to do a presentation at work about the blockchain and decided to implement one myself (Python).

With the same basic code base, I've built:

A basic asset tracking system. Think shipping containers.

A simple IoT API (logging sensor data).

A crude lap time tracker for racing drones. This would be easily shareable and loaded into different tracks to log your progress. I build racing drones as a hobby.

The really useful thing about the blockchain is that I can define a data structure and then design systems that consume it. Making the data portable.

Feel free to email me with questions. It's a fun tech to work with and simpler than people make it look.

Re: A Practical Introduction to Blockchain with Python

#35

The article adopts one of my preferred metaphors for the blockchain: "A blockchain is a distributed database that allows direct transactions between two parties without the need of a central authority." Which as a developer, I feel like I have a good handle on - but where I continually come up short is figuring out what I'd use such a data store for when building an application? The article starts off calling blockch…

Blockchain have a few characteristics that make them unique: - they are database - they are distributed - everybody has the entire db - it's transparent: everyone see the content - it's temper proof - it has a notion of temporality - it has a notion of transactions, and each transaction has a unique id and an history - transactions have authors, sources and destinations, with unique identifiers that can't be faked. H…

Thanks for a very useful and clear checklist! Would you say decentralized DNS checks all those boxes (Namecoin is a thing, after all)? Why would a DNS require the notion of transaction?

I'm aware of sites that tell you whether you need a blockchain or not for your application, but they don't say what to use if only one or two of the requirements for a blockchain are not needed. What would a decentralized DNS strictly need if the notion of transaction wasn't required (but only the latest value)?

Re: A Practical Introduction to Blockchain with Python

#36
post #24

Earlier quoted context omitted.

Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one. At the end of the day, when consensus breaks in unforeseen circumstances-- whether through a bug or an atta…

> Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one. And not everyone listened. > At the end of the day, when consensus breaks in unforeseen circumstances-- w…

Your fork is not the same system though, everyone else considers it a different currency. The argument is whether or not 1 given currency is decentralized, not whether or not you as a human have the freedom to use any currency you want...

In other words, someone creating Bitcoin Cash doesn't somehow prove that Bitcoin is decentralized... We still need to analyze each currency individually if we're going to have any meaningful conversation about their merits.

Re: A Practical Introduction to Blockchain with Python

#37

The article adopts one of my preferred metaphors for the blockchain: "A blockchain is a distributed database that allows direct transactions between two parties without the need of a central authority." Which as a developer, I feel like I have a good handle on - but where I continually come up short is figuring out what I'd use such a data store for when building an application? The article starts off calling blockch…

i guess the most famous practical application at least in the crypto community right now is called CryptoKitties build on top of Ethereum.

Fun maybe, but it's not really practical.

Re: A Practical Introduction to Blockchain with Python

#38

Earlier quoted context omitted.

Blockchain have a few characteristics that make them unique: - they are database - they are distributed - everybody has the entire db - it's transparent: everyone see the content - it's temper proof - it has a notion of temporality - it has a notion of transactions, and each transaction has a unique id and an history - transactions have authors, sources and destinations, with unique identifiers that can't be faked. H…

Thanks for a very useful and clear checklist! Would you say decentralized DNS checks all those boxes (Namecoin is a thing, after all)? Why would a DNS require the notion of transaction? I'm aware of sites that tell you whether you need a blockchain or not for your application, but they don't say what to use if only one or two of the requirements for a blockchain are not needed. What would a decentralized DNS strictly…

Actually DNS would benefit from transactions, it would allow to detect attack much more efficiently, or to analyze them after the fact.

It could also help analyze tendencies and adjust.

And as usual, you would get more accountability, which never hurts (Steven ! Why is the website down ? - * Steven quickly revert back his silly click * - Errr, nothing. No reason. Everything is alright !)

Re: A Practical Introduction to Blockchain with Python

#39
post #24

Earlier quoted context omitted.

> It’s not clear that it doesn’t need a central authority. There is a rich history of blockchain consensus failure needing a central authority to tell everyone which chain is the right one. Satoshi did it in 2010, the Bitcoin developers did it in 2013, Vitalik did it with Ethereum in 2016. When the ledgers don’t reconcile, the developers are the central authority. And proof-of-work can’t save it because that too is c…

Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one. At the end of the day, when consensus breaks in unforeseen circumstances-- whether through a bug or an atta…

Sounds like you’re mostly talking about trademark law here

Re: A Practical Introduction to Blockchain with Python

#40
post #39
post #24

Earlier quoted context omitted.

Satoshi told everyone his fork was Bitcoin and Vitalik told everyone his fork was Ethereum. The fact that more people disagreed with Vitalik than people that disagreed with Satoshi doesn't change the fact that the same thing happened in both cases: a central authority told everyone which fork was the right one. At the end of the day, when consensus breaks in unforeseen circumstances-- whether through a bug or an atta…

Sounds like you’re mostly talking about trademark law here

Are you saying trademark law would help resolving forks?
Post reply on HN