Exploring Polkascan: The Multi-Chain Block Explorer
Polkadot is roughly 12 months from being delivered. As Polkadot approaches a feature-complete codebase, applications, services, and businesses can begin integrating with Polkadot. With Polkascan, we are one of the first independent service providers in the Polkadot ecosystem. This blog details our contribution to this great emerging ecosystem.
Polkascan.io is not just any block explorer, but a multi-chain explorer. Polkascan intends to make multi-chain data accessible and understandable. In the past few years we have worked with a number of blockchains and blockchain technologies and we have learned several important things along the way:
- A never-ending list of things is being put onto blockchains to service a never-ending list of applications.
- Blockchain client software allows for easy access to some types of data (Figure 1: pink section), but most of the useful pieces of information are really hard to get.
- More frequently, the pieces of information you need cannot be found in a single (blockchain) source.
When we say that Polkascan makes multi-chain data accessible and understandable we are talking about the entire spectrum of Figure 1 below.
We have identified a number of trends in blockchains and explorers that have guided us in our approach to building Polkascan:
- The future will consist of many blockchains, but there will be a consolidation of core blockchain technology frameworks.
- Block explorers will be key infrastructure components in the broader ecosystem.
- Building and operating block explorers requires specialized skills that many of the talented blockchain developers and stewards will happily outsource to specialized service providers.
WEB3SCAN — the organization behind the Polkascan service — intends to be one such service provider.
A brief history
This idea of building block explorers started in 2015 with a fascination and appreciation for some of the more advanced explorers in the Ethereum ecosystem. These explorers have been mostly closed or proprietary projects.
WEB3SCAN has been actively participating in the “Open Source Block Explorers NOW!” initiative. This initiative aims to work towards the goal of getting block explorer technology and blockchain data more accessible and readily available. Check out the open discussions.
Enter Polkadot & Substrate
Until Q2 of 2018 we were building Ethereum Virtual Machine explorers. This helped us mature both our technology stack and our methodology. We have pivoted towards Polkadot and the general development framework Substrate.
We believe Substrate is one of the core technology frameworks that allows teams to easily and rigorously develop a very broad spectrum of blockchains and state machines. By building explorers that are compatible with Substrate, we make our explorers compatible with all the tech that is being built using Substrate.
We are anticipating a Cambrian explosion of innovation with Substrate, and consequently expect a market that will need to be serviced. One early example of the power of Substrate is the ease with which someone implemented a basic skeleton of an Ethereum 2.0 client. With the Ethereum 2.0 Shasper client running on Substrate, we realised that by building a generalized Substrate explorer we will get an Ethereum 2.0 explorer as a bonus.
Polkascan as blockchain middleware
Our multi-chain explorer polkascan.io should be seen as one particular general purpose application built on top of blockchains — and other data sources. The general purpose nature of polkascan.io is to support a broad spectrum of use cases listed in Figure 1, such as: history, search, correlations, forensics, etc.
Polkascan should be seen as a flexible blockchain middleware service between any (blockchain) data source and any (blockchain) application, as illustrated in Figure 2.
Our current technology stack consists of two thin transformation services and one storage service. The first transformation service harvests data off the data sources and translates the data (normalizing, indexing, associating, etc) into data we store in a general purpose relational DBMS. The second transformation service prepares that data for the particular application.
There are a few easy critiques to this approach — although we believe this to be the methodology also applied by some of the other notable block explorers.
- Centralization: having a centralized large database does not fit well with the WEB3 vision of a fully decentralized application stack.
- Performance: having a general purpose large database may not be very performant for all potential applications (such as: network analysis or forensics).
- Scalability: with the assumption of the future multi-chain reality, how does managing increasingly large databases scale?
We acknowledge these critiques but at the same time we believe that we can address them and make our services future-proof. It’s a matter of trade-offs and priorities. Currently we lean towards agility and preparedness for as many applications as possible, as fast as possible, effectively enabling us to provide accessible data services now.
Our activities are tightly coupled with those of both Web3 Foundation and Parity Technologies. We have been working very hard on our live prototype polkascan.io. This is an ongoing effort and aligns closely with the Polkadot/Substrate development roadmap.
We are proud to announce our collaboration with Commonwealth on their Edgeware project. We intend to support Edgeware in our Polkascan service from day one and thereby contribute to this wonderful experiment that will help advance the ongoing on-chain governance debate.
We are also excited to announce our collaboration with ChainX. ChainX is an inter-chain crypto-asset financial blockchain that will become a Polkadot parachain when their platform launches in 2019. ChainX has completed the development of a BTC bridge and DEX, and we can expect BCH, LTC, ZEC bridges to become available in the near future. We will be exploring how to make these datasets available in the Polkascan service.
We have many more exciting collaborations with ecosystem service providers and other notable Substrate implementers on the horizon and you can expect more collaboration announcements when these projects’ testnets draw closer.
Get in touch
We encourage you to reach out if you would like to collaborate especially if you intend to be a Substrate implementer or ecosystem service provider. You can find us on the Riot channels on a daily basis. Come say hello and talk to us on how to get involved.
Follow us on Twitter for updates on our progress and feel free to reach out if you have any further questions or comments.