http://www.7klian.com

合约ID,助力数据迁移的通关秘笈 | 三分钟入门Neo3

尽量「独一合约ID」最初是为了防备DoS进攻而设计的,但这也为开拓者、第三方处事商提供了很多其他辅佐,并有助于减缓区块的存储空间。

尽量条约重定向可以或许办理数据迁移进程中的一些问题,但这一方案依旧需要第三方处事商手动更新其处事,才气利用新的合约哈希。因此,Neo首创人及焦点开拓者张铮文又提出了一个新方案「独一合约ID」(Unique Contract IDs)。

此方案不只可以或许减缓数据迁移对付合约存储的压力,还能在合约更新后依旧保存原有的标识符(剧本哈希)。将每个ID分派给每个已陈设的合约,并在代码更新进程中一直存在。这意味着与Neo智能合约集成的处事商将不再需要在合约更新时手动更新其基本架构。
NGD软件开拓者刘梦雨在确认该提案时强调,思量到合约存储遭到威胁后会造成哈希斗嘴,所以将合约的数据前缀以ID形式编码,不只可以或许缓解存储空间,也能担保存储的安详性。
“主要区别在于,利用GUID不需要添加重定向记录,而且合约可以随时进级,而无需记录其他信息以防备从头陈设旧合约。因为假如陈设了旧合约,则会建设新的GUID。”

张铮文先容了「独一合约ID」带来的长处:
焦点开拓者Shargon则提出发起,认为原生合约应回收负值,具有递减的ID(-1,-2,-3 ..等),以便原生合约与新合约都可以利用沟通的全局计数器,互不影响互相的ID分派。 

刘梦雨实施了这两种方案,可是事实证明,,全局计数器最受开拓者喜爱,因为它消除了对哈希斗嘴的担心。但这个方案有个缺点是夹杂原生合约与新合约的种别,假如未来需要添加新的当地合约,全局计数器(以及所有合约ID)将受到影响。
全局计数器的优势在于简朴。每次将合约陈设到Neo3中,它城市利用计数器来确定并获取下一个可用的ID号,与此同时计数器的数字也会递增。每个新的陈设城市反复此进程,以确保每个合约都收到独一的ID号。
劈头方案提出后,张铮文先在当地测试了此方案的可行性,并提供了一个切实的「独一合约ID」生成方案。

独一合约ID

在上一篇「三分钟入门Neo3」文章中,我们先容了剧本哈希(Script Hashes)在Neo2情况中的应用,以及它们大概对开拓者和网络造成的负面影响。 
留意到对「独一合约ID」安详性与的要求,刘梦雨发起了两种备选方案来生成所需的合约ID。在最初发起利用区块高度,事务索引和生成密钥的syscall计数器之后,又提出了「全局计数器」的观念。
实施合约ID

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读