【公告】PlatON网络v1.2.0升级公告及说明|[Announcement] Announcement and Instructions on PlatON's Governance Upgrade to Version 1.2.0

中文

PlatON节点伙伴们,你们好!

PlatON主网计划于2022年4月6日11点-2022年4月15日18点开启治理升级1.2.0版本,此版本增加了双ChainID与链上随机数的功能,旨在提供更加完善的基础设施,并为生态项目开发提供更好的支持。

因多个知名生态项目接入需要以上新增功能,所以本次治理时间较以往有较大缩短,希望您能够及时参与治理,为了激励本次积极参与治理的节点,PlatON生态开启了《PlatON网络1.2.0版本治理升级激励》活动,详情请见以下链接:

为什么升级

PlatON 1.2.0版本包含了2个重要的更新,这2个更新是根据近期社区开发者在实际应用开发时遇到的问题做的优化和改进。

1.在PlatON主网同时支持100和210425两个ChainID
因当前PlatON使用的ChainID与某公链相同,这导致了以下问题:

  • 跨链、NFT交易平台、钱包对接等诸方面出现很多问题,影响生态发展。
  • PlatON全面兼容以太坊,但是用户在使用MetaMask添加PlatON网络时经常遇到由于ChainID和其他链冲突导致的各种问题。

本特性是PIP-7提案的第一阶段,旨在逐步将主网ChainID替换为新的唯一的值210425。

2.支持智能合约获得随机数
链上随机数可以为DApp提供防篡改的链上随机性,诸如NFT铸造和归属、Draws、(PvP) Battles等区块链游戏或应用都可以使用随机来产生公平的结果,为此,PIP-8提出了在PlatON链上支持获取安全的、和应用具有良好兼容性的随机数解决方案。

通过以上更新,将极大改进开发者体验以及提升社区活跃度。

升级有什么影响

节点

因新版本同时支持100和210425两个ChainID,节点升级后可以正常和旧(未升级)节点建立连接,同时,新版本默认使用的ChainID仍旧是100,旧节点也是同样能和新节点正常通讯的,因此版本升级对节点运行无任何影响。

但如果升级提案在链上获得通过,那么未进行升级的旧节点将不能验证和执行使用新ChainID的交易以及使用链上随机数的交易,这将导致旧节点停止同步主链区块。

DApp应用

对于已经部署在主网的应用来说,本次升级不需要修改任何业务逻辑,EVM中获取ChainID仍旧返回的是100,也可以继续使用原有的ChainID 100在主网发送交易。
关于在合约中如何使用链上随机数的细节请参考PIP-8

用户

版本升级成功后,用户既可以沿用旧ChainID 100,也可以使用新的ChainID 210425在主网发送交易。
需要注意的是,1.2.0版本存在以下限制,如果碰到以下问题,请升级到1.2.1版本(计划将于4月15日发布,届时直接二进制替换升级即可):

1.暂不能在MetaMask上使用新ChainID添加网络
之前已经添加的网络不受影响可以继续使用,添加PlatON新网络时当前只能使用旧ChainID 100做为链ID。

2.创建合约时,只能使用旧ChainID 100

3.当前版本暂不支持通过在节点上unlock账户的方式部署合约

该问题由浅浅社区在测试网测试时发现,将在后续版本中修复。
同时,新版本提供了链上获取可验证随机数能力,用户可以使用这一特性(参考PIP-8)开发更有趣的应用了。

哪些节点需要升级

所有节点都要升级到新版本!

DApp应用不需要修改!但是如果DApp部署的节点需要升级到新版本!

新版本中关于支持新ChainID和链上随机数的特性都需要分叉,如果节点没有及时升级,一旦提案获得通过将导致节点停止跟块。

  • 验证节点

所有验证节点需要升级并对链上提案投票或做版本声明,如果不升级,会导致不能参与共识,不能获得出块和Staking奖励,在不退出验证人的前提下可能会因零出块而被处罚。

  • 非验证节点

节点不升级将不能验证和执行区块中包含使用210425作为ChainID的交易或使用链上随机数的交易,不能正常同步区块,通过该节点也不能正常发送交易,因此不参与共识的节点也需要升级。

如何升级

升级时间

计划在2022年4月6日11点启动升级提案,投票截止和版本生效日期为2022年4月15日18点,请所有节点在提案期间协助完成升级,谢谢您的支持!

升级操作

  • 验证节点需要升级版本并对链上提案投票或做版本声明。
  • 非验证节点需要升级版本。
    具体参考《升级操作手册》(开启治理升级后提供)。

下一步升级计划

这次升级后,还是同时支持100和210425两个ChainID。计划后续(比如年底,具体时间会请社区沟通讨论)再次通过提案升级的方式升级第二个版本,最终将ChainID从100切换为210425,该版本升级后将不再支持100,还请社区配合在第二个版本升级前将所有使用100的DApp和节点升级改造为使用210425,谢谢支持!

版本说明

目的

近期关于在PlatON网络上使用新ChainID以及支持链上获取随机数的方案经过反复讨论和论证,提案合理且方法可行,本次升级将支持这2个提案。

新特性

PlatON网络对双ChaiID的支持
PlatON网络对链上随机数的支持

版本信息

本次升级的版本号为:1.2.0
Commit-ID: 66ed8345ea1eaa07202d4c1ae7fb305034e79d51

English

Dear PlatON nodes,

From 3:00, April 6, 2022 to 10:00, April 15, 2022 (UTC), the PlatON mainnet will go through a governance upgrade to version 1.2.0. The new version will feature double ChainIDs and on-chain random numbers to provide a more well-rounded infrastructure and create a more enabling environment for project development in the PlatON ecosystem.

PlatON decided to launch these new features to meet the needs of multiple well-known projects that recently joined its ecosystem. As such, the governance period for the present upgrade has been significantly shortened compared with previous rounds. We hope for your prompt participation in PlatON’s governance and launched a campaign (Incentives for PlatON’s Governance Upgrade to Version 1.2.0) to reward nodes actively involved in the governance upgrade. Click on the link below to find out more:

Reasons for the Upgrade

PlatON version 1.2.0 features two major updates, which address the recent problems encountered by community developers during app development.

  1. The PlatON mainnet supports two ChainIDs (100 & 210425) at the same time. The current ChainID of PlatON is the same as that of a public chain, leading to the following problems:
  • Problems in terms of cross-chain swaps, NFT transactions, and wallet connections that may hinder the growth of the PlatON ecosystem.
  • Although PlatON is fully compatible with Ethereum, users often encounter various problems because of the conflicting ChainID when adding PlatON to MetaMask.

This feature (Phase 1 of the PIP-7 proposal) aims to gradually replace the mainnet ChainID with a new, unique value (210425).

  1. The new version will allow smart contracts to obtain on-chain random numbers

This update will provide tamperproof on-chain randomness for blockchain games and DApps, allowing them to generate fair outcomes in terms of the minting and attribution of NFTs, Draws, and (PvP) Battles. Therefore, PIP-8 proposed a random number solution that enables the acquisition of secure application-compatible random numbers on PlatON.

These updates will significantly improve the development experience on PlatON and create a more engaging community.

Impacts of the Upgrade

Nodes

The new version will support two ChainIDs (100 & 210425) at the same time. As such, after a node is upgraded, it will still be able to connect to old nodes that are not upgraded. Meanwhile, as the default ChianID of the new version remains 100, old nodes will also be able to communicate with new nodes. Therefore, the version upgrade will have no impact on node operation.

However, if the upgrade proposal is approved on the PlatON chain, old nodes that are not upgraded will not be able to validate and execute transactions using the new ChainID, as well as those that involve on-chain random numbers, which means that old nodes will not be able to stay updated with mainchain blocks.

DApps

During the present upgrade, applications that have already been deployed will not need to modify any business logic. The ChainID obtained in EVM remains 100. As such, DApps may continue to use the previously ChainID (100) to send transactions on the mainnet.

Please refer to PIP-8 for details on how on-chain random numbers are used in contracts.

Users

After the new version is launched, users can still use the previous ChainID 100 to send transactions. In addition, PlatON users may also use the new ChainID 210425 to send transactions on the mainnet.

It should be noted that the version 1.2.0 has the following limitations. If you encounter any of the following problems, please upgrade to the version 1.2.1 (planned to be released on April 15. At that time, you can directly replace the binary document for an upgrade):

  1. The new ChainID cannot be used to add a network on MetaMask.
    The network that has been added before will not be affected and remains useful. When a new PlatON network is added, currently only the old ChainID 100 can be used as the chain ID.

  2. When a contract is created, only the old ChainID 100 can be used.

  3. The current version does not support deploying contracts by unlocking the account on the node.

This problem was spotted by the Qianqian community during the testnet test and will be fixed in subsequent versions.

Meanwhile, the new version enables the acquisition of verifiable random numbers on PlatON. With this feature, users could develop more exciting applications (refer to PIP-8).

Nodes to Be Upgraded

All nodes must upgrade to the new version!

Although DApps do not need to perform any modifications, PlatON nodes deployed by DApps must also upgrade to the new version!

Both of the new features (support for the new ChainID & on-chain random numbers) require forking, which means that nodes that are not upgraded in time will not be able to stay updated with new blocks once the proposal is approved.

  • Validators

All validators are required to upgrade to the new version and vote on the proposal or issue a version statement. If not upgraded, validators will not be able to participate in the consensus process, which means that block/staking rewards will not be available. In addition, a validator node may face penalties due to zero block generation if it didn’t exit from the validator model.

  • Non-validator nodes

Non-validator nodes that are not upgraded will not be able to validate and execute transactions that use 210425 as the ChainID or those that involve on-chain random numbers. Such nodes will not be able to update blocks or send transactions like they used to. Therefore, nodes that do not participate in the consensus process should also upgrade to the new version.

How to upgrade

Time of the upgrade

We plan to launch the upgrade proposal at 3:00 on April 6, 2022. At 10:00 on April 15, 2022 (UTC), the voting process will end, and the new version will come into effect. We ask all PlatON nodes to upgrade to the new version before the deadline (10:00, April 15, 2022 (UTC)). Thanks for your cooperation!

Upgrade Instructions

  • Validators are required to upgrade to the new version and vote on the proposal or issue a version statement.
  • Non-validator nodes are required to upgrade to the new version. For more information, please refer to Upgrade Manual (to be provided once the governance upgrade kicks off).

Future Upgrade

PlatON will still support two ChainIDs (100 & 210425) after the upgrade. In the future, the mainnet will be upgraded to the second new version through a new proposal. The second version could be launched by the end of 2022, and the specific date will be determined through community discussions. Eventually, PlatON will shift from the previous ChainID (100) to the new ChainID (210425). Once PlatON updates to the second new version, the previous ChainID (100) will no longer be supported. All DApps and nodes using the previous ChainID should adapt to the new ChainID (210425) before the second new version comes. Thanks for your cooperation.

Version Description

Purpose

Recently, after repeated discussions and demonstrations about using the new ChainID on the PlatON network and the acquisition of random numbers on the chain, the proposals are proved reasonable and feasible and will be supported in this upgrade.

New Features

Double ChainIDs
On-chain random numbers

Version Information

The version number of this upgrade: 1.2.0
Commit-ID: 66ed8345ea1eaa07202d4c1ae7fb305034e79d51

2 Likes