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