潘志彪:简析 Taproot 如何降低比特币合约交易成本并改善隐私
Taproot 对比特币合约来说,实现了交易成本极小化与隐私极大化,但仍无法做到资金流向和数额隐匿。
Taproot 对于比特币合约来说,即实现了交易成本极小化,又使得隐私极大化。
生活中的合约、合同通常有以下一些特征:
-
通常,合约是双方或多方的。
-
合约的双方并不绝对信任对方,如果可以绝对信任对方,则不需要合约。
-
合约的双方一般假设对方大概率会履约:如果还没交易就已经认为对方不会履约,可能会选择不交易,或使用一些合约条款(如惩罚)保证对方履约。
-
设计正确的合约,应该让双方在履约的情况下均会得到较大利益(或较少损失)
-
因此在绝大部份情况下,合约都不会有争议,双方都会合作实行合约条款。在这种情况下,合约条款一般会得到保密,不为第三方所知。
-
若过程中出现争议(不合作)的情况,需要由第三方机构(如法院)进行仲裁。在这种情况下,合约条款需要公开,提供给律师、法官等。
比特币链上是可以写简单合约的,例如 n/m 式的多重签名机制、闪电网络等。区块链的合约通常称为智能合约。
-
所有合约的特性都适用于智能合约,只是区块链规则担当了仲裁的角色,换言之 Code is Law。
-
但现在比特币的智能合约,不论是 2009 年中本聪的原始设计,2012 年出现的 P2SH,还是 2017 年的隔离见证 (P2WSH),都有一个共同的问题:无论立约双方是否合作,合约内容必须完全公开,即合约脚本必须公开。当花费时必须提供合约脚本全部内容才能进行校验。
-
公开合约内容主要带来两个问题:
-
交易成本:智能合约一般都需要多个签名,加上合约内容脚本本身,占用更多区块空间,令交易手续费上升。
-
隐私问题:第三方可以监控区块链数据,通过合约内容的特征,追踪资金的流向和推断合约参与者的身份。
ECDSA
ECDSA 是比特币诞生到现在唯一的签名验证机制。
-
数字签名是比特币认证交易合法性的最重要手段,确权的唯一标准。
-
自 2009 年以来,比特币均使用 ECDSA 为数字签名标准,包括 P2PK 和 P2PKH,以及 2012 年的 P2SH,2017 年的 P2WPKH 和 P2WSH。
-
比特币的公 / 私钥系统是线性的,因此我们可以把多个私钥相加,也可以把对应的多个公钥相加,这样产生的新私钥和新公钥仍然是一对。这是 HD 钱包的理论基础。
-
但 ECDSA 的签名是非线性的,因此简单的把多个签名结果加起来,则不再是有效的签名。
-
因此一直以来,比特币的多签交易均需要在区块链公开多个签名,问题和智能合约相同(交易成本,隐私问题)。
-
201 方的多方签名人数的理论极限(P2SH 大概只容许最多 16 方)。
Schnorr
再说一下 Schnorr 签名算法。
-
Schnorr 签名的专利于 2008 年才失效,当时没有广泛的开源实现及应用,所以 2009 年诞生的比特币也没有使用,中本聪还是比较谨慎的。签名算法通常是需要深厚的数学理论基础才能设计。一个小的理解偏差、编码错误则可能导致严重问题。
-
Schnorr 签名使用的公 / 私钥系统和 ECDSA 相同,因此现有的私钥管理 (如 BIP32) 可以继续使用。
-
Schnorr 和 ECDSA 的区别在于:Schnorr 签名是线性的。对于同一内容 X,如果用多个私钥各自签名,然后把对应的多个公钥相加,再把多个签名相加,得出的新签名会是新公钥对内容 X 的有效签名。
-
利用这个特性,签名人数没有理论极限。只要各方一致合作,就可以把签名相加起来,看起来和单方签名无异。
-
Schnorr 签名算法的安全性于 2012 年得到数学证明。
Taproot 解决的问题
Taproot 以 Schnorr 签名算法为基础。
-
以 Taproot 进行的智能合约,如果双方合作,不但无需公开合约内容,而且交易会和最简单普遍的单方签名交易看起来没有分别。即交易成本极小化及隐私极大化。
-
如果双方不合作,申诉方仍需要公开合约脚本内容以供区块链仲裁,暴露脚本全部或部分内容,由节点验证执行之。
-
通过使用 MAST (Merklized Alternative Script Trees),申诉方只需要公开合约的相关部分,而非所有合约条款,也因此尽量降低交易成本和对隐私的影响。合约可能有多条执行路径,仅公布即将执行的路径即可。
Taproot 没有解决的问题
Taproot 没有把交易金额隐藏,因此仍可以通过分析输入和输出金额估计资金流向。
Taproot 地址和旧式地址一样,会在区块链公开。如果使用者重复使用 Taproot 地址,那和重复使用旧式地址有相同的隐私问题:太多交易信息集中在一个地址上。
总结
比特币在隐私方向上,有两大待攻克的难题。一是流向隐匿,这在 UTXO 系统里是比较棘手的;二是金额隐匿,可以通过类似 Grin 的技术来解决,需要扩展区块或分叉来实现。
即使上述两大难点并没有解决掉,但 Taproot 对于 比特币 合约来说,即实现了交易成本极小化,又使得隐私极大化。还是一个显著的进步。
来源链接:card.weibo.com
原文标题:《Taproot 简介之二》
撰文:潘志彪,币印创始人
Ai sẽ là người được lợi trong đợt Bull Run của Bitcoin?
Theo báo cáo của sàn giao dịch OKEx trong thời kỳ Bull Run hiện tại của Bitcoin, những ch...
MCDEX khởi chạy trên mạng thử nghiệm Arbitrum Rollup L2
MCDEX vui mừng thông báo về việc ra mắt testnet của mình trên Arbitrum Rollup, một giải pháp khả năn...
[Tổng kết AMA] Cùng BigcoinVietnam tìm hiểu về Lien.Finance
Vào 11:00 AM - 12:00 PM, thứ tư, ngày 02/12/2020 Lien.Finance và BigcoinVietnam đã tổ chức một ...