AdEx Protocol Update: Ethereum, Cosmos and Polkadot Implementations
Back in 2017, we set out to expand on what we’ve developed (The AdEx dapp). Our goal was to develop a set of primitives for transparent and decentralized digital advertising, under the name of AdEx Protocol.
As you probably already know, some parts of AdEx are built on blockchain technology, and so far this has been Ethereum.
Ethereum is, and will continue being the backbone on which the AdEx dApp runs. The community is undeniably amazing, Ethereum 2.0 will bring sharding and eWASM, and we have a ton of reasons to be excited about. Check out the implementation of the AdEx Protocol on Ethereum here: https://github.com/AmbireTech/adex-protocol-eth
However, we are constantly experimenting and exploring technological alternatives.
What we’re most excited about is interoperability and application-specific chains, sometimes called dAppchains. We believe that application-specific chains are great, because they provide horizontal scalability in a very natural way, and give us more flexibility, which in turn allows for better UX. To keep this brief, we will explore the benefits of application-specific chains later with a follow-up post.
The projects we’re particularly excited about are Cosmos and Polkadot, which are both very similar, but offer different tradeoffs. Both of them are built on innovative consensus mechanisms, namely Tendermint and GRANDPA. We will further explore the similarities and differences between the two in another follow-up post.
But now, the actual announcement…
We started building an implementation of the AdEx Protocol on Cosmos, and we’re almost done: https://github.com/AmbireTech/adex-protocol-cosmos
In this repository, you can find a full implementation of on-chain parts of the AdEx Protocol, namely the OCEAN implementation that allows an advertiser to commit on-chain that upon certain ad goals, they will pay out a certain reward to a publisher.
We started building the Polkadot (actually, Substrate, which is the framework behind Polkadot) implementation as well, and it will appear on GitHub as soon as there’s something that works.
But wait, does this mean you’re migrating away from Ethereum?
Short answer: No.
Long answer: AdEx is a blockchain-agnostic project, we may implement the protocol in any technology we think is worth it. We also believe in a future where most blockchains are interoperable with each other.
Most likely, we are going to continue supporting the Ethereum, Cosmos and Polkadot implementations, and let the community dictate which one of those is our dApp running on. For now, and for the foreseeable future, this will be Ethereum.
Considering Cosmos and Polkadot are so similar, why #BUIDL on both?
As we previously mentioned, both offer different tradeoffs. For example, Cosmos provides a convenient SDK for developing dAppchains, and is further ahead in terms of development, while Polkadot offers more powerful inter-blockchain communication and a shared security model, where application-specific chains can benefit from the security of more general-purpose hub chains (also called relay chains).
In other words, to put it directly, we’re excited about both and want to get our hands dirty. It’s not really that much of an extra effort, given how simple the on-chain part of AdEx is.
- Publishing a series of step-by-step guides on how to create your own dAppchain on both Cosmos and Polkadot (Substrate)
- Releasing the source code of the Polkadot (Substrate) implementation
- Launching a testnet for both
- Improving both implementations: tooling, JS libs, CLI, etc.