Decentralization, P-Rep Voting, ICON-DI, ICON tooling.

ICON Decentralization phase is now live and what an interesting process it has been.

As of right now 31 of 68 P-Rep Candidates above 95% Productivity. 4 of 68 at 0%. The rest of them are offline.

This post outlines our early experiences as a P-Rep and our roadmap for the integration of Pocket Network that will create additional incentives to operate and maintain Sub P-Reps as well as Citizen Nodes, in order to sustain ICON decentralization.

Our goal with this post and following communications is to build upon confidence in the community who have voted for the Pocket/Figment P-Rep so that we can maintain a presence in the Voting 22 set and execute on the entirety of our strategy.

Day 1 Network Issue.

On the first day of decentralization, several P-Reps suffered database corruptions for reasons that are not entirely clear. Unfortunately, in some cases, the only way to recover from the corruption was to clear the database and resync the blockchain from a recent snapshot. This process takes anywhere from 60–90 minutes. In order to promote liveness, if a main P-Rep missed 660 consecutive blocks, they are removed from the active set for the remainder of the session and replaced by a Sub P-Rep.

On day one of decentralization, Pocket/Figment’s primary node suffered from database corruption. We had a backup node fully synced and ready to go, so we quickly brought this backup online to replace the failed primary. However, as soon as the backup came online, it too suffered a database corruption. Within a few more minutes, we had missed more than 660 consecutive blocks, and that was the end of our first day as a Main P-Rep.

As indicated above by the ICON core team, the reason for this database corruption isn’t clear, and they have been working tirelessly to resolve the situation. The team has had great success over the last few days, and problems of this nature are less common.

The 660 block penalty is a useful mechanism, and one that we think is beneficial to the robustness of the blockchain, and also reduces the risk of slashing to both P-Reps and voters. As long as there are sub-P-Reps ready to take over, any number of main P-Reps can suffer failures with no impact on the liveness or safety of the blockchain. Once a P-Rep is removed due to the 660 missed blocks, they are no longer expected to produce blocks, so the remaining downtime during the rest of the session doesn’t reduce their productivity.

At that time, our node, run by the world-class team at Figment Network was sitting at around 17 on the P-Rep candidate list.

But due to the previously mentioned network issue, and missing those blocks we dropped out of the P-Rep voting set, currently, our node is back above 97% productivity and sits at 25 on the list and have on multiple days since been included as a main P-Rep in order to cover for others that we’re running into problems.

Although that drop out of the voting set was a frustrating experience for both of our teams, we understand the sentiment of early stakers and will continue to execute on the primary objectives within our proposal. With that being said we will now go into an update on our development roadmap.

Figment/Pocket Proposal and Updated Development Roadmap.

Proposal Summary:

1. Maintain a highly performant P-Rep node that scales with ICON.

2. Build pathways for ICON DApps and Nodes to integrate with Pocket Network in order to create sustainable decentralization of ICON throughout time, via POKT economics and trustless API layer.

Integrate with official ICON SDKs for Javascript, Swift, and Java DApp Developers.

Onboard & Incentivize nodes through ICON-DI initiative via Pocket Network economics

To read more about our proposal, you can view the extended proposal here.

Updated Roadmap:

The primary factors involved in the update of our ICON development roadmap were an initial delay of P-Rep voting and a determination that the effectiveness of timing ICON tool development & ICON-DI node onboarding with Pocket Testnet Release would result in an easier experience and add more value to ICON as a whole.

Here are the updated timeframes for each development component of our proposal.

1. Tooling for ICON Swift, Java and Javascript developers. Completion date — February/March 2020

The Pocket Network team will be submitting integrations to the Official ICON SDKs for the Android, Javascript and Swift platforms, documented here.

What these integrations will do is allow for ICON projects to seamlessly access a truly decentralized network of ICON nodes without the risk of a single point of failure, and by doing this, participate in a network that rewards nodes directly, which can lead to further decentralization.

We have done this exact thing for other major blockchain projects such as Ethereum, Aion, Tezos and POA and are eager to start supporting ICON.

The reason why this timeline decision was made is that February is when we will be launching the Pocket Core Testnet, which has the complete architecture, including the crypto-economics and governance in place.

Currently, we are utilizing the Pocket Core MVP architecture, which has been very effective at demonstrating the viability of our API coordination layer(with production applications using it today).

The Current Pocket-Core MVP architecture.

But with only a few months left before Testnet(and Mainnet by the end of Q2 2020), and the upgrades(and simplifications) that come with it, we believe this will result in a better experience for the ICON community.

For more information on the Pocket Core architecture, you can read updated whitepaper which is only 9 pages.

2. ICON-DI Node onboarding — Q1 2020, Airdrop — Mainnet (End of Q2 2020)

The ICON-DI initiative is our way of bootstrapping the onboarding of ICON nodes, whether main P-Reps, sub P-Reps or Citizen Nodes into Pocket Network in order to support the decentralization of ICON DApps.

Node onboarding will start at the beginning of Q1 leading up to the release of Pocket Core Testnet. This decision again was made in order to have a more effective experience for all participants.

The exact start dates, with information, support and sign up flow will be released later this year.

The POKT Airdrop for ICON-DI participants will take place after the Pocket-Core Mainnet release, by the end of Q2 2020, simply because that is when the network will be live and the token functioning.

ICON nodes configured to Pocket will have an additional incentive to continue to support and maintain the ICON infrastructure, via POKT rewards.

This incentive alignment will work to increase the node count and node diversity within the ICON ecosystem, all the while maintaining decentralization via Pocket’s coordination architecture.

Conclusion

In conclusion, although we are disappointed to have fallen out of the top 22 voting P-Rep set, we will continue to run our P-Rep node, supporting ICON decentralization for some time. As well as work to develop and support ICONs sustainable decentralization via the Pocket Network integration.

We intend to continue updates to the community with posts like this on a regular basis, so look forward to progress updates.

If you feel that this effort is a significant value add to ICON’s ecosystem, your vote on the Pocket/Figment P-Rep goes a long way towards expanding these plans.

P-Rep list: https://tracker.icon.foundation/governance