Vitalik Buterin:以太坊上的BTC映射代币到底靠不靠谱?

金色财经 view 60801 2020-8-24 10:29
share to
Scan QR code with WeChat

首先这个话题不是笔者一个人的顾虑,今年 8 月 17 号,以太坊创始人 Vitalik 在推特上发文:「我依旧很担心这些发在以太坊上的 BTC 映射代币到底靠不靠谱?」言下之意,现在以太坊上有各种加字母的 BTC 代币,但是到底是不是真正「去中心化」且安全的方案呢?

Vitalik Buterin:以太坊上的BTC映射代币到底靠不靠谱?

在 Vitalik 的推特下面,我们看到了很多国际上区块链圈内人热烈的讨论,也提到了各种现在主流的 BTC 跨链方案,比如 REN,WAN 等。笔者在 Wanchain 一直从事安全跨链技术方面的研究,所以平时对各种跨链 BTC 方案也做了些粗浅的研究,这里和大家分享一下我们的一些看法。

所谓的 BTC 跨链,最简单直接的理解就是一个用户把「真」的 BTC 从钱包转到一个 BTC 地址,这个地址收到「真」BTC 以后,在以太坊上给你一个「假」的 BTC 的映射代币,如下图流程所示:

Vitalik Buterin:以太坊上的BTC映射代币到底靠不靠谱?

一般在以太坊上用 ERC20 标准铸造的 BTC 代币前加个字母符号,如 wanBTC,renBTC, sBTC, WBTC, tBTC 等。但是本质上都是「真」币换「假」币。那为什么大家要问,谁会用真币去换个假币呢?一是技术原因,因为近期以太坊上的 DeFi 应用如火如荼,但是这些 DeFi 应用只能支持 ERC20 标准的代币参与到这些 DeFi 协议 / 产品中去,要不交换,要不借贷,要不流动性挖矿等;二是市场原因,毕竟 BTC 作为公认的数字货币的「黄金」,拥有太多的拥趸和持币用户群体,每个 DeFi 产品都希望引流,扩大自己的产品使用人群或者流动性提供者。既然理解了「真」换「假」是个刚需,接下来就是考验这些跨链方案的去中心化性和安全性了,也就是「真」能换到「假」,同时「假」也要能换回「真」同时你拿着「假」币的时候,拿着你「真」币的「人或者一个机制」不会带着你的真币跑路。

中心化托管方案,这个拿着你「真」币的人就是告诉你:你的「真」币在我手里,我不会跑路,你放心吧!代表性的方案就是 WBTC。WBTC 背靠 BitGo 这颗大树,完全用中心化的信任来做保证。

当然在区块链和 DeFi 的世界中,大家更喜欢,更接受的是「去中心化」而又「安全」的方案,所以其他一些知名跨链项目都走的「非托管,去中心化,安全」解决方案的思路。其中来保证这个保存你「真」BTC 账户的核心技术,采用的是多方安全计算,即 MPC (Multi-party Computing)。

做跨链的项目 / 协议用的「多方安全计算 MPC」或者说是「门限签名 TSS」都是来自于一篇发表于 1996 年的经典论文《Robust Threshold DSS Signatures》,很可惜的是,这些项目 / 协议基本都是直接使用了这篇论文中阐述的原理来实现多方安全计算而并没有太多的创新。笔者和团队早在 2017 年的时候就意识到这篇论文的结果可以用于建立 MPC 账户,从而完成跨链资产的锁定。故我们一直致力于把 MPC/TSS 真正用到跨链场景 / 产品中去,并且同时我们也使用了一些独创的算法来降低了 MPC 计算过程中的交互次数。MPC 技术在跨链应用的一个重要难点就是参与 MPC 计算节点的「个体私钥」与节点集合「群组私钥」的耦合关系。简单来说,「群组私钥」能够直接管理 MPC 账户,并且是由所有「个体私钥」决定,但是这仅仅是一个「理论」存在,即它的功能实施(如 MPC 账户资产的转移)是依赖于参与节点的「个体私钥」通过多方计算的方式完成的。因此整个机制具有较高的容错性,即使个别 MPC 计算节点作恶,也并不会影响协议运行。当然,当一个新的群组形成后,成员节点们的「个体私钥」也会决定一个新的「群组私钥」,即群组和「群组私钥」是一一对应的。

我们再看看类似最近很火的 renBTC 的方案,根据其技术白皮书介绍,它同样是基于论文《Robust Threshold DSS Signatures》中的技术作为其 TSS 解决方案。并且在此项目介绍中,重点强调其管理跨链 BTC 账户是由一组「暗节点(dark nodes)」生成,而且这组「暗节点」中的成员一定会进行周期性的轮换。但是矛盾的是,我们发现 renBTC 提供的用户转入真 BTC 进行锁定的 BTC 地址自从上线第一天开始至今没有任何变化过。其流程是用户先把 BTC 转账到一个一次性地址里面(下图 1),然后一次性地址又汇总到锁定账户(下图 2),锁定账户一直没有变过如下图所示。

Vitalik Buterin:以太坊上的BTC映射代币到底靠不靠谱?

图 1

Vitalik Buterin:以太坊上的BTC映射代币到底靠不靠谱?

图 2

如果这个账户地址」真的」是由 MPC 产生,而且参与账户管理的「暗节点」会周期性轮换的话,那么账户的地址也一定会进行周期性的更新,而不是一直不变。因此宣传的技术和项目的实施出现了自相矛盾的状况。那为什么会出现技术白皮书的描述和产品实现貌似完全是不一样的?从而引发我们进一步的思索,这个「托管」BTC 的地址到底是不是通过 MPC 方式产生的?如果是,没有变化过又如何解释呢?至少我们从其 Github 代码库和各种参考技术文档中没有任何发现。

然而 REN 的问题远不止于此。renBTC 采用的 ECDSA 门限签名方案并不满足「门限最优(threshold optimal)」的理论,也就说设定门限值 t 后,至少需要 2t+1 个「暗节点」参与才能够保证计算的顺利实施,再结合一些节点的掉线可能状况,最终实现中节点的数量为 3t+1。也就是说,这种状态下只要约三分之一的节点合谋即可盗取走跨链的 BTC,是非常危险的,同理参考已经被业界略有微辞的 BFT 拜占庭容错协议中,还需要至少三分之二的共识,因此 renBTC 的 TSS 方案在安全性存在很大的风险。

最后,根据 REN 技术白皮书介绍,在其 BTC 账户建立过程中,「暗节点」之间通过一条私有链完成数据的交互,而且交互数据是处于加密状态的,而其合法性则是由「零知识证明」保证。因此最终「个体私钥」是否正确,完全是依赖于这个零知识证明的。那么到底如何去构造这个零知识证明呢?REN 技术白皮书中并没有给出具体实现方式,也没有给出相关的参考文献,同样在 Gitbub 上没有相关任何代码实现。这样不免给人堆砌密码学名词,造成高大上感觉的疑惑。

写在最后的感想:今年尤其是 6 月份以后,DeFi 成为了区块链的一个现象,并且应用,TVL 值都井喷式的发展。虽然其中不免有部分泡沫,但整体看到区块链应用在快速发展,也产生了很多有意义的尝试,这都是整个行业喜闻乐见的事情。但与此同时,区块链核心技术,比如去中心化安全跨链技术的发展并不像 DeFi 应用那么快,我们无意去攻击类似 REN 这样的项目,只是作为区块链技术的理性的探讨:一是推到市场的产品是否应该符合技术白皮书的构想?二是如果在白皮书阶段提出了很多「高大上」的名词来证明自己机制的「独特性,安全性」等,是否应该工程实现环节也证明出来?我们看过了太多当年 ICO 时候靠一个白皮书来融资,讲故事的浮生绘,整个行业包括我们每个人或多或少都是受害者,所以时至今日再来审视的时候,我们思考的更多是做点真正有意义的突破,哪怕是很小的一点突破。也希望做跨链赛道的国内外同行能够一起沉下心来,摒除浮夸,少点言行不一致的,做点实际的事情,就像这句名言说的:你可以欺骗所有人于一时,也可以欺骗部分人于一世,但不能欺骗所有人于一世。

致谢 Dr. WJ Zhang,Gabriel Guo,Noah Maizels, Nicolas Kraples 对作者很多观点的启发

撰文:李尼、Dr. Demmon Z.Z,前者为 Wanchain 全球副总裁、去中心化金融协议 FinNexus 发起人,后者为 Wanchain 理论团队负责人

参考文献:

[1] Rosario Gennaro and Steven Goldfeder. 「Fast Multiparty Threshold ECDSA with Fast Trustless Setup」. English. In: ACM, 2018, pp. 1179–1194. isbn: 9781450356930;1450356931;

[2] Rosario Gennaro, Steven Goldfeder, and Arvind Narayanan. 「ThresholdOptimal DSA/ECDSA Signatures and an Application to Bitcoin Wallet Security」. In: Applied Cryptography and Network Security. Ed. by Mark Manulis, Ahmad-Reza Sadeghi, and Steve Schneider. Cham: Springer International Publishing, 2016, pp. 156–174. isbn: 978-3-319-39555-5.

[3] Rosario Gennaro et al. 「Robust Threshold DSS Signatures」. In: Advances in Cryptology — EUROCRYPT ’96. Ed. by Ueli Maurer. Berlin, Heidelberg: Springer Berlin Heidelberg, 1996, pp. 354–371. isbn: 978-3-540-68339-1.

[4] Philip MacKenzie and Michael K. Reiter. 「Two-party generation of DSA signatures」. In: International Journal of Information Security 2.3 (Aug. 2004), pp. 218–239. doi: 10.1007/s10207-004-0041-0. url: https://doi.org/10.1007/s10207-004-0041-0.

[5] Ivan Damgard et al. 「Implementing AES via an Actively/Covertly Secure Dishonest-Majority MPC Protocol」. In: Security and Cryptography for Networks. Ed. by Ivan Visconti and Roberto De Prisco. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012, pp. 241–263. isbn: 978-3-642-32928-9.

[6] Ran Canetti. 「Security and Composition of Multiparty Cryptographic Protocols」. In: Journal of Cryptology 13.1 (Jan. 2000), pp. 143–202. doi: 10.1007/s001459910006.

[7] Torben P. Pedersen. 「Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing」. In: Proceedings of the 11th Annual International Cryptology Conference on Advances in Cryptology. CRYPTO ’91. Berlin, Heidelberg: Springer-Verlag, 1991, pp. 129–140. isbn: 3540551883.

[8] Rosario Gennaro et al. 「Secure Distributed Key Generation for DiscreteLog Based Cryptosystems」. English. In: Journal of Cryptology 20.1 (2007), pp. 51–83.

[9] Adi Shamir. 「How to Share a Secret」. In: Commun. ACM 22.11 (Nov. 1979), pp. 612–613. issn: 0001-0782. doi: 10.1145/359168.359176. url: https://doi.org/10.1145/359168.359176.

[10] Gilad Asharov et al. 「A Full Proof of the BGW Protocol for Perfectly Secure Multiparty Computation」. English. In: Journal of Cryptology 30.1 (2017), pp. 58–151.

[11] Shafi Goldwasser, Silvio Micali, and Charles Rackoff. 「The Knowledge Complexity of Interactive Proof Systems」. English. In: SIAM Journal on Computing 18.1 (1989), pp. 186–208.

[12] Silvio Micali and Phillip Rogaway. 「Secure Computation」. In: Advances in Cryptology — CRYPTO ’91. Ed. by Joan Feigenbaum. Berlin, Heidelberg: Springer Berlin Heidelberg, 1992, pp. 392–404. isbn: 978-3-540-46766-3.35

[13] Donald Beaver. 「Foundations of Secure Interactive Computing」. In: Advances in Cryptology — CRYPTO ’91. Ed. by Joan Feigenbaum. Berlin, Heidelberg: Springer Berlin Heidelberg, 1992, pp. 377–391. isbn: 978-3-540-46766-3.

[14] Jens Groth. 「On the Size of Pairing-Based Non-interactive Arguments」. In: May 2016, pp. 305–326. isbn: 978-3-662-49895-8. doi: 10.1007/978-3-662-49896-5_11.

[15] Ethan Buchman, Jae Kwon, and Zarko Milosevic. The latest gossip on BFT consensus. 2018. arXiv: 1807.04938v3 [cs.DC].

[16] P. Feldman. 「A practical scheme for non-interactive verifiable secret sharing」. In: 28th Annual Symposium on Foundations of Computer Science (sfcs 1987). Oct. 1987, pp. 427–438. doi: 10.1109/SFCS.1987.4.

[17] Lloyd R. Welch and Elwyn R. Berlekamp. Error Correction for Algebraic Block Codes. U.S. Patent 4,633,470. Dec. 1986.

[18] Shuhong Gao. 「A New Algorithm for Decoding Reed-Solomon Codes」. In: Communications, Information and Network Security. Ed. by Vijay K. Bhargava et al. Boston, MA: Springer US, 2003, pp. 55–68. isbn: 978-1-4757-3789-9. doi: 10.1007/978-1-4757-3789-9_5.

[19] R. McEliece and D. Sarwate. On sharing secrets and Reed-Solomon codes. English. 1981.

[20] Manuel Cerecedo, Tsutomu Matsumoto, and Hideki Imai. 「Efficient and secure multiparty generation of digital signatures based on discrete logarithms」. In: IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 76 (Apr. 1993).

[21] Michael Ben-Or, Shafi Goldwasser, and Avi Wigderson. 「Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation」. In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing. STOC ’88. Chicago, Illinois, USA: Association for Computing Machinery, 1988, pp. 1–10. isbn: 0897912640. doi: 10.1145/62212.62213. url:https://doi.org/10.1145/62212.62213.

[22] Donald Beaver. 「Efficient Multiparty Protocols Using Circuit Randomization」. In: Proceedings of the 11th Annual International Cryptology Conference on Advances in Cryptology. CRYPTO ’91. Berlin, Heidelberg: Springer-Verlag, 1991, pp. 420–432. isbn: 3540551883.

[23] J. Bar-Ilan and D. Beaver. 「Non-cryptographic fault-tolerant computing in constant number of rounds of interaction」. English. In: ACM, 1989, pp. 201–209. isbn: 0897913264;9780897913263;

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 以太坊钱包 MetaMask :将开源并对复制代码者收费 Next: 比特币近期下跌原因或与5万多个比特币期货即将到期有关

Related