If you have been following our blog posts over the last year, you likely noticed we have been thinking about applications for blockchains (or Distributed Ledger Technologies as we now prefer to call them). My colleague Petr Peterka wrote about the applications of building decentralized trust and Brad Ree covered verifying IoT devices.
We did initially focus on the existing Ethereum DLT implementation, hoping to re-use proven security and scalability. However, the existing public chain can be expensive to participate in scale, and transaction performance is variable and while these items will improve, we can’t expect that improvement will focused on our use cases.
Another option we considered is running a separate Ethereum chain (private Ethereum), but here we would run the risk of it being taken over by a single strong miner. Also, if transactions are cheap, malicious users are able to spam the ledger or store illegal information.
Time will tell how relevant these concerns are, but for now, permissioned implementations seem to be favored by many enterprise users. Permissions are implemented in different variations as e.g. supported by the Hyperledger effort or Enterprise Ethereum Alliance. They manage permissions often by limiting network access to the ledger, may be suited for use cases with few participants but not for applications that aim to provide public verification and distribution of the data.
These limitations led us to create a DLT tailored for our use case with a focus on open read and controlled write. We applied slight variations to Ethereum to restrict write access and added proof of authority. These changes limit the usage risks and, at the same time, maintain important blockchain features like permanence, public verification without the need to introduce a central administration.
Authority for closing blocks (mining) is given to so-called Guardians. They govern the main use cases and regulate themselves by voting on membership. This allows for decentralized decision about the right applications on the ledger that contribute to its security and scale, as decided by the majority of Guardians.
Smart contracts can only be created by Guardians and they come with a whitelists of contributors that are allowed to write to them. Access to reading of the ledger, verification of transactions and running nodes to improve availability is unrestricted and public.
The Guardians control the different ledger applications and validate transactions. They determine contributors and the resulting ledger is public.
We initially developed this concept with the compliance ledger use-case in mind, where Guardians are compliance organizations who use smart contracts to publish device certifications and enable manufacturers to contribute information about these devices like firmware updates and traffic patterns.
Though, we have found through conversations that the open read and controlled write functionality fits several other enterprise use cases and have launched the concept as an open source project that shares the DLT code consisting of an Ethereum modification as well as documentation and information about applications running on the ledger. We are hoping to collaborate with others interested in this DLT variation and its applications and have just created a new site dedicated to this project at veriteem.com. We are looking forward to collaborations with other contributors.