The selection of a suitable cross-chain technology is costly and time consuming.
Blockchain technology brings a lot of benefits as transactions on a blockchain can take place in a trustless, traceable, and anonymous fashion which is almost impossible to tamper with. Blockchain, however, does encounter limitations due to the so-called ‘blockchain trilemma’, which states that a trade-off between scalability, security, and decentralization must be made when implementing a single blockchain. A proposed solution to overcome these limitations or to leverage the benefits of multiple blockchains is termed blockchain interoperability. Cross-chain technologies (CCTs) are technologies which facilitate blockchain interoperability. Whenever a distributed app developer needs a CCT for a specific scenario, the time consuming and costly process related to the selection of a suitable CCT forms a major hurdle. The rapidly evolving nature of the field and the limited documentation on CCTs are some of the major causes for this.
A decision support tool that recommends the correct CCT for your scenario.
To aid dApp developers in the selection process of CCTs this paper investigates ways to efficiently do so. To this end, the current paper presents a decision support tool which takes input related to the dApp developer’s cross- chain scenario and combines this with data from existing CCTs to present a ranked list of recommended CCTs. The novelty of this tool lies in the programmatic quantification of CCT attributes using minimal developer input and in the universal structure used to collect existing CCT data.
Combining data from the developer’s scenario and data from existing CCTs
The tool requires input from the user to define the developer’s cross chain scenario:
The tool quantifies the relevant CCT attributes with computing metrics. Metrics for the following attributes will be computed:
- Complexity. The user can choose which type of calculation the tool will use to estimate the complexity for the codebase of the specific CCT. : Whitespace and Cyclomatic. Whitespace is language agnostic and Cyclomatic is researched way more based on its accuracy. Out of tests, there is a relatively high positive correlation between the two.
- Developer support. This metric is constructed from 5 aspects:
- Security. The higher degree of decentralization, the more secure the CCT. Also, specific technical schemes score higher: HTLC (+3), Sidechain (+2), Hybrid (+1), Notary (+0).
- Relevancy. This metric is based on the inputted keywords by the user. The keywords are matched through an algorithm with scraped data from developer documentation and whitepapers.
- Compatibility. How compatible the CCT is with the user’s scenario is based on: the technical scheme, the use case, and the source & target blockchain.
- Cost. This metric is estimated based on the combination of 3 factors with the developer support metric:
The tool uses the following component architecture to provide the developer with the ranked list of recommended CCTs:
A validated and future-proof tool
Additionally, the work accounts for future developments in the field as novel CCTs may be appended to the open database. The decision support eases the decision making process of dApp developers and cuts down the time it takes to decide on a CCT significantly. It takes a human user, who has been given a clearly defined cross-chain scenario, approximately 14 minutes to complete the knowledge ingestion pipeline and to receive a list of recommended CCTs, thereby bringing down the search costs from days to minutes.