Today I would like to share a bit of philosophical insight, thinking on the relation between blockchain and git. Not on the ongoing debate on whether git is a blockchain, but rather their significance.
So Open Source has evolved from a niche where some people decided they wanted to share their code and open it up for collaboration and an environment where this could be done in a trustful way, to the point where it is becoming mainstream even for the big companies we never thought would be interested. Central in this evolution are the roles of licenses (trust) and git (storage, collaboration, and traceability).
Now in a similar fashion, we see the rise of blockchain fulfill a similar role for a wide range of (smart) data with similar needs. We set up an environment where data can be shared and collaborated on, in a trustful way. Of course, the obvious difference is in the way we reach a consensus on the changes in the system. Where in open source the consensus is reached through the maintainers of a system, consensus in the blockchain is automated and decentralized.
From this point on I started wondering:
- Do we need full mining in all our use cases, or can a perhaps modified version of pull requests suffice on some?
- How awesome would it be to introduce Node as a modified version of the Ethereum virtual machine to create a repository with built-in compilation and delivery capabilities of your software?
- Would branches help in the scalability issues troubling many popular blockchains?
I believe there are many benefits if we don’t focus on the difference between these systems, but work on their similarities and learn from each other. I would like to invite you to share your ideas.