A simple consideration can be raised: If we have a system/platform for a certain business that is trustful enough between the parties then we need NOTHING else to support, like blockchain?
Thereby, a simple observation is that: blockchain will maximize its capabilities in businesses that lack trust. In addition to talking about blockchain, we often mention another term that is “decentralized”. Why should blockchain be decentralization? Actually, no one is claiming that the definition of blockchain is that it must be used in cases of trustless decentralization, however if we use blockchain in a usecase of centralization, like blockchain application in trusted centralization systems then we would rather centralize e.g. the database in a trusted system with an API isn’t better?. The problem is the centralization will gradually lead to permissioning and permissioning could lead to negative consequences such as monopoly, dictatorship, loss of personal security, etc. This we will slowly unravel later. Since synchronizing a local read-only database will be much cheaper than blockchain application, therefore it is easy to see that blockchain will bring into play its full concept if we look at it from the perspective of trustless decentralization. And to put it more stubbornly, blockchain would not be blockchain if it was not trustless decentralization.
So what does this mean? It means we need to implement the concept of blockchain as a decentralized form and it is to be served in the trustless environment. Bitcoin is one of the prime examples. Before rambling further, I think we need to clarify the concept of “trustless”.
What is “trustless”?
In the present life, there is a clear trend like this: Power is used to acquire power. That is, the more power you have, the more power you are likely to have. Like in feudal times happened almost in Asia countries, when you were king, you had absolute, almighty power. There was nothing so-called “personal right of citizen” when standing in front of the king. In a nutshell, right will produce power. And the concept “trustlessness” was born to oppose the concentration of authority. Again, What does that mean? For instance, the government based on its power requires you to obey the rules even though the government is made up of elected people. It is imperative, therefore people must trust all services, money, etc. that the government brings if they do not want to go to jail. This happens in all governments and people from all countries. However, “trustlessness” is a world in which we are not forced to trust the above things. In this world, a department in government would have to show the confidence to the people before the people put their faith in it. Even if we don’t believe in them from very beginning, we can still work with them and through that we can start to gradually put faith in it in the future. “Trustlessness” simply says that “I can work with you without having to trust you”. Centralization — is a manifestation of the centralization of power. Once power is put in a place, a center, a position, the power “traders” will take advantage of it to manage certain purchases.
Thereby, we see that, “trustlessness” will create a world / environment in which no one forces anyone to trust each other, but they can still trade back and forth. There, power is not concentrated, but dispersed and everyone participating is equal in some way.
Trustless virtual decentralization?
Okay, from now on we go to look at blockchain under the concept of trustless decentralization. So how do we build a trustless virtual decentralization? I use the word “virtual” because obviously all transactions take place using cryptocurrency — we call it “money”. The world of cryptocurrencies is a virtual world, but the ledger stored at the nodes is the real world, clearly visible at the nodes. Therefore, we need a method, protocol to connect this virtual world with the real world, how this virtual currency can be traded and transactions are recorded in the ledger of each node in the real world? PoW (Proof of Work) is one such protocol. Why PoW and not PoS or other protocols?
Before answering this question, I think we need to reiterate the term “trustless” and the blockchain is “trustless virtual decentralization”. Because of “virtual”, one of the most important problems in the virtual world is the tracking of elapsed time. That is, how do we know the change of time in the virtual world, what basis do we believe in it? Why is that, because each transaction process takes time to authenticate, then assigns a new block to the blockchain. Both the authentication and use of virtual money are done in the virtual world. And in order to make people believe that these virtual world operations are performed flawlessly, reliably with no security problems, etc. then we must grasp the temporal variation of these processes. Can we trust a trusted clock system of type NTP? Hmm, your gaming friends will know that, some games like Diablo or something similar I used to play often, we used to hack the game. Actually, this hacking trick is essentially taking advantage of changing the system clock. Because each item will be referenced over time so at a specific time, there will be items falling off. Hackers simply hack that system clock up to a specified time and the item keeps dropping over and over again. Okay, but this is just a game, if the use of money in transactions is based on system clock then what happens?. There is a chance that a hacker like you will mess with your system clock causing someone who is your victim to not see some of the transactions. You can then declare that your virtual currency has not been spent while the rest of the world sees that the money has been transferred to your victim’s wallet and the goods will be delivered to you in the real world. With such tricks, you can buy a lot of goods from the real world.
Through it we see that, it is difficult to put trust in a trusted system clock to build a trustless virtual system. So what must we believe? We “can” believe in the laws of physics, namely thermodynamics. The second law of “ideal” thermodynamics is this: the entropy of a closed system can increase, but not decrease. From a certain perspective, the measurement of entropy is a way to distinguish the change of time between past and future. And this is exactly what PoW believes in. Simply because the consumption of energy increases entropy. We put this energy consumption into computation like CPU, RAM, etc. Then we see that the heat is radiated which is what increases entropy. This clearly demonstrates that, if blockchains use the PoW protocol, it will consume a lot of energy. The result of an authentication process (in bitcoin, for example) radiating a large amount of heat from resources (CPU, RAM, etc.) forms a proof to how times change. PoW is a prominent example of the above proof.
So is Bitcoin a good example of the so-called trustless virtual decentralization? What about other blockchain platforms, they even provide smart contracts besides coins for transactions? Ethereum for public or Hyperledger for private for example?
From my narrow personal point of view, I think that bitcoin is the best proxy for trustless virtual decentralization, the current strongest representation for the blockchain concept. What about the future of Ethereum, Hyperledger? Personally, I have some ideas like this about Ethereum first, then will Hyperledger.
Ethereum aka E/// (Not Ericsson):
In general, I really respect the Russian developers, they are awesome. One of my former colleague is also a Russian and i was really lucky to work with him and he drinks beer and vodka like water. Okay, let’s get back to it, the founder of E/// is a Russian developer: Vitalik Buterin — a smart guy. However, there is nothing perfect in the world and it happens with E/// too. Some of the following comments that I think could be the weaknesses of E///:
- Large block size limit
- SCRIPT is CPU-bound Turing-complete
- Plan to move to using PoS instead of PoW
- Vitalik Buterin is the centralization in the development of E///
Large block size limit:
It is clear that E/// has been developed for 3 years (i wrote this blog in 2018), however the blockchain size has reached 1Tb. Whereas bitcoin was about 190Gb in the 9 years of its existence. Large block size leads to 2 consequences as follows:
- It is more difficult to synchronize E/// fullnode compared to Bitcoin fullnode. Therefore, in reality, most of the E/// projects are SPV (Simplified Payment Verification) instead.
- Miners need more connections to solve the problem of having too many transactions coming in (this is due to latency, not bandwidth). This can lead to reducing the number of miners creating the risk of someone reaching 51% of the hashpower to take full control of the E/// network. Obviously, this problem can lead to a higher probability of centralization, which has the consequences that I mentioned earlier about centralization.
CPU-bound Turing complete script:
This is quite a difficult problem. I think we can all agree that higher “flexibility” means a greater scope for the ability to have bugs. That is, the possibility of a bug in the system can occur in anywhere. Referring to the bug in E///, it is impossible not to mention a classic bug called “devops199” when he “accidentally” destroyed $300M virtual currency. E/// has the ability to represent a much larger range of computation than bitcoin, so it means that the scope for the possibility of bugs in E/// is also much larger. The devops199 crash is one such example.
However, a bug is an obvious thing in reality, nothing is perfect. However, the big problem is that the blockchain (Bitcoin, E //) implementations are tied to the consensus algorithm. It is consensus so it will have to span the entire blockchain network, not in a specific group or section in the blockchain network. And in a large computational entity like E/// when a bug is found, it’s almost impossible to patch when you commit your money to the network (the devops199 crash clearly shows this problem). If a similar bug is found, your money will simply be “lost”.
And of course, E/// has rollback to solve the above problems. However, the principle of E/// was originally “code is law” but after the rollback of E///, this rollback the expression of “Ethereum foundation is law”. That is, the implementation of E/// is in the hands of E/// Foundation — another “centralization”. In Bitcoin, the size of the script is smaller, the scope for bugs is lower. It is also easier to fix bugs in off-chain code (it uses on-chain code for enforcement, not execution) than to fix bugs in on-chain code. Offchain — simply means less user data is stored on-chain. This will make the blocksize smaller and privacy better. On the off-chain code issue, we will mention Lightning Network for Bitcoin later.
Through it we see that, Turing complete is not to show the “power” of computability, what a blockchain system needs is trust (especially in money). E/// is not showing credibility, while Bitcoin with the avoidance of Turing complete script is showing higher reliability.
Plan to use PoS instead of PoW:
In PoS, everything will have to be done in sequence, but the PoS does not have the ability to protect the rollback. For simplicity, those who join the network that have more stakes (basically, shares) have more ‘right to make decision’. Therefore, your transaction may not be carried out, money may not reach you and be rolled-back by a certain stakeholder because he is simply richer than you. Compared to PoW, rollback is very difficult, in fact almost impossible if you don’t own more than 50% of the hashrate.
PoS is something pretty bad, blockchain platforms using PoS token issuance or their ICO process will also present this problem. This is another form of so-called “centralization”.
Centralization in E // development revolves around Buterin:
Obviously, no one knows who SatoShi Nakamoto — the ancestor of Bitcoin is. It is possible that Satoshi is just a name, someone who is still contributing to the development of bitcoin and joining the bitcoin development community as a normal person. Satoshi is also an ordinary person, and of course he makes mistakes too. And what is the reality, a lot of Satoshi’s old vision in bitcoin development is no longer in use. Bitcoin now belongs to the community. But E/// is different, everything revolves around Buterin. This again shows “centralization”.
Okay, we’ve talked a lot about Bitcoin and E///. However, blockchain is a broad concept. Besides, referring to blockchain can not mention a good concept: Smart contract. A lot of people say that E/// or other public blockchains provide smart contracts so users can easily transact without the need for a third party to authenticate.
So what is a smart contract?
You will see a lot of definitions about smart contracts in the Internet. But I want to expand a little more. The appearance of a bank or online shopping platform in addition to helping you buy online, it also implies another meaning: As a service provider, I want to get money if I provide services to you. Let’s make things simple, if you provide a service to someone, you want to ENSURE that you will get paid when they use your service then you need a 3rd party to secure it, and smart contract simply means that. And activities like crowdfunding, ICO, DAO, etc. is simple like this: I want to be sure I get paid for my services. It means that if I am an ICO issuer, I promise I will develop this blockchain if you buy tokens because I will have capital, my blockchain development will be paid. It’s like venturing into startups. And indeed it is quite risky. But judging from the concept of blockchain, there is nothing like ICO, in another word, harshly that the ICO, DAO, something is not blockchain.
Besides, if you just need the so-called “smart contract” — which means “I will get money if you use my service”, the idea in the offchain is enough. That is, I just need to encrypt the result of a certain service, request an HTLC with encryption key, require payment by releasing that key, and that’s it. And what is HTLC, please search the internet offline. Besides, this whole process will not need to run on (on) the consensus layer but just run “on top” of the consensus layer. This is the offchain pattern.
And here, one of the cool things about the guarantee of mutual trust using smart contracts is this: Oracle problem. Its concept is here:
“An oracle is just a provider of data. An oracle gives smart contracts answers to questions about the world. In most cases, without an oracle supplying information, there would be no way for a smart contract to be able to know the things it needs to know in order to do its job.” — https://medium.com/@DelphiSystems/the-oracle-problem-856ccbdbd14f
Okay, as we can see, the smart contract will need a very reliable input source aka oracle solution. However, it is indeed difficult to build an oracle solution. Besides, real world interaction with virtual world is not too much. So if we use a smart contract without an oracle solution, the smart contract becomes meaningless. Simply, there are a lot of people out there who want to cheat on your money. So what we need is some way to create our own oracle solution, bring your information from the real world to the virtual world, and you can close unilateral transactions if you do not trust your partner anymore. In these aspects, the Lightning network has been developing. Overall, I think we can learn a little about the things that the thought of the Lightning network brings, which is quite interesting.
So, what about permissioned blockchain guys like hyperledgers? Is there any acting land? Personally, I think they are really potential. However, these guys will not consider the concept of “blockchain” in general, but the name blockchain it has is a slightly marketing. It is easy to understand that those who participate in the permissioned blockchain know each other, they will create “smart contracts” for each of their business. The application of “blockchain” here is merely a transparency of business information between parties only. Actually without it, the business still works normally, the contracts are still signed, the data is still stored somewhere, but the thing is that they are easily modified, input/output through each stage is not transparent, also needing 3rd party authentication, etc. So if we apply “blockchain” here with “smart contract”, it will minimize the risks for parties when participating in the business.
Therefore, the big companies in different businesses have been building “blockchain” platforms for their businesses. For example, Nokia has Sensing as a service — a platform that allows the purchase and sale of sensor data and it is currently a member of the hyperledger. However, as my previous blog said, building this “blockchain” is not difficult, but who dare to say, the person who builds these “blockchains” for you will not disclose your information: D.
Last but not least
In short, let’s make blockchain truly its blockchain — trustless decentralization. Whether it exists or not, we must see the acceptance of society with a common currency like Bitcoin. This is indeed difficult. The rest of the platforms that serve transparency in information, also known as permissioned blockchain, will flourish in the coming time.