A new project called Coda is developing a cryptocurrency that will be able to remain decentralized at scale by compressing its blockchain so that users can run nodes in their browsers. Should Coda become a success, this could usher in a new area of decentralization and scalability for future cryptocurrency projects.
What is Coda?
The Coda Protocol refers to itself as “the first cryptocurrency protocol with a constant-sized blockchain,” that “compresses the entire blockchain into a tiny snapshot the size of a few tweets.”
That means that Coda should be able to process thousands of transactions per second while remaining highly decentralized as any client, including a smartphone, can be used to run a node to validate the blockchain.
Coda is being developed by 0(1) Labs, which managed to secure $3.5 million in funding in May 2018 from leading blockchain investors including MetaStable, Polychain Capital, Electric Capital, Naval Ravikant, Elad Gil, Linda Xie, and Fred Ehrsam, among others.
“Our relationships with our investors and advisors have been invaluable in getting Coda off the ground in building a great team and product. I think it’s hard to imagine doing so without their advice and help,” Coda’s CTO, Izaak Meckler, told BTCManager.
Coda’s “Succinct Blockchain”
Coda highlights cryptocurrencies’ scalability challenges as a significant hindrance to broader adoption and states that the tradeoff between scalability and decentralization is one of the reasons why existing digital currencies are not being adopted at a global level at the rate the community would like to see.
Coda’s solution to this challenge is to create a blockchain that anyone can verify using a smartphone, laptop or a desktop, without requiring substantially downloading bandwidth.
According to Coda’s whitepaper draft:
“Synchronizing the chain state with Coda requires receiving less than a megabyte of data, allowing devices like smartphones to securely perform transactions independent of how long the protocol has been running or how many transactions have been performed. Transactions on Coda can also be verified independent of their complexity, allowing complex computations on its blockchain without burdening the network.”
Coda’s lead developers Evan Shapiro, Izaak Meckler, Brad Cohn, and Brandon Kase are making this a reality by using recursive composition of zk-SNARKs in a novel way to compress the entire blockchain into what they refer to as a “succinct blockchain.”
A succinct blockchain only requires users to hold onto the current state of the of blockchain along with a SNARK that proves that there exists a blockchain that explains the current state. This makes the verification complexity of a succinct blockchain effectively independent of its chain length. That means that no matter how big the Coda blockchain gets, the cost to verify transactions remain constant and inexpensive for all users.
zk-SNARKS and the Coda Blockchain
Using zk-SNARKS a blockchain participant can prove the knowledge of a specific value without having to unveil the actual information. Therefore, a zero-knowledge proof can demonstrate knowledge of information (such as the validation of a block in a blockchain) without having to know the information (i.e., the transaction that is being processed).
The Code Protocol compresses its blockchain into a 1kb zk-SNARK proof that serves cryptographic evidence for the protocol’s state integrity. This proof is referred to as a “succinct blockchain” and replaces the gigabyte-long growing blockchain used in other decentralized digital currencies.
Currently, the Coda Protocol testnet sends a copy of this zk-SNARK live to a client in its users’ browsers, which use the SNARK to verify the state of the protocol. The zk-SNARK proof validates the entire protocol state in the same way that a data-heavy long blockchain would.
Once a client has the protocol state and a succinct blockchain to certify that state, the user can receive their account information with only a small amount of new data, which comes from a Merkle-path from the protocol’s state’s ledger hash.
The total size of the protocol state, the succinct blockchain, the Merkle-path, and the account information is only a few kilobytes, which means that the Coda protocol enables proof of the state of an account requiring only a small amount of data. This will enable Coda to become a highly scalable cryptocurrency that also comes with a high level of decentralization.
BTCManager reached out to Coda about its plans for the future. Coda CTO Izaak Meckler responded: “Our next major milestone is open-sourcing Coda. We’re planning on doing so in the next month or so and are excited to share what we’ve built with the crypto community.
After that, the next major milestone will be the beta testnet, which we plan to launch toward the end of this year. After that release, there will be a period of internal and external audits as we prepare for mainnet launch sometime in the first half of next year.”
“With Coda, we’re looking to reaffirm the promise of truly decentralized cryptocurrency. We want to set a new standard for decentralized verification for cryptocurrency and software in general, as well as address some of the scaling challenges of existing currencies. It’s important to us that the systems we build are sustainable in the long term and the face of widespread usage, especially when they’re used as stores of value,” he added.
Coda Protocol has launched its alpha testnet and is currently inviting people to join the private testnet.