NuCypher is a decentralized key management system that provides encryption and cryptographic access controls without reliance on a centralized service provider.
NuCypher is a decentralized key management system (KMS) that provides encryption and cryptographic access controls without reliance on a centralized service provider. NuCypher aims to provide a security infrastructure layer for decentralized applications (dApps) running on public blockchains, similar to the way web traffic is secured on the Internet. By removing the need for a trusted centralized key management service provider, NuCypher would provide the security infrastructure layer necessary for a variety of decentralized and centralized applications, such as those concerning online banking and electronic medical records.
NuCypher was co-founded in 2015 by MacLane Wilkinson, a software engineer and former investment banker, and Michael Egorov, a physicist and former LinkedIn infrastructure engineer. While working together to create ZeroDB, an end-to-end encrypted database, they came up with the idea for NuCypher. The project raised a $750K seed round while a member of the Summer 2016 Y Combinator class. At that time, NuCypher developed a proxy re-encryption-enabled security service for enterprise clients. They offer solutions for Hadoop data repositories and Kafka supported encrypted messaging, catered towards clients in the financial industry. A $4.4M token pre-sale was conducted in Fall 2017, during which approximately 30% of the initial tokens were sold.
Internet web traffic is secured through the use of HTTPS, an extension of the original HTTP that adds a layer of security. HTTPS utilizes Transport Layer Security (TLS) to create a secure connection between two parties over the open web. This ability to connect securely over the web enabled a variety of web applications that relied on sensitive information, such as online banking. In a similar fashion, NuCypher plans to enable the creation of distributed applications that require data to be kept private and encrypted at all times, positioning itself as a decentralized alternative to hardware security modules and cloud-hosted KMS solutions.
The NuCypher protocol uses a special version of public-key cryptography called proxy re-encryption. Proxy re-encryption expands upon basic public-key cryptography, making it easier to share encrypted information with any number of users, even if they are unknown in advance. Though it relies on a third party (the proxy), the framework is considered very secure, since private keys are never exposed to the proxy, meaning the proxy never has access to the underlying information and cannot compromise the keys.
NuCypher improves upon the basic proxy re-encryption design by replacing a centralized proxy with a decentralized network. Instead of a single centralized proxy that must always remain online, there are multiple re-encryption nodes providing robustness and additional security for the network. This is achieved through the use of split-key threshold re-encryption, whereby the re-encryption key is split across a designated number of nodes in the NuCypher network. Split-key proxy re-encryption makes collusion more difficult. If only a single node held the re-encryption key, a user could theoretically collude with that node and have the re-encryption key revealed to them prematurely, past the point of revocation, or at a reduced cost. By splitting the key among n nodes, the user would have to get a threshold number, m, of nodes to agree to collude.
To ensure the network remains operational, nodes are monitored for performance. At launch, the NuCypher network conducted relatively simple uptime monitoring, but has since implemented ‘challenge protocols’ to guard against malfunctioning nodes. In the ‘challenge protocol,’ a number of ‘fake’ re-encryption keys are created that are not associated with any private data. If a node were to cheat, a challenger would be able to present a proof and potentially be awarded that node’s collateral token deposit.
The NuCypher Token, NU, is a contribution token that gives owners the right to run a node in the NuCypher network. In order to act as a node, one must commit to staying available on the network for a minimum period of time while staking a sufficient amount of NU tokens as a bond via a smart contract. NU is solely used by nodes as a security deposit; staking nodes are compensated in ETH for providing re-encryption services and making themselves available to re-encrypt data. Users of the network will pay for re-encryption services with ETH, though NuCypher hopes to support stable coin denominated payments in the future. The staking of NU creates an economic incentive for nodes to behave correctly and ensure correctness of computation.
When the network fully launches—the alpha, Genesis, released Feb 2019—there will likely be minimal activity, and thus revenue, to fully incentivize nodes to remain on the network. Therefore, NuCypher plans on implementing an additional token reward schedule intended to subsidize nodes according to a yet to be published inflation schedule. This schedule will be reduced asymptotically over time, meaning that eventually the network will only be supported by network fees paid for re-encryption services.
NuCypher proposes to use a unique token distribution model known as a WorkLock, in which users escrow ETH in a smart contract to receive NuCypher tokens. Participants are able to freely move these tokens at will, but if they use them to contribute to the network by staking them to run a node, they are later able to withdraw their deposited ETH. If participants choose not to stake, their ETH is burned. The WorkLock is similar to an airdrop in that tokens have zero nominal cost, yet have an additional participation requirement. The NuCypher team does not raise funds through this method. In the NuCypher team’s view, this model will effectively distribute tokens to a technically-capable user base incentivized to operate the network and will dis-incentivize speculation in the early days of the network.