You may have heard a lot of talk from the DFINITY Foundation about ICP's signature Chain Key technology. Then again, maybe you haven't. But whether you've heard about Chain Key or not, count yourself a privileged member of an exclusive club if you understand what it means. The term is tossed around a lot but rarely in a way that engages popular audiences. Working together though, we can help change that. I'm going to do my very best to ensure that you not only understand Chain Key cryptography, but that you can also explain it to your friends.
Let's get started!
Chain Key Cryptography Basics
Chain Key technology refers to a set of cryptographic protocols that orchestrate the nodes that make up the Internet Computer. That probably doesn't mean anything to you right now, but trust me, it will. First, we need to zoom out and overview how computer code and software work on the Internet Computer.
Canisters and Subnets
On the Internet Computer, canisters (similar to smart contracts on most blockchains) contain a computer program's code, its relevant history, and its current state. Copies of these canisters are stored on interconnected nodes - independently owned and controlled peer computers - that form a blockchain or subnet of the Internet Computer. Altogether, the Internet Computer currently has 35 of these blockchain subnets. Each node on a subnet contains copies of all software canisters on the subnet. That may seem like overkill, but it's redundant and decentralized by design to ensure security and continuity.
Considered individually apart from a blockchain, each node has the potential to be a single point of failure. After all, a node could fall victim to a hardware malfunction, it could lose connection with the Internet for whatever reason, or, in the worst case scenario, it could become compromised and begin to report false information. Blockchain decentralization is paramount to defending against hackers, natural disasters, and unexpected user changes to the network. When you combine enough nodes together, each with copies of each others canisters, it doesn't matter if a few of them get destroyed - the information survives elsewhere.
Queries, Updates, and Node Consensus
Now, when it comes to canisters, you can do two things: (1) query the canister's historical or current state; or (2) update or change the canister's current state. The first task is quick and relatively painless, unless of course you want to certify the result across the rest of the subnet and make sure the other copies of the canister agree with each other. The second task is far trickier. On most modern blockchains, at least two-thirds of a subnet's nodes must agree on the outcome of your requested change to a node's contents and sign off on it using their individual secret key shares of the subnet’s public key. Furthermore, three-fourths of the subnet's nodes secret key shares are needed to produce the subnet's public key.
The need for consensus among nodes is why blockchains like Ethereum take a comparatively long time to process transactions. On blockchains like Ethereum, there is no common validation mechanism to which all nodes can refer. Instead, the nodes on Ethereum cross-validate data in a decentralized manner, which can involve processing hundreds of gigabytes of data for a single transaction.
The genius of the Internet Computer is that it uses a single 48-byte public chain key for each subnet, assigned along with a validation certificate by the Network Nervous System (NNS) - the central command subnet of the Internet Computer that has its own public key. Thus, rather than engaging in costly cross-validation, nodes on the Internet Computer can simply validate results against the public key of the NNS.
Want more details? Go deeper with DFINITY's video series on ICP technology.
What about Chain Key TX?
On October 13, 2022, Dominic Williams announced an extension of existing Chain Key technology. Chain Key TX will empower canisters to create signed transactions for other blockchains to execute. For example, an Internet Computer canister will be able to create a public key that represents an Ethereum Externally-owned Account (EOA), opening the way for crypto transactions and invocations of Ethereum smart contracts. Internet Computer canisters will serve as a kind of invisible glue that can join multiple blockchains. This will ultimately remove the need for bridges between blockchains, such as Terabethia.
Summarizing Chain Key Technology
Thanks to the Internet Computer's Chain Key technology, the public key of NNS is sufficient to validate any query response or update request. Without Chain Key cryptography, the Internet Computer wouldn't exist. Chain Key TX is simply the next step in extending this cryptographic innovation to other crypto ecosystems.
Chain Key technology is the unsung hero of the Web3 revolution, and it deserves to be better understood by the countless people who benefit from it every day. So please spread the word!