In the tenth TAST Technical White Paper, we introduce the first work of the Pantos project directly aimed at developers. We present a framework that simplifies the development of cross-blockchain applications.
To be precise, our framework enables cross-blockchain smart contract invocations between Ethereum-based blockchains with just two lines of code. With it, developers can invoke smart contracts to be deployed on other blockchains, e.g., they can deploy a contract on the Ethereum blockchain that calls smart contracts on the Ethereum Classic blockchain.
Key facts of White Paper X:
- We present a framework that drastically simplifies the development of cross-blockchain applications.
- Our framework enables cross-blockchain smart contract invocations between Ethereum-based blockchains with just two lines of code.
- This framework enables developers of smart contracts to easily call smart contracts deployed on other blockchains similarly to how they would call smart contracts deployed on the same blockchain.
- Following the request-response pattern, remote calls are issued as requests and the call results are provided back as responses. The actual cross-blockchain communication is taken care of by a set of off-chain clients.
- This generic framework for cross-blockchain applications provides the following advantages:
- Developers can focus on writing application logic instead of dealing with the intricacies of cross-blockchain communication.
- If multiple applications use the same framework, the operational cost can be reduced.
- In future work, other blockchains should be analyzed and integrated. The existing framework will likely have to be adjusted to account for the intricacies of the other blockchains.
- Download fact sheet PDFs in English, German and French.
The progress so far
In White Paper 8, we continued the work on our protocol for cross-blockchain token transfers and achieved a cost reduction of up to 92% over traditional blockchain relays. In White Paper 9 we tackled some limitations of our protocol and introduced two protocol extensions: The first extension enables transfer finality while enabling the protocol to remain fully decentralized by deploying a sophisticated incentive scheme. The second extension provides functionality to report back successful transfer finalizations to the source blockchain. In addition to the work presented in White Paper 8 and 9 we released the scientific paper “Decentralized Cross-Blockchain Asset Transfers” in April 2020. In this work, we summarize our findings so far and evaluate the extended protocol.
A generic framework for cross-blockchain smart contracts
In an ideal world, developers should be able to write code and not deal with passing data between different blockchains. We know that various systems for cross-blockchain communication exist already, so for the sake of efficiency the goal is now to create a generic framework that enables smart contracts on some blockchain A to communicate with contracts on some blockchain B and vice versa.
Figure 1 shows the basic interaction of a cross-blockchain smart contract call. A user calls ContractOnA which initiates a call of ContractOnB. After the execution of ContractOnB, the result is reported back to ContractOnA for further processing. As a first step, we provide a proof of concept implementation of the framework for Ethereum-based blockchains which is available as open-source software on GitHub.
The inner workings of our framework
The architecture of the framework is based on Remote Procedure Calls (RPCs). RPCs follow the request-response-paradigm. A client initiates an RPC by sending a request to a known remote server. The server executes the specified procedure and returns a response to the client where the application continues to process.
The actual cross-blockchain communication is handled by a set of off-chain clients since blockchains cannot natively communicate with each other. Note that ContractOnB should only execute the call if the request is valid.
Behind the scenes, numerous steps have to be considered when a remote contract is invoked. This includes Cross-chain Call Preparation, Cross-chain Call Request, Cross-chain Call Execution, Cross-chain Call Acknowledgement. These steps are discussed in more detail in the tenth TAST Technical White Paper.
Conclusion and next steps
The presented framework for cross-blockchain smart contracts can be beneficial for developers implementing cross-blockchain applications as the framework hides a lot of complexity involved in building cross-blockchain applications such as the underlying means of cross-blockchain communication, encoding and decoding of transactions, and security aspects. The framework in its current state can be considered a proof of concept. To provide a fully-fledged solution, several aspects still have to be explored in further detail. This includes an incentive structure, support for reads, synchronous calls, nested calls and the integration of further blockchains.
In conclusion, the approach presented in the tenth TAST Technical White Paper provides cross-blockchain smart contract invocations for Ethereum-based blockchains. For instance, the framework enables smart contracts on Ethereum to invoke contracts deployed on Ethereum Classic and vice versa. By taking away the complexity of the underlying cross-blockchain communication such as encoding, decoding, security, and data transfer between blockchains, developers can focus completely on writing application logic. As we show in White Paper X, developers only need to write two lines of code to initiate a cross-blockchain smart contract call. Apart from reducing complexity, the proposed approach may also make blockchain interoperability economically more viable as the cost of maintaining such an interoperability platform can be spread across all applications relying on it.
For more information, check out the tenth TAST Technical White Paper.
As the first multi-blockchain token system, Pantos aims to bring blockchain projects closer together, improve communication between developers, researchers and users, and set innovative standards for cross-chain token transfers.
The goal is to serve as a lighthouse project in an increasingly fragmented blockchain space. With multiple blockchains serving all kinds of different purposes, Pantos is seeking to allow these projects to talk to one another in a standardised way. This will speed up innovation by creating a link between blockchains which then can scale together.
To get the latest news on the progress of the Pantos project you can follow our official channels:
- GitHub: github.com/pantos-io
- Facebook: facebook.com/PantosIO
- Twitter: twitter.com/PantosIO
- Reddit: reddit.com/r/Pantos
- Telegram: https://t.me/PantosIO_EN (official English group)
- Telegram: https://t.me/PantosIO_DE (official German group)
- Telegram: https://t.me/PantosIO_announcements (announcements only)
- LinkedIn: linkedin.com/company/Pantos_IO