The advent of bitcoin has introduced the world to a new class of decentralized networks. Referred to as “consensus networks”, such systems, as bitcoin’s and Ethereum’s blockchain, deploy highly distributed volunteer-run networks to implement public rules that are responsible for managing access to various resources. Bitcoin’s network utilizes consensus to apply monetary transaction rules. Nevertheless, more recently consensus based systems have been proposed for a wide range of applications including identity management and classified data management in distributed systems. There are two main benefits for using consensus based networks which are:
1. Public consensus networks are volunteer-run networks that are inexpensive to setup and readily available, so deployment of expensive hardware is not needed.
2. These networks are highly secure and an attacker would have to utilize an enormous amount of computational resources to comprise such networks, if ever.
A recently published paper examined the problem of usage of public consensus networks, such as bitcoin and Ethereum, to undergo cryptographic functionalities which involve manipulating secret data such as cryptographic access controls. A hybrid paradigm is considered throughout which a secure client side functionality is responsible for management of cryptographic secrets and an online consensus network undergoes the public computation processes. Via this, the authors of the paper delved into the constructive and possible destructive consequences of such systems. They first showed that this combination permits building of stateful interactive functionalities, such as general computation via a stateless client side functionality, that can be deployed via means of inexpensive hardware or cryptographic functionalities e.g. Witness Encryption. They also presented several practical applications including rate limited mandatory logging, powerful encrypted backups for otherwise weak passwords; enforcing fairness amongst multi-party computation, as well as destructive applications including autonomous ransomware, which permits transactions without having to deal with an online party.
Despite the fact that public consensus networks permit the execution of arbitrary user defined scripts, or smart contracts, these networks are of limited usefulness in some interactive cryptographic protocols. Mainly, public consensus networks do not permit secure storage and operation of secret data e.g. cryptographic keys. Even though, theoretically speaking, it is possible to modify these networks to provide secret storage, yet practically speaking, this is rather challenging. As it would necessitate either placing a large amount of trust in a small group of reliable nodes, or creating new protocols to manage multiparty computation as well as proactive secret sharing.
The Custodian Contract Interaction:
The work we’re reviewing took a step towards utilizing public consensus networks in the management of secret data. The work is pillared on a novel paradigm that the authors of the paper referred to as “Custodian Contract interaction”, which is illustrated in the below figure. This paradigm divides a given interactive secret computation process into a protocol that manages communications between two parties:
a. A Custodian: which manages secrets in a highly secure manner.
b. A Contract: which guarantees implementation of the rules of the consensus across a public network
The Custodian could be deployed via means of tamper resistant hardware or cryptographic concealment techniques. The Contract is deployed via means of a public consensus network. As shown in the below figure, a possible adversarial user can facilitate communication between the Contract and Custodian.
This has several powerful implications. Firstly, through presenting the Contract on a public consensus network, which is computationally supported e.g. a smart contract platform that utilizes proof-of-work (PoW) blockchains to reach consensus, we obtain a way for the Custodian to verify the authenticity of decision taken through the consensus network. Within this context, the Custodian functionality can validate a fragment of the blockchain, using modest computational resources, to ensure that it is the legitimate output of the consensus. Given the fact that the public consensus network usually possesses much more computational power than any potential adversarial user, this guarantees authentication of interactions taking place between the Custodian and the Contract. This will still be valid even when the adversarial user, provides the channel of communication between the Custodian and the Contract.
Also, using a combination of a Contract and a Custodian can yield properties that cannot be achieved via means of trusted hardware only. Interacting with a Contract offers the ability to customize some secret calculations on certain public actions executed on the public consensus network. Particularly, this permits conditioning of decryption procedures on the publication of some messages, including cryptocurrency payments made to certain parties across the network. This will enable a myriad of practical applications including device revocation, enforced file access logging and even selling secrets for cryptocurrency payments!
In hackers’ hands, this aids in the formulation of autonomous ransomware which operates in a verifiable manner without having to deal with any C&C (command and control) or secret distribution center.