自2016年以来,近地天体平台的特征大幅增加,今年随着下一代近地天体平台近地天体3的各种创新的实现,这一趋势仍在继续。本文重点关注一个创新的特性,scope witness,它最近已经并入了GitHub的主分支。这一特征将在确保近地天体3号的资产转移安全方面发挥重要作用。< p>
NEO3中的资产将全部采用NEP5资产类型(NEO2基于UTXO的全球资产类型将不再保留),这简化了资产管理,并使网络具有更强大的智能合同处理能力(如本地通行证)为了提升这些改进的功能,核心执行引擎(称为应用引擎)必须以不同的方式处理各种逻辑。应用引擎的任务之一是验证事务的正确性。这意味着检查证书(称为见证)是否已通过验证,以及资产所有者是否被允许转移资产。 对于NEO2中基于UTXO的全球资产,通过内部流程执行见证验证,这可以安全地确保签名能够被正确验证和通过,并且如果合同是交易所指定的资金发送方,将调用合同的验证功能来决定是否允许资产转移。然而,在NEO2中,智能合同不允许与本地资产直接交互,以启动智能合同的支付交易。它只能允许或拒绝交易总之,UTXO全球资产使得智能合同不可能直接实现资产的流动和自动支付然而,近地天体3号打破了这一限制,允许智能合同直接处理最初的近地天体5号资产(近地天体和气体)NEO3使用相同的见证系统来管理本机和非本机(用户创建的)资产确保NEP-5在NEO3上的资产转移安全的第一步是增加对转移证人的限制这些限制称为:见证范围NEO3上有四种类型的作用域:CalledByEntry、CustomContracts、CustomGroups和Global最基本的(也是最安全的)作用域名称是CalledByEntry,它将见证人的使用范围限制在用户传递的事务脚本的最基本级别。这意味着使用CalledByEntry交付的见证将仅在调用用户交付的脚本时使用,这对于所有类型的资产和证书都是100%安全的下图描述了这个过程
被叫延试范围图用户事务由见证人a签署,该见证人只能由入口脚本直接调用的合同(即合同b)使用如果另一个合同(由第三方调用)试图验证证人a,它将失败(即合同c)
与CalledByEntry相反,全局范围允许在没有特定限制的情况下全局使用见证签名。这在一个非常封闭的应用程序中仍然是安全的,并且可以与NEO3中的另一个创新特性结合使用:清单系统(这一部分将在后面的文章中讨论)其他两种模式(自定义合同和自定义组)允许用户凭据范围更好地绑定到特定的应用程序(和应用程序组)这是游戏和其他应用场景的完美解决方案,在这些场景中,在智能合同执行期间的各种情况下都需要数字资产,因此为用户凭证建立了非常简洁和描述性的限制 本文将不深入讨论这些特性的技术细节,但我们欢迎感兴趣的开发人员直接与Github上的核心开发团队讨论相关问题,以了解这些(以及其他)有趣的新特性如何协同工作,从而使NEO成为高度创新的区块链平台。关键词:近地天体范围见证