Development

Github metrics:

Dev update:

Cosmos SDK

Gaia

Tendermint Core

Inter-Blockchain Communication

Non-core repos

In a move that could compromise ethereum’s long-held dominance as the world’s top platform for smart-contract development, blockchain interoperability project Cosmos will offer users the choice to code in at least three different programming languages.

The first language to be supported on Cosmos is called Ethermint, a direct replica of ethereum’s smart contract language Solidity. Aimed at making it easier for ethereum developers to port their applications to the Cosmos network, the Ethermint project has been in the works since as early as 2016, said Zaki Manian of Tendermint, the company that built Cosmos.

The second coding language, called Secure EcmaScript (SES), is a version of JavaScript built for secure smart contract deployment by blockchain startup Agoric. Once the native Cosmos Inter-Blockchain Communication (IBC) protocol is fleshed out, the Agoric blockchain and its SES programming language will be easily accessible to Cosmos users, said Agoric CEO Dean Tribble.

Last but not least, JP Morgan blockchain spin-off Kadena announced Tuesday it too would be building a version of its native smart-contract language, Pact, for the Cosmos ecosystem. Its entrant to the Cosmos coding arms race is called Kadenamint.

“We’re committing to getting an industry-level smart contract language on [Cosmos] to give developers more deployment choices,” Kadena founder Stuart Popejoy told CoinDesk.

According to Popejoy, the comparative strengths of Kadenamint outperform that of Ethermint in every way.

“We see Pact as the standard for smart contract languages because Pact is just better than Solidity,” Popejoy said, adding:

In all fairness, ethereum developers are well aware of the limitations of Solidity and the virtual machine built to execute Solidity’s code. Called eWASM, the next major ethereum upgrade dubbed ethereum 2.0 will replace ethereum’s virtual machine and enable developers to code in multiple different programming languages.

Even so, Popejoy remained skeptical about eWASM and ethereum 2.0 saying the criticisms of ethereum’s virtual machine and Solidity “could have been addressed a long time ago” but weren’t — due to poor leadership.

“I wouldn’t consider them competitors but as it is, I consider them legacy,” said Popejoy about ethereum. “They did a good job in getting smart contracts out there and getting people thinking about it but that’s going to be a footnote.”

New competition

The new competitors differ from Solidity by placing a stronger emphasis on security as opposed to immutability and unstoppability.

“We’re building a platform with a security model that normal developers can understand,” said Agoric’s Tribble. “To us, the biggest problem with ethereum and Solidity is they have the wrong security model. Even security experts can’t get it right.”

Unlike Solidity, both Pact and SES employ an object-capability security model. This means that permissions in a smart contract can be dynamically and rapidly updated to give users access to different parts of application data in a safe way.

Tribble describes the model similar to being able to give your car keys over to a valet without also handing over the rights to car ownership.

Said Tribble:

In Tribble’s view, porting object-capability security to smart contracts is the kind of innovation that will signal to the rest of the mainstream developer community that the blockchain industry is ready for mass adoption.

“For mainstream folks, having people that are addressing different parts of the market and visibly overlapping as competitors is actually healthy,” said Tribble. “That means there’s a real market.”

From the perspective of Manian, Cosmos is the ecosystem that can support and host this fast-growing market for smart contracts and decentralized application development. At the same time, he warns that in his view, Cosmos will not and simply cannot replace ethereum entirely because ethereum is much more than a technology.

“Ethereum is so much more than software. Ethereum, the ethereum community, the users of the ethereum blockchain, the faith people have in the core developers. All of that is wrapped up into one thing and that is the ethereum user experience,” Manian said, adding:

“We’re just creating new developer possibilities.”

Upcoming Features

>> IBC Support — The ICS process has been in full swing for a couple of months and has just delivered the 1.0 version of the specifications and a working implementation is under active development. There are some changes to both Tendermint and the SDK, especially around the lite client implementation that will be required for support. The release will add the ability for other chains to connect via IBC to the hub.

>> No Downtime State Machine Upgrades for Gaia — Aaron from the Regen Networks team has been working on an implementation of on-chain upgrades. They will be working with them to incorporate those changes into the Cosmos SDK and the hub. The reproducible builds and module refactor work are key to enabling an approach to this feature.

>> Subkeys — This feature will allow the creation of “subkeys” that have a subset of permissions for a given chain. Sunny Aggarwal kicked off the conversation with an initial specification. This work was picked up by B-Harvest and Aaron Craelius from the Regen team who have been working on a complete spec and implementation.

>> Amino Protobuf Compatibility — Work to make amino (their encoding format) fully protobuf compatible is wrapping up. Once that is complete they will provide canonical .proto files for each type encoded in the SDK and Tendermint. This will allow for much easier interactions from a client perspective when working with lite client proofs and transactions.

>> Income Reporting — With the upgraded events system and the addition of height queries the creation of detailed income reports for validators based on on-chain data is now trivial. They will include a version of this for validators in their standard tooling in an effort to ease reporting.

>> New Modules — Work is currently being done on a number of modules. The most exciting example is the WASM module that was started during HackAtom Berlin and is being completed by that team, courtesy of an ICF grant for this work. Also in the works are a uniswap style exchange module, an NFT module, and an EVM module, both of which are under active development.

>> You can track the development of these and other features in the next SDK Milestone — v0.37.0.

Governance

Proposals

Discussions to follow