Team Saturn has always cared about fellow blockchain developers. Our Saturn Wallet is one of the best choices for using dapps. With Saturn Wallet developer mode core developers and dapp developers have the convenient option for testing their work integrated right into their favorite wallet.
Not only that, but we are also adding support for Custom RPC right into the wallet as well, so those of you who run a full node can use it with Saturn Wallet. This is helpful to both power users who want to have full control over which chain rules they support, as well as for dapp developers testing user experience of their product on local, single person test networks.
Let's talk more about the necessity for this upgrade and why it has huge implications for dapp developers.
What is Goerli and Kotti
- Goerli and Kotti - Cross Client Ethereum Testnets
- Benefits of multiple client implementations
- Testnets help developers validate security of upgrades
- Proof of work vs Proof of Authority testnets
- Goerli and Kotti to the rescue
Goerli and Kotti - Cross Client Ethereum Testnets
One of the signs of healthy and vibrant decentralized ecosystem is the presence of multiple software clients for it. For example, a niche coin like Nano can only afford to spend resources to maintain one version of node software, and centralized coins like XRP or Hedera Hashgraph prevent developers from coming up with alternative implementations. In case of larger coins, however, this is simply not true, with Bitcoin, Bitcoin Cash, Ethereum and Ethereum Classic having multiple implementations of the core protocol. This presents a great advantage for resiliency of the ecosystem.
Benefits of multiple client implementations
First of all, it isolates funding. Typically, every blockchain node project has its own team of developers with independent source of funding. In case something goes wrong with one of the projects, the ecosystem at large stays unaffected. For example, recently IOHK pulled funding for the Mantis client - but Multi Geth and Parity clients kept the ETC ecosystem alive and have committed to supporting the upcoming Agharta and Atzlan hard forks.
Second, it forces best practices for protocol development to be adopted. It is no secret that creating a landing page, a mobile game, a NASA rover and a cryptocurrency require different sets of skills and different techniques. The challenge of building a decentralized protocol is to keep decision making decentralized and have the ecosystem follow rough consensus. If there is only one core dev team it may decide to start to cut corners when developing the specs for the cryptocurrency protocol, preventing new teams from joining. Having multiple teams helps uphold the strict upgrade procedures - e.g. BIP for Bitcoin, EIP for Ethereum, ECIP for Ethereum Classic.
Third, running multiple independent node implementations helps power users secure their funds. While for most cryptocurrency users using a light client is totally fine, big users like centralized exchanges, digital custody providers like Fidelity, and investment funds like Grayscale may benefit from running all three nodes. This adds additional redundancy. In case the protocol is designed correctly, but the code implementation of the protocol contains a nasty bug (that would e.g. accept invalid transactions or shut down the node), such heavy user will be isolated from the consequences of this bug.
Testnets help developers validate security of upgrades
Making new changes and rushing them out the door to production, where it might affect billions of dollars of users' savings, would be irresponsible. Typically, core developers upgrade a testnet to use the new rules and test how the hard fork would work there. If everything works fine the upgrade gets proposed for mainnet inclusion.
So while dapp developers would typically rely on local single-user private testnets for testing their dapps during development, core protocol developers require public testnets for testing hard forks and protocol upgrades.
Proof of work vs Proof of Authority testnets
The first generation of testnets ran the same consensus algorithm as the main chain - proof of work. The downside of doing that is that there is no economic incentive on a testnet, so it both gets expensive and wasteful to run such a testnet, as well as opens up the testnet to nasty and cheap attacks by trolls or competitors.
As we have covered in one of our previous blogposts where we discussed JP Morgan's Quorum blockchain, proof of authority is a better alternative for a testnet. It doesn't provide as much immutability, uncensorability and security as proof of work, but it is a perfect fit for a testnet.
Unfortunately, for historical reasons every client had their own version of proof of authority implementation that were not compatible with each other, and thus made running multi-client testnets and verifying hard fork correctness on a public testnet all but impossible.
Goerli and Kotti to the rescue
Goerli and Kotti were created by a group of blockchain experts from Berlin that call themselves Department of Decentralization. With funding provided by Ethereum Classic Cooperative, they have written modifications for every major Ethereum and Ethereum Classic client to support a standardized proof of authority testnet, and have committed to maintaining these networks.
Today, both of these networks are quickly becoming the leaders in Ethereum testnet world. Goerli is now extensively used for testing the upcoming Istanbul hard fork for Ethereum network. Kotti is the first proof of authority ETC testnet and is being used for Gitcoin bounties commissioned by ETC Labs. And both are accessible via Saturn Wallet.
Future is bright!
Learn More about Saturn Network