An update on ICON’s development in July 2022

5 min read

An update on ICON's development in July 2022

ICON 2.0, BTP, and ICON Bridge continued to be developed by the ICON team in July. Throughout this article, we’ll discuss what we worked on in July, as well as what we plan to focus on in August.

BTP Architecture

In addition to implementing the core components, integration testing is now underway. Integrating all individual components is the first step in the testing process. Many bugs are discovered at this stage, several of which have already been fixed.

BTP Blocks were one of the most notable discoveries during testing. It is necessary that the non-ICON networks verify the signatures and addresses of ICON validators in order to verify BTP Blocks. In order to produce BTP Blocks, ICON validators must use the hashing and verification functions of the destination chains.

The IISS must be amended to penalize ICON validators who fail to register in order to produce BTP Blocks. As a consequence, BTP Blocks would not function properly, which would halt BTP.

As the launch date approaches, ICON validators will receive more information on this. While there will be an administrative burden when adding new networks to BTP, it won’t be a huge amount of extra work.

Last 30 Days

  • We have completed the implementation of Java and Solidity MVs for testing purposes
  • We have implemented the Whitelist for Message Verifiers
  • We have implemented the changes to the Relay
  • We have completed the framework for unit and integration testing
  • Integrated testing has begun
  • A number of minor bugs were found and fixed
  • We have found one bigger bug in the relay message structure, and we are still working on it, which may take 1-2 weeks to fix.

Next 30 Days

  • Start developing the changes to the IISS and Goloop that are required to register validator addresses and public keys
  • Plan and research the economics and processes of Relay Networks
  • Obtain more details about what is needed prior to launch of the main network by working on a deployment plan
  • Develop new edge case tests to continue integration testing
  • The integration testing process is being continued in order to fix the bugs found
  • Changes to Relay Message structure should be updated in the Solidity BMC
  • Start implementing xCall in Solidity (formerly Arbitrary Call Service)
  • The Github repository should be refactored

Interoperability Integrations

The Harmony integration on ICON Bridge has been paused due to ongoing events with Harmony, despite all of the contracts being deployed on mainnet in June. Since the launch has been postponed indefinitely, we have been focusing on improving DevOps processes across all our in-flight integrations, helping us to establish our CI/CD (Continuous Integration/Continuous Development) framework in July.

Let’s take a look at what that means:

With the help of local ICON and Ethereum nodes, ICONLOOP performs research and development for BTP. These references are then taken by independent contractors and built into the chain integrations on the mainnet.

There may be some differences between these integrations and the specifications currently in place. The ICON Bridge is what we call the difference between decentralized on-chain verification of transactions and centralized off-chain verification of transactions.

ICON Bridge solutions are currently being developed for Harmony, BSC, and NEAR integrations, which requires off-chain verification centralized. Since moving from ICON Bridge to BTP specifically involves moving from off-chain verification to on-chain verification, this is a natural checkpoint on the way to developing the fully-decentralized BTP solution.

These chain integrations are difficult to build when independent contractors are involved because each team does different things. In most cases, the steps to perform an integration are the same, which causes a lot of duplicate work.

Wonder Game’s minting event made use of the Harmony integration developed by iBriz. This integration was intended to support Nexus as well, but it was put on hold after the Horizon Bridge vulnerability was discovered. Since then, all of the work has been focused on bringing together a core group of contractors to form a BTP Integrations Special Interest Group (SIG).

The SIG aims to standardize the processes for integrating BTP with ICON Bridge, testing them, and deploying them. More details about the SIGs and their role within the ecosystem ICON will be posted within the next few weeks. You can find the latest information on the BTP Integrations SIG on the GitHub organization recently launched by the ICON Community.

From now on, Harmony and Moonbeam will no longer receive regular updates. Currently, Moonbeam is a lower-priority integration for the BTP Integrations SIG, but it will be integrated by 2022.

The Harmony situation will also be monitored, and we will inform the community if we decide to proceed with Harmony integration. Besides the BTP integrations SIG, there are still independent development teams working on other chains.

This SIG does not include the team integrating Algorand. In the future, we hope to make it easy and seamless for contractors to onboard and offboard the SIG. Communication and timelines will be more clear moving forward for ICON members as a result of all of this.

It is conservatively expected that the audit will be completed between the fourth quarter of 2022 and the first quarter of 2023, following which the ICON Bridge code repository will remain closed source. ICON Bridge will then be released and open sourced once this is complete. Having the same information available to everyone internally will allow the BTP Integrations SIG to progress with a single source of truth.

Since we cannot be confident about the stability or security of the ICON Bridge until the audit is complete, we recommend exercising caution when using it until the audit is complete. The cryptocurrency industry has seen many security breaches recently. Keeping this in mind, we plan on moving slowly and carefully.

In the coming week, Nexus with BSC integration will be released on the testnet. Nexus will be released on the mainnet in the following week, if there are no major issues found on the testnet. The Nexus system will be in beta status when it is released, and it will remain in beta status until the audit is complete.

Bridges have been a subject of many catastrophic hacks in the cryptocurrency industry. Despite cross-chain attack vectors still being a problem, the industry is still working on a solution. While the ICON Bridge is being audited, we recommend only using the testnet. However, caution should still be exercised after that.

CI/CD for BTP and ICON Bridge

In the short term, we will focus on two specific aspects of our CI/CD processes:

  • Establishing a framework for end-to-end testing and automating it.
  • Standardizing the release management process.

End-to-End Testing Framework

  • Test cases should be developed for any integration that requires end-to-end testing.
  • When new code is shipped, these test cases need to be automated.
  • Ensure that results are recorded after each test is completed to ensure traceability.

Release Management Standards

  • Clearly define what triggers a build by developing clear build standards.
  • Incorporate end-to-end automated testing, which runs nightly after new builds are triggered.
  • Using Github Actions runners, design the deployment process.
  • Versioning and tag bumping can be automated with Github Actions.

By continuing to develop our CI/CD workflow, we will be able to increase the quality and speed of delivery and ensure that new chains can join ICON Bridge without compromising quality.

Last 30 Days

Algorand

We are developing the Algorand Message Verifier contracts to verify messages between Algorand and ICON.

In order to transfer Algorand to ICON, we must await Algorand state proofs.

  • Identify all the method calls necessary to implement the Message Verifier contract by studying other Message Verifier contracts.
  • To estimate the total cost of those calls, compare them with the Algorand cost list.
  • Determine if implementing a sum like that would be too expensive for Teal contracts.
  • Gathering what’s already working and what needs to be added to the current repository.
  • Deploying Algorithm smart contracts from outside relayers.
  • Validate results by running the current test cases.

BNB Smart Chain

  • Streamlined development processes using CI/CD.

NEAR Protocol

  • ICON Bridge relay has been updated with a NEAR module.

Next 30 Days

Algorand

  • The development of contracts for Message Verifiers should continue.
  • If Algorand releases state proofs, start working on integrating them into Message Verifier contracts.

BNB Smart Chain

  • Continue to work on CI/CD processes.
  • Make the Nexus frontend available with the BSC ICON Bridge integration in the first half of August. Once the BSC integration is available, testnet users can begin using it.
  • When no major issues have been detected on the testnet, deploy the BSC ICON Bridge integration to mainnet one week after the testnet.
  • Our next step will be to finalize the codebase for a security audit after the BSC integration has been released.

NEAR Protocol

To ensure that all teams in the BTP Integrations SIG share the same code base, we are refactoring the NEAR BTP integration to use the ICON Bridge.

By doing so, the message verification process is moved off-chain.

  • The Message Center should no longer reference the Message Verifier.
  • The ICON Bridge relay must be verified for message accuracy.
  • Token and native coin handlers will be merged into a single handler.

ICON 2.0

We implemented a few fixes for ICON’s Rosetta integration in July, as well as some bugs pertaining to the Governance SCORE.

Last 30 Days

  • The proposal for Revision 19 has been passed. See Revision 19 details on the ICON Tracker here.
  • APIs for Chain SCORE have been debugged.
  • An issue with the voting lists not updating after quorum has been fixed in Governance SCORE v2.1.2.
  • Implemented ICON Rosetta and worked on the engine.

Next 30 Days

  • ICON Light Node development should be prioritized.
  • Working on an IISS update for the BTP Blocks feature.
  • Design a reward/penalty system that would be more effective according to the IISS proposal.

Via this site