One of Buttcoin subreddit members has posted a link to my article with their comments, and that produced a long and interesting discussion. The subreddit itself is quite radically anti-blockchain, but most of the discussion is still pretty productive. The user named “xxqsgg” is mine.
First of all, some readers were confused about the difference between EOSIO and EOS. EOSIO is an open-source software suite that allows anyone setting up a new blockchain, or bringing up a node for any existing EOSIO blockchain. EOS blockchain is only one of possible implementations, and there are several other public networks, and a number of private ones. So, any comments about China ruled blockchain are irrelevant. Also any references to cryptocurrencies are irrelevant to the topic.
Secondly, my article was listing only a few ideas on where the software could possibly be used by businesses. Of course these use cases can be implemented without blockchain, but the new software opens doors for new possibilities and cost savings.
Think of it as a new noSQL database engine, with distinctive features, as follows:
- Tamper-proof database: any change in its state is only possible as a result of a valid transaction. You cannot simply modify the data without being noticed.
- User authentication with strong cryptography. Also the permissions system allows setting up complex authentication scenarios, such as multi-signature, 2FA, or allowing a specific private key perform only a limited set of actions.
- Distributed multi-master architecture: the network can be scaled up to hundreds of nodes around the globe, each maintaining an exact copy of state, and each allowing concurrent transaction submission, topping at few thousand transactions per second.
- Fully auditable: every transaction is associated with a signing authority, and each block is timestamped. For every change of state we can find out who, when, and in what sequence has performed the actions.
- Distributed application platform: the blockchain executes smart contracts, or pieces of program code that can verify the input, modify internal state, reject invalid transactions, and perform application logic according to business requirements.
- Trustless: parties don’t need to trust each other in order to transact. Their business relationship can be regulated by smart contracts. The processes can be designed to make fraud too expensive or impossible.
On using non-fungible tokens for property rights management, and as an example, real estate management:
It’s beyond insane. If you look at history bearer assets were axed for a reason. There is no way you’ll be able to tie house ownership to a stupid token and trade it seamlessly. Idk about your law but in my jurisdiction transaction involving change in real estate ownership requires notary presence and drawing a special act. All changes to the property ownership status are recorded in court archives. It’s simply incompatible with our laws and the reasons behind those laws were enacted in the first place. Imagine you have your house ownership tied to some private keys and some script kiddie in China steals your house tokens with shitty malware. What then mr high octane invincible macho man? Idk what kind of people actually want this.
Guys, it’s just stupid to assume that your house ownership would possibly depend on a single private key. A lot of work needs to be done before any kind of digital certificate would be accepted by the legal system as proof of ownership. A lot of design effort has to be done before digitalization of real estate takes place. But what we have today is a software platform that allows building such solutions. Think of it as a public, auditable registry. How the security and legal system need to be built around it, is not a matter of a blog article.
what if the tool in question is terribly inefficient? is it maybe worth doing something else?
It is actually pretty efficient and scalable. It‘s not POW, so it only requires as much CPU power as needed to execute the code and maintain the network integrity. It doesn’t require a huge amount of server hardware, and you add the hardware according to business needs. A minimal setup of 5 nodes would be sufficient for many applications.
How is this any different from Git?
The only thing that Git guarantees, is that the sequence of revisions is maintained in proper order. It can detect if the dataset or history of commits is corrupted. It supports PGP signing and signature validation for commits and tags. But out-of-the-box Git does not allow you to enforce PGP signing for every commit. Github does it as an add-on on top of Git. SSH validates the committer’s identity, but it does not reflect that in Git. Also Git allows any arbitrary timestamp that you decide to use for your commit header. Also Git does not allow concurrent and distributed access and automatic real-time synchronization.
Blockchains don’t prevent people putting garbage in on their own
Every software application that deals with human input has to deal with garbage and validate the input. Blockchain is nothing different in this sense. Smart contracts can be made to verify the input consistency. Also the application can only permit input from privileged users who are responsible for their data input. Blockchain is just one more software tool, it’s not a solution for everything.
Timestamping, just record some event and store it in an encrypted database. SQL that shit. 10,000x the performance of a blockchain and much more secure. Blockchain is only secure if you perpetually waste more resources than the criminals. Server is secure using location and trust. Many orders of magnitude more secure and efficient.
EOSIO is that encrypted database. It doesn’t need wasting resources. It doesn’t even have to be public. Design your solutions according to demands and tools available.
There was also a comment that 5k transactions per second is slow. Alright, go build a multi-master intercontinental database cluster and check how many transactions per second you can make.