售前客服二维码
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!
唯一合同编号
张正文介绍了“唯一合同标识”的好处: “主要区别在于,使用GUID不需要添加重定向记录,并且合同可以随时升级,而无需记录额外的信息来防止旧合同的重新部署。因为如果部署了旧协定,将会创建一个新的GUID。 该方案不仅减轻了数据迁移对合同存储的压力,而且在合同更新后还保留了原始标识符(脚本哈希)。每个标识都分配给每个已部署的合同,并且在整个代码更新过程中都存在。这意味着与Neo智能合同集成的服务提供商在合同更新时不再需要手动更新其基础设施。 实施合同标识 在最初的提案提出后,张正文首先在当地测试了提案的可行性,并提供了一个实用的“唯一合同标识”生成计划。 NGD软件开发商刘梦雨在确认该提案时强调,考虑到哈希冲突对合同存储的威胁,将合同的数据前缀编码为标识格式不仅可以减少存储空间,还可以确保存储安全。 注意到“唯一合同标识”的安全性和要求,刘梦雨提出了生成所需合同标识的两种选择。在最初建议使用块高度、事务索引和生成密钥的syscall计数器之后,提出了“全局计数器”的概念。 全局计数器的优点是简单。每当合同部署到Neo3时,它都使用一个计数器来确定和获取下一个可用的标识号,同时计数器号递增。对每个新部署重复此过程,以确保每个合同都收到一个唯一的标识号。 刘梦雨已经实现了这两个方案,但事实证明,全球计数器最受开发者欢迎,因为它消除了对哈希冲突的担忧。然而,该方案的缺点是混淆了原始合同和新合同的类别。如果将来需要添加新的本地合同,全局计数器(和所有合同标识)将受到影响。 核心开发人员Shargon建议原始合同应该采用递减ID(-1,-2,-3)的负值.等等。),这样原始合同和新合同都可以使用同一个全局计数器,而不会影响彼此的标识分配。 虽然“唯一合同标识”最初是为了防止拒绝服务攻击而设计的,但它也为开发人员和第三方服务提供商提供了许多其他帮助,并有助于降低块的存储空间。
文章均源于网络收集编辑侵删
提示:仅接受技术开发咨询!