The last proof of mechanism we’ll explore is Proof of Authority. Like the previous example, this one leverages a conceptual model that should be immediately familiar to any student of corporate governance. You “earn” the right to write the next block in a Proof of Authority model because your peers, the other nodes in the network, know who you are. And in knowing you, they trust the decisions you make implicitly.
That implicit trust makes Proof of Authority networks very efficient, but it places a massive incentive on the nodes of the network to really know who someone is before promoting them to be a fully fledged node in the network. Returning back to the workplace metaphor, think of how much time and effort your organization puts into making good hiring decisions. You interview candidates, sometimes multiple times, do a background check, check references, etc etc. All in hopes of knowing who this person is and what kind of decisions they’ll make if hired. The more consequential the decisions they’ll be allowed to make, the more effort you put in to assuring that you’ve found the right candidate.
Luckily, in a Proof of Authority blockchain network, knowing who a node is can be both easier and have a higher degree of certainty than we typically have in our hiring process. Microsoft’s Coco Framework is an example of a solution that enables enterprises to develop blockchain solutions wherein the nodes of the network can deeply know and trust the other members. In a Coco Framework based solution, that trust, the Proof of Authority, is built on the foundation of Trusted Execution Environments (TEE).
A TEE in Coco can use Intel’s SGX or Windows Virtual Secure Mode to create a computing environment in which every member can be sure that every other member is running the same code. If you know that every any candidate node is running the same code as the existing nodes, the existing nodes can be sure that the candidate node would make the same decision they would make for any given situation. Think back to the hiring example. Being able to know that a potential employee will react in a predictable manner to a given a set of circumstances is key part of what every hiring manager is after. People aren’t machines that can be known to run the same code, but in hiring we are often seeking to understand if a candidate will be a good fit for our cultural. Cultural is the software that humans run, but it’s hard to know if that software is a fit from candidate to candidate.
In a TEE environment, we don’t have to go through an extensive selection process to ensure that a candidate node shares the same culture as the other node. The TEE provides a secure enclave in which to run the core of the blockchain network. Inside the enclave, the data and code are protected from direct outside inspection and intervention, but also, critically, the TEE provides for cryptographically secured attestation of the code running in the environment. Through the attestation process, every node of the network can know that every transaction completed by every other node of the network is completed in exactly the same way, with exactly the same results that they would have achieved. Because of this, each member can implicitly trust the actions of every other node.
With implicit trust, comes great speed once the network is established. For many enterprise use cases, throughput and efficiency will be be critical requirements. A Proof of Authority based network provides these attributes. While these networks have higher startup costs – establishing the TEEs requires specific hardware and software – those are startup costs that enterprises will often be able to amortize over many transactions. In addition, for enterprises that choose to use Microsoft’s Coco Framework to establish a Proof of Authority based network, they’ll also gain the ability to establish the kind of network management models that enterprises are used to through constitutions that will govern the entrance of new nodes to the network.
Hopefully this exploration of proof of methods has help you gain some insight into the underlying requirements that would drive any application of blockchain in your organization. Review the previous blockchain blogs: