This article is a perspective over the old TRUSTED and the very modern TRUSTLESS principles in designing software systems. The motivation to write this came to me after a fresh and very exciting experience at Devcon 4 in 2018.
I’ve started to learn about blockchain in general and Ethereum into more detail in 2016. At that time, in different materials explaining the blockchain technology I have encountered for the first time the term trustless. This is a feature of a blockchain and partially for systems built upon it. Because of the great achievement of removing the central authority from the system, a user simply doesn’t have who to trust… But there is no need to!
Even if at that time I knew the functioning of peer-to-peer protocols, where the central authority may have totally lacked already, I discovered that blockchain is much more. Because of the universally accepted truth, built with consensus mechanisms, plus the ability of permanently retaining states.
It took me a while to make a mind shift and go understanding the further implications of the trustless concept into different systems.
This year, in Prague — huge work from the organizers, well organized, high quality talks, enthusiasm but spiced with realism, constructive approach, focus on technical contributions that result in public good and also novel business models, awesome food!
At Devcon 4 the trusted concept was much more present than expected, labeling various systems/ domains… like trusted compute/computing, trusted research etc. Trusted on many flyers, banners and t-shirts. And almost no trace of trustless.
A strong focus of the first and second round of Ethereum projects at Devcon 4 was education. Namely on UX and security while using Ethereum. The main goal is enlarging the pool of people embracing Ethereum.
I think that promoting ‘trustless’ should be added on our effort list, when spreading the values of blockchain to the World. It will require our energy, but in the long term it is worth for anyone motivated to use blockchain for its capacity of making things demonstrable.
People still keep clinging to ‘trust’ by reflex. Is it in our human nature?
It’s true (at the moment of writing) that trustless is a weak marketing word. People still keep clinging to trust. Early this summer (2018) I made a test and I told about ‘trustless systems’ to around 20 different people active in different IT domains, but none of them knew what trustless means. The only ones who understood directly were other people with a good understanding of the blockchain technology.
While for achieving the trust/trusted goal there is no reliable solution, for implementing trustless, there is one. Blockchain. This technology gives the user the ability to verify and get a proof for any piece of information within. In this way, end users can get rid of the costly trust, that they have relied on for so much time.
I also encountered crypto people that worked in the recent years on blockchain projects (in comm/marketing activities) and they were not fully aware of the ‘trustless’ concept. Some of them, at all!
I first introduced the trusted term to my parents when I explained them what we do on a blockchain project. Their first perception over the term was negative, associating the concept with “lack of trust”. After a few days of research on how blockchain technology is implementing trustless, they got the idea. A few months later, my father came up to me and said: trust is useful when you do not rely on arguments. Or proof.
Trust is useful when you do not rely on arguments
A trusted photo booth machine
I’ve met these awesome buddies at the dc iv. photo booth, facing a similar challenge of taking the photo and have it on email (by the machine itself ;-). The machine shooted, I entered my email address and finally pushed the ‘Send’ button. It reported success and I trusted it. A few hours later I still did not get the photo. My trust was shaken with every hour. Finally, when I got my photo I was happy — the proof itself was more assuring than any promise and trust commitment.
Needed to wear those fancy sunglasses just because the future of Ethereum is so bright that we couldn’t stand it 😎.
Chih-Cheng warmly recommended me the Ethereum All-Star Tech Talk from the Taipei Ethereum Meetup video, pointing to the speech of Phil Daian ( 🎥
Trusted and trustless in deep
Phil Daian is giving a very comprehensive talk on the trusted/trustless concepts, relatively to the blockchain systems, contradicting that blockchain systems are trustless. He starts with a list of things that we still need to trust, when dealing with blockchain systems, like: client developers, network availability, even the availability of the Internet itself, own computer etc.
This is true if we refer, at the same time, to really ALL components and resources of a blockchain system. From its development life cycle to its operation. But the need of trust from this perspective is perfectly valid, in a similar way for the rest of the non-blockchain systems.
Trustless — the functional perspective
However, we can also talk about a blockchain system strictly from the perspective of the functionality of a certain version of peer software (client) run by all network participants (like miners) of a blockchain system. In this case we can develop some of the components of our application (sitting on top of the blockchain) with a reduced (minimized) level of required trust.
This is possible if we use the blockchain systems to implement the verification of data in our application. So the end users will be able to verify, instead of trusting something that we, as (centralized) owners of the application, claim to have been performed by the application.
So from this purely functional perspective, although we still need to trust the dev team and other resources of the underlying blockchain system, we’ve built a set of trustless functionalities in our application.
Blockchain systems that we see today are ambitious and brave experiments that try to help us build applications where the end users do not need so much to rely on trust anymore. We are not there yet, so be confident, it’s only the beginning of a long process!
Hence, for a system designer, sitting in the stale area of trusted is a weak option. Sooner or later, this approach leads competitors on a market to enter an infinite loop of unscrupulous marketing slogans which are absolutely toxic for the end users. For this reason we see very often chest-thumping service providers, spreading unsubstantiated messages like “We are the most trusted […] provider”. So the battle is for them to attract customers by artificially creating the perception of the most trusted.
The Bitcoin and Satoshi perspective on trustless
Trustless referred to the functional dimension of the system. Nothing else.
In the Bitcoin paper Satoshi referred indirectly to trustless, by mentioning the weaknesses of the model in which trusted third parties are required for processing electronic payments. Also, a “cryptographic proof” is provided as solution, for two parties willing to transfer money, as an alternative to trust a trusted third party.
Then Satoshi provides a solution for solving the double spending problem without the need of a trusted third party. The approach is to make public all transactions and to keep a single history of the order of transactions.
When concluding the paper, again, the perspective is purely functional: “ We have proposed a system for electronic transactions without relying on trust.”.
In the e-mail launching the P2P electronic cash system, Satoshi again refers to the key functionality of the system, requiring “no trusted third party”.
In the long term, trusted will be the most costly and dangerous option for the end users of any kind of application. Sooner or later they may realize that they are trapped into a solution that works against them because they lack any means of verification.
At this time, the debate over the trusted and trustless concepts is debatable and very contradictory within the blockchain communities and the wide public. Because people have wider or narrower perspectives when assessing the trustless quality to a system.
However, blockchain technology is here to help us build systems in which the end users have confidence due to a built-in capacity of verifying relevant data, eliminating trusted parties.