织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

比特币 Taproot 升级即将到来,它包含了哪些重要内容?(4)

时间:2021-10-26 17:59来源:未知 作者:admin 点击:
在这里,Maxwell 敏锐地抓住了问题的要点:比特币的隐私保障来自于 「大隐隐于市」,最好所有的资金单元(UTXO)看起来都一个样,这样用户的真实身份

  在这里,Maxwell 敏锐地抓住了问题的要点:比特币的隐私保障来自于 「大隐隐于市」,最好所有的资金单元(UTXO)看起来都一个样,这样用户的真实身份、真实构成才最难把握。但是,在引入新的功能时,总免不了要提出新的 「地址」 类型,如果使用这种功能的用户很少,则每一个用户暴露真实身份的可能性都会大大增加,而这一点可能导致这些新功能根本不会被使用,从而失去意义。

  而且,尽管 MAST 在合约的隐私性上有重大作用,但如果还像过去那样,个人钱包是个人钱包,合约钱包是合约钱包,一目了然的话,就不能不说,这样的隐私性仍然是有瑕疵的。

  人们亟需一种办法,来终结这种 个人钱包 / 合约钱包 的区分,为比特币的隐私性补上点睛之笔。为此,最起码要实现的一点是,这种带有合约的钱包,在用户个人日常使用中,其代价与普通的个人钱包没有区别(经济性)。

  Taproot 就是这样的一种办法,它利用了密钥聚合的特点,提出了自带两种使用路径的脚本模式:一种是 n-n 的多签名合约;另一种是用户自定义的合约脚本。

  沿用 Maxwell 原文中的例子:

  「假设两个用户各有公钥 A、B,两人聚合公钥 A + B = C,再生成最终公钥 P = C + H(C||S) * G,其中 S 为自定义的脚本。就以这个最终公钥 P 来定义资金的解锁条件。」

  「假设两个用户都在线,他们很容易可以共同使用这笔资金,只要其中一方在签名时在自己的私钥里加上 H(C||S) 即可。」

  「如果只有其中一方在线,比如 S 定义了 B 可以花费资金的条件,Taproot 的规则使得公钥 B 用户可通过揭示聚合公钥 P 以及 H(C||S) 并提供可以满足 S 的条件来使用资金。」

  这里用的是 2-2 多签名合约,但用户可以想到,只要密钥聚合的技术可用,1-1 也就是单签名同样可以利用这种编写脚本的办法。重要的是:

  •   尽管这是一个带有自定义合约的资金,但在不动用合约、仅使用 n-n 多签名时,其手续费成本与单签名解锁的资金没有区别!

  •   在 n-n 多签名使用时,他人完全不知道这笔资金还可以用其他方式来解锁使用!

  这样一来,个人用户和合约用户都可以统一在一种脚本模式(P2TR 「地址」)下,个人用户放心给自己的资金加上合约,无需担心日常会付出更高的手续费代价;合约用户与个人用户因为使用同一种 「地址」 而享受到更大的匿名集,甚至于在大部分情况下都无需暴露自己使用了合约。皆大欢喜。

  总而言之,在 Taproot 之后,他人将无法从地址形式上分辨一个 P2TR 地址到底是个人用户还是合约用户;由于 Schnorr 签名的效果,当这个地址里的资金使用单签名来解锁时,他人将无法分辨这到底是一个人在使用,还是 n 个人一起使用,也无法知道这个地址是否还有自定义的脚本;由于 MAST 的效果,当用户使用自定义的脚本来花费资金时,只需暴露需要用到的部分脚本;他人虽然知道了这个地址有自定义的脚本,但整个脚本到底包括哪些条件,仍然是不可知的。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容