Graftroot:授权签名如何让交易变出更多花样

2019-02-24 13:13 栏目:经验之谈 来源: 查看()
这篇文章是《比特币。下一次升级包括Taproot,接下来是》。如果您尚未阅读该文章,则应首先查看该文章。

Graftroot:授权签名如何让交易变出更多花样

[注意:在上一篇文章中,合作关闭被翻译为“合作终止合同”,后来小编认为最好使用“合作解决合同”。

如果在比特币上部署Taproot,许多智能合约结构看起来与其他常规交易相同。只要所有参与者都同意合同的结果(例如“合作和解合同”),Schnorr签名和MAST的组合就可以提供数据传输效率和隐私。

但是,如果Taproot智能合约非常复杂,那么在没有合作结算合同的情况下,揭示Merkel路径所需的数据量仍然很大。

比特币核心开发人员Gregory Maxwell的后续提案“Graftroot”可以为Taproot提供类似的好处,但没有上述缺点,为智能合约提供了更大的灵活性。

Graftroot

当使用Taproot时,智能合约中的所有参与者将他们的公钥组合起来以生成可以使用他们的“阈值签名”来花钱的“阈值公钥”。使用Graftroot,所有参与者也会生成类似的阈值公钥,但不会微调阈值公钥。

参与者确实创建了不同的脚本:可以用于资助的各种条件。但是,使用Graftroot时,参与者会签署不同的脚本以生成与这些脚本对应的阈值签名。希望将特定脚本作为后端传递的所有参与者接受并存储脚本和相应的阈值签名。然后,这个签名可以向全世界证明其相应的脚本是一种有效的替代方案,并且是所有参与者都同意的“授权”。

假设爱丽丝和鲍勃建立了一个聪明的合同,他们可以一起花钱,或者让爱丽丝在一周内独自花钱,或者让鲍勃使用密码单独花钱。在这种情况下,Alice和Bob组合他们的公钥以创建阈值公钥,并且如果他们可以提供阈值签名,则他们可以使用资金。 (他们只有在花钱时才会产生门槛签名。)

然后Alice和Bob也会创建并立即签署备用脚本。 Alice使用一个阈值来签署允许她在一周后花费比特币的脚本,而Bob使用一个阈值来签署一个脚本,允许他单独用一个密码花钱。 (请注意,单独的阈值和相应的脚本是不够的;它们只是证明脚本是由Alice和Bob同意的,但是仍然需要满足脚本中指定的条件才能使用这些资金。)

合同到期时,Alice和Bob可能同意签署结算交易。他们一起创建了一个阈值签名,他们可以使用与阈值公钥相对应的比特币,而其他人不知道可以满足的其他条件,甚至不知道多个人,它看起来像是常规交易。

但是,如果由于某种原因在合同的解决方案中不可能合作,那么任何能够满足替代条件的人都可以单独花钱。如果Bob知道密码,他可以将“他的”替代脚本与相应的阈值签名组合在一起。其他网络参与者可以基于阈值公钥检查阈值签名并导出结果,因为该替代脚本由智能合约的所有参与者同意。因此,Bob可以成功地将这些比特币与密码一起使用。或者,如果一周过去了,Alice可以使用“她的”替代脚本将这些比特币与阈值签名结合使用。在这两种情况下,没有人知道替代品。

Graftroot的主要好处是它不需要担心智能合约的复杂程度,或者更准确地说,不再需要关心可能的结算结果。虽然上面的示例只包含两个可选脚本,但Graftroot结构实际上可以包含数百个可选脚本,并且对可选脚本没有任何影响。即使建立了最初的智能合约,Alice和Bob也可以添加更多条件!

然而,Graftroot也有缺点,其中之一就是它具有互动性。参与者必须相互沟通才能签署替代脚本,甚至在花钱之前。此外,参与者需要存储备用脚本的阈值签名;如果他们失去签名,他们没有其他解决方案。

Graftroot的发展

那么,比特币用户何时会使用这项技术?

好消息是,通过隔离验证,使用称为“脚本版本控制”的功能允许以向后兼容的方式相对容易地实现某些技术升级,包括Schnorr签名,Taproot和Graftroot。

然而,理想情况下,那些致力于上述升级的比特币核心开发者希望立即推出所有这些改进,包括Pieter Wuille,Anthony Towns,Johnson Lau,Jonas Nick,Andrew Poelstra,Tim Ruffing,Rusty Russell和Gregory 。麦克斯韦。虽然脚本版本控制使升级变得容易,但它还要求事务显示正在使用的协议升级。因此,尽管Graftroot可以完全隐藏可用的替代脚本,但脚本版本将显示该事务正在使用Graftroot。因此,一次部署多个协议升级可以在一定程度上避免此问题,因为它们都使用相同的脚本版本。但最重要的是,一次部署多个升级有利于软件兼容性。

另一方面,当谈到对全天候运行的安全关键协议的共识更改时,“相对容易推出”仍然是一项艰巨的任务,因为在升级时存在不同的利益相关者和偏好。每个潜在的新功能都有自己的优点和缺点,因此一次组合多个升级也可能导致更多异议。当然,将更多功能组合到单个升级中并不会降低开发难度。

所以,目前,Schnorr签名和Taproot是一个优先事项,大多数人建议包含升级。至于Graftroot,可以将其放入后续升级中。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发