Open Source, but Private
November 02, 2020
We’ve written before on the best use cases for Corda, and we wanted to make a case for why developers should think about building decentralized for the future with three intuitive arguments you can share with someone.
- Privacy
- Consensus
- Governance
Privacy for Transactions
Most blockchain systems you’ve probably used are public, which means every transaction is published to every participant on the network. There’s some necessary privacy in place since most of the time, network participants’ identities are private, but the participants themselves can be identified and tracked. [1] However, the original blockchain model of publishing transactions for all participants isn’t feasible for every use case.
Corda provides a transparent model where objects of value and relevant transactions are only shared with the parties that need to know about the transaction. And with new membership attestation features, certain kinds of nodes can’t even be reached thanks to very granular control.
Lack of Clear Consensus
In many public blockchains, it’s actually possible that after a transaction is made that it could end up being rejected.[2] The common hypotheticals of using a large number of computers to create fraudulent transactions are possible, and it’s more likely to happen on smaller and less popular blockchains if network maintainers aren’t careful. [3] If a sophisticated attacker was able and willing to provision enough machines than these 51% attacks could potentially destroy the value of a smaller or more obscure public chain once data its integrity is compromised.
But it’s not just the obscure hypotheticals that can result in a transaction chain getting rejected after a while. It can happen to anyone.[4]
If you’re running a Corda network yourself, you don’t have to worry about this problem in nearly the same way. Corda’s notaries allow you to pick your consensus algorithms depending on your specific use case, the legal system, or application requirements.
Because Corda networks only ever contain trusted participants from the outset anyway, you have a much higher level of confidence and a more effective means of dispute resolution, given you enter into agreements with these parties to deploy your network from the beginning. You won’t get blindsided by network outages or have your transactions slowed down the same way you can with public blockchains that can have all kinds of variability in the number of network participants and computing power.
Inconsistency of Governance
Many blockchains out there have a governance structure that you probably don’t get too many opportunities to think about. And yet, governance tends to be one of the most critical parts of the network. There are many debates in various public blockchains on how to govern the protocol and how to make changes to it. If you’re deploying or building an application on a public blockchain, you have to be aware of precisely what’s happening with these debates as you don’t control the chain. You have to be mindful of how the other participants in the blockchain network will behave around you.
Corda doesn’t come with these kinds of concerns. The power it offers you is that you deploy the blockchain yourself and determine the maintenance schedule. You can craft precisely when and how other parties can interact with the transactions and objects of value on your network. The flexibility this gives you can add immense value. Of course, this also means you’re responsible for downtime as well, so be aware of the trade you’re making.
Making a Decision
It’s incumbent on the developer to make sure what you’re building is right for the use case. We’ve seen the blockchain space mature a lot over the last couple of years, and Corda has evolved right along with it. Feel free to take a look at our new Corda 4.6 release and learn more about what we’re doing to make it the best private blockchain out there.
Happy Coding ~
Want to learn more about building awesome blockchain applications on Corda? Be sure to visit https://corda.net, check out our community page to learn how to connect with other Corda developers, and sign up for one of our newsletters for the latest updates.
— David Awad is a Developer Evangelist at R3, an enterprise blockchain software firm working with a global ecosystem of more than 350 participants across multiple industries from both the private and public sectors to develop on Corda, its open-source blockchain platform, and Corda Enterprise, a commercial version of Corda for enterprise usage.
Follow David on Twitter here.
- [1] — https://www.usenix.org/system/files/sec19-yousaf_0.pdf
- [2] — https://themerkle.com/why-is-my-bitcoin-transaction-rejected-by-a-network-node/
- [3] https://www.investopedia.com/terms/1/51-attack.asp
- [4] — https://support.blockchain.com/hc/en-us/articles/360018083772-Rejected-Transactions#:~:text=Too%20low%20of%20a%20fee,it%20will%20not%20successfully%20send.