首先这个话题不是笔者一个人的顾虑,今年8月17号,以太坊创始人Vitalik在推特上发文:「我依旧很担心这些发在以太坊上的BTC映射代币到底靠不靠谱?」言下之意,现在以太坊上有各种加字母的BTC代币,但是到底是不是真正「去中心化」且安全的方案呢?
在Vitalik的推特下面,我们看到了很多国际上区块链圈内人热烈的讨论,也提到了各种现在主流的BTC跨链方案,比如REN,WAN等。笔者在Wanchain一直从事安全跨链技术方面的研究,所以平时对各种跨链BTC方案也做了些粗浅的研究,这里和大家分享一下我们的一些看法。
所谓的BTC跨链,最简单直接的理解就是一个用户把「真」的BTC从钱包转到一个BTC地址,这个地址收到「真」BTC以后,在以太坊上给你一个「假」的BTC的映射代币,如下图流程所示:
一般在以太坊上用ERC20标准铸造的BTC代币前加个字母符号,如wanBTC,renBTC,sBTC,WBTC,tBTC等。但是本质上都是「真」币换「假」币。那为什么大家要问,谁会用真币去换个假币呢?一是技术原因,因为近期以太坊上的DeFi应用如火如荼,但是这些DeFi应用只能支持ERC20标准的代币参与到这些DeFi协议/产品中去,要不交换,要不借贷,要不流动性挖矿等;二是市场原因,毕竟BTC作为公认的数字货币的「黄金」,拥有太多的拥趸和持币用户群体,每个DeFi产品都希望引流,扩大自己的产品使用人群或者流动性提供者。既然理解了「真」换「假」是个刚需,接下来就是考验这些跨链方案的去中心化性和安全性了,也就是「真」能换到「假」,同时「假」也要能换回「真」同时你拿着「假」币的时候,拿着你「真」币的「人或者一个机制」不会带着你的真币跑路。
中心化托管方案,这个拿着你「真」币的人就是告诉你:你的「真」币在我手里,我不会跑路,你放心吧!代表性的方案就是WBTC。WBTC背靠BitGo这颗大树,完全用中心化的信任来做保证。
当然在区块链和DeFi的世界中,大家更喜欢,更接受的是「去中心化」而又「安全」的方案,所以其他一些知名跨链项目都走的「非托管,去中心化,安全」解决方案的思路。其中来保证这个保存你「真」BTC账户的核心技术,采用的是多方安全计算,即MPC(Multi-partyComputing)。
Luno允许用户使用任何借记卡或信用卡购买加密货币:金色财经报道,南非加密货币应用程序Luno可以立即在其平台上以兰特购买加密货币。用户现在无需将兰特存入他们的 Luno 钱包,而是可以立即使用银行卡付款。通过与总部位于荷兰的支付服务提供商 PayU 的合作,即时购买功能成为可能。用户最多可以在他们的个人资料中添加两张卡以用于即时购买选项,并能够使用 PayU 的安全身份验证在支付点使用其他卡。[2023/2/12 12:01:49]
做跨链的项目/协议用的「多方安全计算MPC」或者说是「门限签名TSS」都是来自于一篇发表于1996年的经典论文《RobustThresholdDSSSignatures》,很可惜的是,这些项目/协议基本都是直接使用了这篇论文中阐述的原理来实现多方安全计算而并没有太多的创新。笔者和团队早在2017年的时候就意识到这篇论文的结果可以用于建立MPC账户,从而完成跨链资产的锁定。故我们一直致力于把MPC/TSS真正用到跨链场景/产品中去,并且同时我们也使用了一些独创的算法来降低了MPC计算过程中的交互次数。MPC技术在跨链应用的一个重要难点就是参与MPC计算节点的「个体私钥」与节点集合「群组私钥」的耦合关系。简单来说,「群组私钥」能够直接管理MPC账户,并且是由所有「个体私钥」决定,但是这仅仅是一个「理论」存在,即它的功能实施是依赖于参与节点的「个体私钥」通过多方计算的方式完成的。因此整个机制具有较高的容错性,即使个别MPC计算节点作恶,也并不会影响协议运行。当然,当一个新的群组形成后,成员节点们的「个体私钥」也会决定一个新的「群组私钥」,即群组和「群组私钥」是一一对应的。
我们再看看类似最近很火的renBTC的方案,根据其技术白皮书介绍,它同样是基于论文《RobustThresholdDSSSignatures》中的技术作为其TSS解决方案。并且在此项目介绍中,重点强调其管理跨链BTC账户是由一组「暗节点」生成,而且这组「暗节点」中的成员一定会进行周期性的轮换。但是矛盾的是,我们发现renBTC提供的用户转入真BTC进行锁定的BTC地址自从上线第一天开始至今没有任何变化过。其流程是用户先把BTC转账到一个一次性地址里面,然后一次性地址又汇总到锁定账户,锁定账户一直没有变过如下图所示。
Bitfarms 2022年共开采出5167枚BTC,上月售出1755枚BTC:金色财经报道,比特币矿企Bitfarms在2022年12月开采496枚比特币,2022年共开采5167枚比特币,同比增加50%。截至2022年12月31日,Bitfarms上线算力为4.5EH/s,比2021年12月增加105%;持有约3100万美元的现金和现金等价物。另外,Bitfarms在2022年12月售出1755 BTC,总收益为2990万美元。计划在2023年第一季度部署5600台矿机,产能为540PH/s。[2023/1/3 9:49:56]
图1
图2
如果这个账户地址」真的」是由MPC产生,而且参与账户管理的「暗节点」会周期性轮换的话,那么账户的地址也一定会进行周期性的更新,而不是一直不变。因此宣传的技术和项目的实施出现了自相矛盾的状况。那为什么会出现技术白皮书的描述和产品实现貌似完全是不一样的?从而引发我们进一步的思索,这个「托管」BTC的地址到底是不是通过MPC方式产生的?如果是,没有变化过又如何解释呢?至少我们从其Github代码库和各种参考技术文档中没有任何发现。
然而REN的问题远不止于此。renBTC采用的ECDSA门限签名方案并不满足「门限最优」的理论,也就说设定门限值t后,至少需要2t1个「暗节点」参与才能够保证计算的顺利实施,再结合一些节点的掉线可能状况,最终实现中节点的数量为3t1。也就是说,这种状态下只要约三分之一的节点合谋即可盗取走跨链的BTC,是非常危险的,同理参考已经被业界略有微辞的BFT拜占庭容错协议中,还需要至少三分之二的共识,因此renBTC的TSS方案在安全性存在很大的风险。
最后,根据REN技术白皮书介绍,在其BTC账户建立过程中,「暗节点」之间通过一条私有链完成数据的交互,而且交互数据是处于加密状态的,而其合法性则是由「零知识证明」保证。因此最终「个体私钥」是否正确,完全是依赖于这个零知识证明的。那么到底如何去构造这个零知识证明呢?REN技术白皮书中并没有给出具体实现方式,也没有给出相关的参考文献,同样在Gitbub上没有相关任何代码实现。这样不免给人堆砌密码学名词,造成高大上感觉的疑惑。
元宇宙开放平台大有完成数千万元融资:12月22日消息,近日,元宇宙开放平台大有完成数千万元新一轮融资。此前,大有已完成数千万元种子轮、天使轮融资,由小米联合创始人投资。在本轮融资中,原股东小米联创投资人全部加码。[2022/12/22 22:01:40]
写在最后的感想:今年尤其是6月份以后,DeFi成为了区块链的一个现象,并且应用,TVL值都井喷式的发展。虽然其中不免有部分泡沫,但整体看到区块链应用在快速发展,也产生了很多有意义的尝试,这都是整个行业喜闻乐见的事情。但与此同时,区块链核心技术,比如去中心化安全跨链技术的发展并不像DeFi应用那么快,我们无意去攻击类似REN这样的项目,只是作为区块链技术的理性的探讨:一是推到市场的产品是否应该符合技术白皮书的构想?二是如果在白皮书阶段提出了很多「高大上」的名词来证明自己机制的「独特性,安全性」等,是否应该工程实现环节也证明出来?我们看过了太多当年ICO时候靠一个白皮书来融资,讲故事的浮生绘,整个行业包括我们每个人或多或少都是受害者,所以时至今日再来审视的时候,我们思考的更多是做点真正有意义的突破,哪怕是很小的一点突破。也希望做跨链赛道的国内外同行能够一起沉下心来,摒除浮夸,少点言行不一致的,做点实际的事情,就像这句名言说的:你可以所有人于一时,也可以部分人于一世,但不能所有人于一世。
致谢Dr.WJZhang,GabrielGuo,NoahMaizels,NicolasKraples对作者很多观点的启发
撰文:李尼、Dr.DemmonZ.Z,前者为Wanchain全球副总裁、去中心化金融协议FinNexus发起人,后者为Wanchain理论团队负责人
参考文献:
RosarioGennaroandStevenGoldfeder.「FastMultipartyThresholdECDSAwithFastTrustlessSetup」.English.In:ACM,2018,pp.1179–1194.isbn:9781450356930;1450356931;
RosarioGennaro,StevenGoldfeder,andArvindNarayanan.「ThresholdOptimalDSA/ECDSASignaturesandanApplicationtoBitcoinWalletSecurity」.In:AppliedCryptographyandNetworkSecurity.Ed.byMarkManulis,Ahmad-RezaSadeghi,andSteveSchneider.Cham:SpringerInternationalPublishing,2016,pp.156–174.isbn:978-3-319-39555-5.
RosarioGennaroetal.「RobustThresholdDSSSignatures」.In:AdvancesinCryptology—EUROCRYPT’96.Ed.byUeliMaurer.Berlin,Heidelberg:SpringerBerlinHeidelberg,1996,pp.354–371.isbn:978-3-540-68339-1.
PhilipMacKenzieandMichaelK.Reiter.「Two-partygenerationofDSAsignatures」.In:InternationalJournalofInformationSecurity2.3(Aug.2004),pp.218–239.doi:10.1007/s10207-004-0041-0.url:?https://doi.org/10.1007/s10207-004-0041-0.
IvanDamgardetal.「ImplementingAESviaanActively/CovertlySecureDishonest-MajorityMPCProtocol」.In:SecurityandCryptographyforNetworks.Ed.byIvanViscontiandRobertoDePrisco.Berlin,Heidelberg:SpringerBerlinHeidelberg,2012,pp.241–263.isbn:978-3-642-32928-9.
RanCanetti.「SecurityandCompositionofMultipartyCryptographicProtocols」.In:JournalofCryptology13.1(Jan.2000),pp.143–202.doi:10.1007/s001459910006.
TorbenP.Pedersen.「Non-InteractiveandInformation-TheoreticSecureVerifiableSecretSharing」.In:Proceedingsofthe11thAnnualInternationalCryptologyConferenceonAdvancesinCryptology.CRYPTO’91.Berlin,Heidelberg:Springer-Verlag,1991,pp.129–140.isbn:3540551883.
RosarioGennaroetal.「SecureDistributedKeyGenerationforDiscreteLogBasedCryptosystems」.English.In:JournalofCryptology20.1(2007),pp.51–83.
AdiShamir.「HowtoShareaSecret」.In:Commun.ACM22.11(Nov.1979),pp.612–613.issn:0001-0782.doi:10.1145/359168.359176.url:?https://doi.org/10.1145/359168.359176.
GiladAsharovetal.「AFullProofoftheBGWProtocolforPerfectlySecureMultipartyComputation」.English.In:JournalofCryptology30.1(2017),pp.58–151.
ShafiGoldwasser,SilvioMicali,andCharlesRackoff.「TheKnowledgeComplexityofInteractiveProofSystems」.English.In:SIAMJournalonComputing18.1(1989),pp.186–208.
SilvioMicaliandPhillipRogaway.「SecureComputation」.In:AdvancesinCryptology—CRYPTO’91.Ed.byJoanFeigenbaum.Berlin,Heidelberg:SpringerBerlinHeidelberg,1992,pp.392–404.isbn:978-3-540-46766-3.35
DonaldBeaver.「FoundationsofSecureInteractiveComputing」.In:AdvancesinCryptology—CRYPTO’91.Ed.byJoanFeigenbaum.Berlin,Heidelberg:SpringerBerlinHeidelberg,1992,pp.377–391.isbn:978-3-540-46766-3.
JensGroth.「OntheSizeofPairing-BasedNon-interactiveArguments」.In:May2016,pp.305–326.isbn:978-3-662-49895-8.doi:10.1007/978-3-662-49896-5_11.
EthanBuchman,JaeKwon,andZarkoMilosevic.ThelatestgossiponBFTconsensus.2018.arXiv:1807.04938v3.
P.Feldman.「Apracticalschemefornon-interactiveverifiablesecretsharing」.In:28thAnnualSymposiumonFoundationsofComputerScience(sfcs1987).Oct.1987,pp.427–438.doi:10.1109/SFCS.1987.4.
LloydR.WelchandElwynR.Berlekamp.ErrorCorrectionforAlgebraicBlockCodes.U.S.Patent4,633,470.Dec.1986.
ShuhongGao.「ANewAlgorithmforDecodingReed-SolomonCodes」.In:Communications,InformationandNetworkSecurity.Ed.byVijayK.Bhargavaetal.Boston,MA:SpringerUS,2003,pp.55–68.isbn:978-1-4757-3789-9.doi:10.1007/978-1-4757-3789-9_5.
R.McElieceandD.Sarwate.OnsharingsecretsandReed-Solomoncodes.English.1981.
ManuelCerecedo,TsutomuMatsumoto,andHidekiImai.「Efficientandsecuremultipartygenerationofdigitalsignaturesbasedondiscretelogarithms」.In:IEICETransactionsonFundamentalsofElectronics,CommunicationsandComputerSciences76(Apr.1993).
MichaelBen-Or,ShafiGoldwasser,andAviWigderson.「CompletenessTheoremsforNon-CryptographicFault-TolerantDistributedComputation」.In:ProceedingsoftheTwentiethAnnualACMSymposiumonTheoryofComputing.STOC’88.Chicago,Illinois,USA:AssociationforComputingMachinery,1988,pp.1–10.isbn:0897912640.doi:10.1145/62212.62213.url:https://doi.org/10.1145/62212.62213.
DonaldBeaver.「EfficientMultipartyProtocolsUsingCircuitRandomization」.In:Proceedingsofthe11thAnnualInternationalCryptologyConferenceonAdvancesinCryptology.CRYPTO’91.Berlin,Heidelberg:Springer-Verlag,1991,pp.420–432.isbn:3540551883.
J.Bar-IlanandD.Beaver.「Non-cryptographicfault-tolerantcomputinginconstantnumberofroundsofinteraction」.English.In:ACM,1989,pp.201–209.isbn:0897913264;9780897913263;
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。