Earlier quoted context omitted.
Can I Haz Blockchain?! A great practical application are the CryptoKitties (Yes, little cute cartoon cats) on the blockchain, see -> https://www.cryptokitties.co PS: For more info on cryptokitties (and copycats collectibles), see the Awesome CryptoKitties page -> https://github.com/openblockchains/awesome-cryptokitties PPS: A great way to learn about cryptokitties (and copycat collectibles) is to build your own versi…
So I have a decent understanding of the mechanics of cryptokitties as a collectible game (you get a cat, it's unique, you breed it with others and try to get a cat with even better features). So the benefit of this application vs a traditionally structured app (lets call it RESTKitties) is what? That the external ledger of kitty creation and transfers is open and public for everyone? So you have more confidence that…
A Practical Introduction to Blockchain with Python
21–30 of 57 posts
Re: A Practical Introduction to Blockchain with Python
#22Earlier quoted context omitted.
Can I Haz Blockchain?! A great practical application are the CryptoKitties (Yes, little cute cartoon cats) on the blockchain, see -> https://www.cryptokitties.co PS: For more info on cryptokitties (and copycats collectibles), see the Awesome CryptoKitties page -> https://github.com/openblockchains/awesome-cryptokitties PPS: A great way to learn about cryptokitties (and copycat collectibles) is to build your own versi…
So I have a decent understanding of the mechanics of cryptokitties as a collectible game (you get a cat, it's unique, you breed it with others and try to get a cat with even better features). So the benefit of this application vs a traditionally structured app (lets call it RESTKitties) is what? That the external ledger of kitty creation and transfers is open and public for everyone? So you have more confidence that…
Re: A Practical Introduction to Blockchain with Python
#23The 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…
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 cen…
There's a big difference between centralized influence and centralized control. The 2010 and 2013 examples were fairly homogeneous, because the changes were fairly obvious and reasonable, the thought leaders were widely trusted, and almost all the users followed them. But a large number of people didn't follow when Ethereum split (hence Ethereum Classic) or when Bitcoin split in 2017 (hence Bitcoin Cash).
Thought leaders like Satoshi and Vitalik can influence most of the community of their respective coins, but they can't force anyone to accept their blocks.
> So if it can’t do the first thing it promises it can do, maybe it becomes more like a Rube Goldberg machine than something that is meant to be useful/practical. The fact that people are praising CryptoKitties as a “practical application” seems to support the Rube Goldberg machine/toy theory.
The problem I think is that decentralized control is really the only thing that blockchains offer over existing data stores. If you don't care about decentralized control, existing distributed logs such as Datomic are superior to blockchain in every way.
I would go so far as to say that the vast majority of blockchain users fall into two categories:
1. People who don't understand decentralization. 2. People who don't care about decentralization but are riding the hype (whether they understand decentralization or not).
This is why so many "blockchain applications" look like Rube Goldberg machines:
1. People who don't understand decentralization use it to implement things that would be much better served by an existing distributed datastore such as Datomic. 2. People who are just riding hype don't need to implement anything serious to fool people. They can implement a Rube Goldberg machine and there will always be suckers who take it seriously as long as it ticks the "blockchain" hype tickbox.
Very few people actually understand decentralization AND care about it, and even fewer of those have the technical chops to implement them. So I think it will take time for more complex blockchain killer apps to emerge.
It's worth noting that the first simple blockchain application, cryptocurrency, has already had pretty immense effects on our society, from darknet markets to crypto exchanges. You can argue whether the uses people use cryptocurrency for are good, but you can't argue it isn't useful--it's just not complex (from a logical standpoint--it's just a ledger--obvously it's technically and socially complex).
Re: A Practical Introduction to Blockchain with Python
#24Earlier 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 cen…
> 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…
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. If you disagree with the developers, your chain gets called something else, as we've seen with Bitcoin Cash and Ethereum Classic.
With the 2013 Bitcoin fork, there were 2 ledgers and the network could not find consensus until the developers realized this and told everyone what to do 4 hours later. That's the developers controlling the system.
And who controls the developers? Their big bad State.
Re: A Practical Introduction to Blockchain with Python
#25Earlier quoted context omitted.
Can I Haz Blockchain?! A great practical application are the CryptoKitties (Yes, little cute cartoon cats) on the blockchain, see -> https://www.cryptokitties.co PS: For more info on cryptokitties (and copycats collectibles), see the Awesome CryptoKitties page -> https://github.com/openblockchains/awesome-cryptokitties PPS: A great way to learn about cryptokitties (and copycat collectibles) is to build your own versi…
So I have a decent understanding of the mechanics of cryptokitties as a collectible game (you get a cat, it's unique, you breed it with others and try to get a cat with even better features). So the benefit of this application vs a traditionally structured app (lets call it RESTKitties) is what? That the external ledger of kitty creation and transfers is open and public for everyone? So you have more confidence that…
Re: A Practical Introduction to Blockchain with Python
#26Earlier 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…
For instance, Satoshi told people something that all participants considered reasonable, and so the participants reacted accordingly. Systemic reasonable behavior is not inconsistent with the principle of decentralization, it's a consequence of it.
The origin of systemically-reasonable policy is orthogonal to the idea of decentralization, unless that origin is structurally mandated.
Re: A Practical Introduction to Blockchain with Python
#27Earlier 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…
While there's a lot that could be written about what decentralization even means, or how to measure it, no reasonable definition would require a decentralized system to be entirely outside of the influence of everyone all the time. For instance, Satoshi told people something that all participants considered reasonable, and so the participants reacted accordingly. Systemic reasonable behavior is not inconsistent with…
But I'm with you man, if we as a decentralized group come up with a reasonable hierarchy of trust supported by free speech and democracy, then we can create a systemically-reasonable Money that we can all agree is good.
Re: A Practical Introduction to Blockchain with Python
#28The 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…
- 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.
Hence it's a transaction based system that is a source of truth that can be audited from end to end by anybody.
So the only applications that are interesting for the blockchain are the ones mapping to this EXACT concept. Otherwise, you don't need a blockchain.
But because of the bubble, people are now using the blockchain for everything, since that gives visibility. I have friends myself that have projects making ICO just for that. And it works. Their product clearly didn't need a coin, but they raised several millions of euros to build their stuff.
Ok, so what kind of project DOES match the blockchain paradigm?
So money, obviously is a contender.
But voting systems as well.
Or a mix of both, such as betting (see the wagger project).
Compliance systems are another use case. E.G: make a public database of all plane inspections or food products origin.
Being decentralized doesn't mean blockchain systems don't have central authorities. The decentralized nature mean the data access (and potentially production) is not on a central system, which has great benefits. But as soon has you need human actions, you need something to tell them in which direction to go.
So you need a central authority for the part dealing with the humans.
E.G: for the voting system, something to register the citizen and produce the polls. For the betting system, something to introduce the bet results into the blockchain. Etc.
One alternative to that we are experimenting with currently as a community is the use masternodes (POS machines holding a lot of coins out of the market for a long period of time to show their commitment). It's basically an oligarchy.
The coin Polis is an example of that: they make proposals of things to finance, and each masternode vote yes or no for the proposal.
They are a lot of masternode coins, now, for various uses. Zencash uses them to distribute the messages of its chat system, wagger to introduce the data from bets into the chain, etc.
But most of the masternodes are just used to increase the ponzi effect (we build and host masternode for our clients as a service so we have a large sample of them on our servers).
Re: A Practical Introduction to Blockchain with Python
#29The 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…
Re: A Practical Introduction to Blockchain with Python
#30Earlier quoted context omitted.
Can I Haz Blockchain?! A great practical application are the CryptoKitties (Yes, little cute cartoon cats) on the blockchain, see -> https://www.cryptokitties.co PS: For more info on cryptokitties (and copycats collectibles), see the Awesome CryptoKitties page -> https://github.com/openblockchains/awesome-cryptokitties PPS: A great way to learn about cryptokitties (and copycat collectibles) is to build your own versi…
So I have a decent understanding of the mechanics of cryptokitties as a collectible game (you get a cat, it's unique, you breed it with others and try to get a cat with even better features). So the benefit of this application vs a traditionally structured app (lets call it RESTKitties) is what? That the external ledger of kitty creation and transfers is open and public for everyone? So you have more confidence that…
(except in this case there is a self destruct function that would freeze the game forever)