欢迎各位的到来,匿名科技专业开发区块链项目,为您定制专业的区块链解决方案!
当前位置: > 认识区块链 > 正文

Graftroot是什么?

2019-02-25 14:20:16 认识区块链

产生背景

比特币的交易隐私性一直都是不被看好的,对于一个人人都可以查看的公有区块链账本,它的隐私性之低,不言而喻。为了解决这个问题,比特币较为著名的开发者之一Greg Maxwell在2018年1月就提出了一个名为Taproot的设想。

紧接着数学家Andrew Poelstra在2018年4月份证明了这个设想在安全性上是可行的。Xapo工程师同时也是比特币核心开发者的Anthony Towns在2018年7月份提出了一个更具体的方案,能降低这个设想对数据和技术的难度。但是,Taproot智能合约依然非常复杂,在没有合作结算合约的情况下,需要揭示的默克尔路径的数据量仍然很大。此后,与Taproot类似的“Graftroot”就被提出。比特币核心开发者Gregory Maxwell的提案“Graftroot”可以提供与Taproot类似的好处,但没有上面所说的那种缺点,为智能合约提供更高的灵活性。

Graftroot的原理

使用Taproot时,智能合约的所有参与者的的公钥将被组合来生成一个“阈值公钥”,就能使用他们的“阈值签名”来花费资金。而使用Graftroot时,所有参与者也会生成类似的阈值公钥,但不会去微调阈值公钥。

虽然参与者也创建了不同的脚本,编写了可供花费资金的各种条件,但是使用Graftroot,参与者会对不同的脚本都进行签名,以生成与这些脚本相对应的阈值签名。所有希望通过特定脚本作为后路的参与者接受并存储该脚本和相应的阈值签名。这种签名可以后续向全世界证明其对应脚本是一种有效的替代方案,是所有参与者都同意的一种“授权”。

Graftroot举例

为了更好的让大家了解Graftroot,我们下面举例说明一下。假设Alice和Bob建立了一个智能合约,他们可以一起花钱,或者让Alice在一周后单独花钱,或者让Bob使用一个密码就能单独花钱。在这种情况下,Alice和Bob组合他们的公钥来创建一个阈值公钥,如果他们能够提供阈值签名,那他们就可以使用这笔资金。只有当他们要花钱的时候,他们才会生成阈值签名。

然后,Alice和Bob还会创建并立即替代脚本签名。 Alice的阈值签名将允许她在一周后花费比特币并生成相应的脚本签名,而Bob的阈值签名将允许他使用一个密码就能单独花钱,也生成对应的脚本签名。但是这里需要注意的是,仅凭阈值签名和相应的脚本是不够的,它们只是证明脚本是Alice和Bob都同意的,但仍需满足脚本中指定的条件才能使用这笔资金。

等到合约到期时,Alice和Bob可能会同意签名结算交易。他们一起创建一个阈值签名,就可以花费阈值公钥对应的比特币,而且其他人并不知道其他可以满足的条件,甚至不会涉及多个人,这样看起来就跟一笔常规交易一样。

但是,如果由于某种原因无法合作结算合约,那么谁能满足替代条件,谁就可以独自花费这笔资金。如果Bob知道那个密码,他就能将“他的”替代脚本与对应的阈值签名结合起来。其他网络参与者可以根据阈值公钥来检查阈值签名并得出结果,因为这个替代脚本是智能合约的所有参与者都同意的。因此,Bob可以顺利使用这些带有密码的比特币。或者,如果一周过去以后,Alice就可以利用“她的”替代脚本与阈值签名结合起来使用这些比特币。没有第三者知道这样的替代方案,这样就达到了人们想要的隐私效果。

Graftroot的优点

使用Graftroot可以不需要考虑智能合约的复杂性,更不需要关心有多少种可能的结算结果。因为Graftroot结构可以包含几百个可选脚本,并且这些脚本不会对可选脚本产生任何影响,这就意味着最初的智能合约构建完成后,Alice和Bob还可以添加更多条件!

Graftroot的缺点

Graftroot也有缺点,其中一个就是它是交互式的。参与者必须相互交流才能为替代脚本签名,甚至是在花钱之前。此外,参与者需要存储替代脚本的阈值签名。如果他们丢失了这个签名,他们就没有其他解决办法了。

Graftroot技术现状

目前,Graftroot技术还没有完全实现,但据可靠消息称,利用被称为“脚本版本控制”的功能,将允许以向后兼容的方式来实现Graftroot技术。

网站简介匿名科技
本网站有各类区块链行业资讯分享、技术产品介绍以及产品白皮书。

标签