区块链技术是什么时候兴起的,区块链技术是什么时候出现的

  

  (温馨提示:文末有下载方式)   

  

  

1、匿名伊始――BTC 的“提尔锋”

  

  

   2008年,中本聪发表了著名的《Bitcoin: A Peer-to-Peer Electronic Cash System》 (BTC:一种点对点的电子现金系统),并于次年挖掘出第一个BTC。数字通行证的概念首次成为现实。当时金融危机爆发,人们对法定货币的信心大打折扣,而BTC的去中心化(Decentralized)、抗通胀、公开透明、不可逆(Immutable)、匿名(Anonymous)等特点似乎很符合人们对理想货币的想法。   

  

  1.1 BTC 的隐私策略   

  

  BTC上任伊始,媒体和投资者对数字通行证褒贬不一。有人关心数字通是不是一种新型的“庞氏骗局”;其他人则关注BTC的优势,包括权力下放、匿名性和不可逆转性。随着对digital pass认识的深入,公众逐渐形成了对前者的共识——开源、共享、免费观看的BTC不具备庞氏骗局的典型特征。然而,BTC在运营过程中也逐渐暴露出一些问题,其中之一就是隐私问题。   

  

  BTC交易不需要提供真实信息,只需要提供与真实信息无关的虚拟信息(地址)。但是,由于区块链记录了每笔交易的相关地址和金额,因此追踪器可以匹配多笔交易中的相同地址,并将它们关联起来。正因如此,BTC的隐私政策被称为“笔名”(Pseudonymity)。   

  

  2017年9月,美国联邦当局通过BTC地址在亚特兰大机场逮捕了法国毒枭加尔瓦莱里乌斯(Gal Vallerius),当时引起广泛关注。调查人员发现,黑暗网络中的毒枭OxyMonster多次使用同一个BTC地址收款,在这个地址的17笔对外交易中,有15笔与法国公民Gal Vallerius有关。执法部门注意到了这一线索,进一步分析了开源数据,定位了瓦莱里乌斯的Instagram和Twitter账户,对比了OxyMonster和瓦莱里乌斯的写作风格,最终确定了他们的身份。   

  

  除了隐私问题,“化名”策略还损害了BTC的可替代性(Fungibility)。   

  

  1.2 BTC 的“提尔锋”   

  

  可替换性是指一个项目的独立单元实质上是可互换的。黄金和法定货币都是可以替换的。同等重量的黄金和同等面额的法定货币是等价的,它的价值不会因为黄金是否被海盗经手,或者纸币是否在黑市流通过而改变(虽然纸币上有数字,但很少有人关注这些数字)。   

  

  BTC 's的“假名”策略导致其“可替代性”特征的丧失。交易的公开、透明、可追溯、不可篡改是BTC的特点,被誉为数字通行证。从“创世街区”至今的所有交易记录都保存在区块链。   

  

  但这些特征现在已经成为BTC的“轮胎前沿”。持有人绝不希望陷入被有关部门冻结的困境,所以交易接收方通常会拒绝收入被“污染”(比如有非法交易史)的BTC,而更倾向于持有干净的BTC,其中价值最高的是首次从矿工身上流出的BTC。   

  

  为了加强数字通行证交易的私密性,基于BTC开发的加密通行证ByteCoin应运而生。   

  

  1.3 “匿名通证”应运而生   

  

  作为第一个基于CryptoNote 协议的匿名通行证,Bytecoin 使用了隐私地址技术(Stealth Address)和环签名技术(Ring Signature)来处理BTC .的隐私保护缺陷。其中,Monero、Dash等匿名通市值位居所有数字通前列(根据CoinMarketCap 2019年6月24日市值排名,Monero排名第13,Dash排名第15)。   

  

  目前,市场上有代表性的匿名pass有Monero,Dash,Zcash ,等。这已经验证了几年,Zencash ,这是一个硬分支的匿名传递。以及Grin,Beam,Dero 和其他数字通圈的新宠。这些匿名通行证在信息技术、匿名技术、密码学等方面取得了突破。下面将介绍目前市场上常见的匿名技术。   

  

  

2、常见的匿名技术

  

  

  针对BTC的隐私,世界各地的学者都进行了研究。到目前为止,已经提出了许多完善的解决方案,并在实际的区块链项目中得到了应用。   

目前比较常见的匿名技术包括CryptoNote、Coinjoin、Zerocoin (以及次年基于Zerocoin 发展而来的Zerocash)、RING-CT、Mimblewimble 等。

  

2.1 CryptoNote 协议――首个数字通证隐私协议

  

2012 12 月,第一个针对数字通证隐私问题的协议―― CryptoNote 问世。该协议介绍了两种技术:隐私地址技术和环签名技术,分别提供对数据接收方和发送方的隐私保护。2013 年10 月名义撰写人Nicolas van Saberhagen 更新了CryptoNote 第2 版。基于CryptoNote 协议的匿名数字通证有很多,包括Bytecoin、Monero 和Partic(l Monero和Particl使用RING-CT协议,此协议基于CryptoNote 发展而来)。

  

2.1.1 隐私地址技术

  

隐私地址技术是隐藏实际交易地址的技术,该技术主要提供对

  

数据接收方的隐私保护。

  

用户进行BTC 交易时将在公共区块链上生成一份标准的BTC 交易记录,记录交易包含接收方的地址,BTC 使用假名技术保护接收方的地址隐私,但是区块链的公开透明性使追踪者能够将特定假名的所有交易相关联,进而结合其他信息和方法可能追踪到实际交易者。

  

CryptoNote 的隐私地址技术使用一次性隐匿地址(后称混淆地址)降低不同交易之间的关联性,发送方和接收方可通过查看密钥确认交易是否有效。

  

  

相较于其他的隐私策略,隐私地址技术具有多重密钥的特性。接收方具有私钥b 和公钥B(B=bG),G 为Ed25519 曲线上的一个点。发送方在交易时取得接收方的公钥B,生成混淆地址P。该地址由两部分构成,一部分由接收方的公钥B 经过哈希生成,这一过

  

程加入了只有发送方拥有的随机数r;一部分为接收方的公钥B。= ()+

  

在交易的开始阶段,支付方Alice获得接收方Bob 的查看公钥A 和支付公钥B,结合随机数r 经过哈希和椭圆算法获得混淆地址。混淆地址P 生成后被矿工记录上链。接收方可以在链上获取随机数r 经椭圆算法运算后的R(R=rG),且bR=brG=rbG=rB,根据此等式接收方可使用查看私钥和支付公钥生成相同的混淆地址:

  

′ =()+

  

接收方通过R、私钥b 和公钥B 检验区块链上的所有交易地址以确认是否存在自己的交易。检查等式如下:

  

= ′

  

隐私地址技术使用一次性的隐匿地址,极大地增强了交易接收方的安全性,保证通信接收方的信息隐私。

  

2.1.2环签名技术

  

相比于隐私地址技术,环签名技术能够提供对数据发送方的隐私保护。环签名技术借用无法追溯来源的共同签名实现数字通证交易签名混淆化。共同签名混合一群信息发送方的签名,其中之一是信息真正的发起者,其余来自于区块链网络。后者从区块链曾记录的无数签名中提取而来,被称为诱饵(decoy)。

  

  

环签名技术涉及密码学中的单向陷门函数,该函数首先是一个单向函数,通过不对称算法保证不可逆性(即正向计算容易而反向计算困难,例如函数= (),若已知x 欲求y 很容易,而已知y 欲求= ()则很困难)。其次具有一个特定陷门(也称后门),若知道陷门m 可以很容易地计算出= ()。在基于单向陷门函数的公开密钥密码体制中,公钥是公开可查的,可用于加密信息,且仅有拥有私钥的接收方可以使用私钥对加密信息进行解密。

  

生成签名。利用发送方私钥与一组区块链上的随机公钥进行运算形成环签名。首先,发送方从区块链上获得r 个混淆公钥P(i i=12...r),生成随机数xi(i=12...r)并通过r 个公钥加密生成yi(i=12...r)。然后选取随机数v,并通过特定算法(此算法中,v yi 为参数)生成ys。作为私钥的拥有者,发送者可以很容易地利用私钥和ys 计算得到xs。最终的环签名P 由以下参数组成(其中Ps 是发送方的公钥):

  

= (,,... ,,; ;,,... ,,)

  

验证签名。验证者使用环签名中的参数xi(i=1,2,...,r),xs 经过各自对应的单向陷门函数(即Pi,Ps),求得相对应的输出值yi (i=1,2,...,r),ys,最后将yi,ys 经过上述特定算法的逆运算得到′,对比验证环签名中= ′,若等式成立则环签名有效。

  

环签名技术在信息发送环节加入了不可分辨的无效信息,从而能够保护发送方的信息隐私。在签名验证环节通过验证整体的签名即可确认交易信息的有效性。

  

2.2 Coinjoin――非中心化的“混币”方案

  

2013 1 28 日,BTC 开发商Gregory Maxwell 为提高BTC

  

的隐私性提出了Coinjoin 技术,其基础为“混币”技术。

  

“混币”是一种较朴素的通证匿名技术,指将多个交易者的输入进行混合后输出。观察者无法根据混币后的输出关联到交易输入,从而混淆数字通证流向。然而,早期的“混币”需要可信第三方的参与,存在中心化风险和信任问题。在此基础上发展起来的Coinjoin 则是非中心化的混币方案。

  

  

Coinjoin 使用多重签名技术(Multisig),交易者需各自独立分散完成签名,只有提供了所有签名的交易才能被判定合法,并被网络接收,否则,便会悉数分别退回个体的资产。

  

相比早期的混币服务,Coinjoin 能够有效化解第三方信任风险,避免了第三方盗窃与泄露混币信息的可能。CoinJoin 是非中心化混币机制的基础,主流匿名通证中的Dash 便应用了此协议。

  

但是,即便Coinjoin 在设计上不需要可信第三方参与,但为保证混币的效果,需要有充足数量的数字通证。这依然导致对数字通证集中持有者的依赖性。Zerocoin 协议针对此问题提出了改进方案。

  

2.3 Zerocoin、Zerocash――巧用密码学领域的高级证明法

  

2013 年5 月,为了改进Coinjoin 需要第三方参与的缺陷,约翰霍普金斯大学教授Matthew D. Green 等提出了Zerocoin 协议。此协议提议允许销毁并重新生成数字通证,以保证通证交易匿名化且无需第三方参与。

  

2014 年5 月,Matthew D. Green 等人基于Zerocoin创建了Zerocash协议。该协议利用密码学领域的高级证明――零知识证明方法对Zerocoin 进行了完善和改进。Zerocash 提出了一种经典的零知识证明方法――zk-SNARKs

  

本系列前文已经提到,零知识证明是密码学的高级证明(详见《隐私计算:动态的加密技术――区块链技术引卷之八》)。证明者在不透露隐私数据的情况下,可以向任意第三方证明自己确实拥有特定数据。零知识证明具有完备性、稳定性、零知识性的特点。理论上,零知识证明是匿名程度最好的隐私计算技术,其学术资本较强。

  

zk-snark(Zero-knowledge succint non-interactive arguments of knowledge)是一种经典的零知识证明法,发送方可以在不泄露交易的金额、地址等细节的前提下向验证者证明交易的合法性。

  

zk-SNARKs 的验证过程主要包含三部分。

  

第一:抽象编码。证明者需要向验证者证明他知道某一事实,这一逻辑在第一步被抽象为证明者需要向验证者证明一个多项式成立。例如:

  

() () = () ()

  

第二:简单随机抽样。验证者虽无法直接确认多项式成立,但可使用评估点进行评估。验证者选取随机的评估点s,若在评估点上等式成立(即f(s)g(s)=h(s)w(s)),则说明含参多项式具有一定可信度。通过多次选取评估点能不断提升可信度。

  

第三:零知识证明。为了确保证明者不会因为透露f(s)g(s)h(s)w(s)的值而泄露安全信息,证明者使用同态加密技术将上述值加密。例如使用同态加密函数E 将上述值加密为E(f(s))E(w(s))E(h(s))E(w(s)),验证者被授权验证加密后的值,如果加密后的值符合下式,则验证成功。

  

(()) (()) = (()) (())

  

但是,zk-SNARKs 有两个明显的缺陷。第一,依赖于可信的初始设置。基于此方法的数字通证交易要求每一对证明者和验证者都提供一组公共参数以进行零知识证明,而这组公共参数是由协议开发者共同设置的,拥有这些公共参数意味着拥有了造假权。换言之,zk-SNARKs 无法避免开发者风险,开发者可能由于不同的原因泄露公共参数。第二,zk-SNARKs 的加密技术基于椭圆曲线密码,目前的计算机无法暴力破解。但随着计算机性能的提高,尤其是量子计算机的进步,这种不具备量子抵抗能力的方法可能会在将来被暴力破解。

  

zk-stark(Zero-knowledge Scalable Transparent Argument of Knowledge),一种零知识、可扩展、透明的知识论证正在研究当中。

  

该方法能够保证生成证明的所有参数都是公开并随机生成的,同时还具备量子抗性。

  

2.4 RING-CT――CryptoNote的继任者

  

RING-CT(Ring Confidential Transactions)是一项隐匿交易金额的技术。这项技术于2015 年10 月由Monero 研究实验室的Shen- Noether 提出。在最初的Monero 交易中,为了保证环签名有充足的数据来源,交易往往需要被拆分为特定面额,以保证环签名技术的混淆能力。

  

  

然而,通证的交易数额也属于交易双方的隐私。基于这一理念,Ring-CT技术被提出并得到了广泛应用。应用Ring-CT协议之后,数字通证只有从区块链中奖励给矿工时会显示数额,其后的所有交易将遮罩交易面额,转为在交易中提供一个数字RCXXX作为交易金额输出。

  

RCXXX= random + m(真实交易金额)

  

交易输出由两部分组成,一是随机数,用来遮罩真实金额,由钱包自动产生;另一部分为真实交易金额。矿工不能从RCXXX中得到交易具体数额,但可根据RCXXX 验证交易输入是否等于交易输出,以确认没有伪造产生通证。在整个环节中,不论矿工还是其余观察者都无从得知确切的交易金额信息。

  

Ring-CT 同时解决了环签名技术需要分割交易的问题。公开交易金额削弱了环签名的混淆能力,而隐匿交易金额能弥补这一缺陷,同时由于交易金额隐匿后无需分割交易,因此在提升了交易隐匿性的同时,也能够加快数字通证交易速度。

  

  

2.5 Mimblewimble――优化BTC 的神奇咒语

  

Mimblewimble 取名于哈利波特中的魔法咒语,于2016 年7 月被匿名撰稿人Tom Elvis Jedusorand 提议并于2016 年10 月由Andrew Poelstra 进一步扩展。其研究之初的目的是为了改进BTC 的隐私性,同时节省存储空间。Mimblewimble 基于BTC 去粗存精,保留了PoW 的优越特性的同时,针对UTXO 集合进行了优化。目前基于Mimblewimble 的数字通证代表是Grin 和Beam――两位数字通证界的新宠。

  

机密交易(Confidential Transactions)是Mimblewimble 的一项核心技术,其主要原理基于以下公式:

  

=×+ ×

  

其中C(Pedersen Commitment)是经过椭圆算法ECDSA 得到的加密交易金额,矿工透过Pedersen Commitment 的同态加密特性,即使不知道具体的输入和输出金额,但依然可以利用加密后的值确认输入值等于输出值,确认交易有效性。

  

其次,矿工利用Range Proof 来验证交易值没有溢出,即交易双方没有凭空创造额外的通证。比如Alice 持有5 枚BTC,Bob持有0 枚BTC,则交易后Bob 不可能拥有超过5 枚BTC。

  

最后,Mimblewimble 针对优化矿工存储空间设计了Cut- through(核销)特性,能够降低区块链的大小。随着时间的推移,区块链会不可避免地扩增、臃肿,但Mimblewimble 通过Cut-through 能够删除无用信息从而有效压缩区块链大小。例如,BTC 的区块链上记录了两条信息:

  

1. Alice 支付1BTC 给Bob

  

2. Bob 支付1BTC 给Charlotte

  

在这个例子中,BTC 区块链记录了两笔交易,第一笔交易记录了来自Alice 的输入信息和发送向Bob 的输出信息,第二笔交易记录了来自Bob 的输入信息和发送向Alice 的输入信息。但在交易完成后,Bob 的输出和输入信息是过期的无效信息。Cut-through 技术允许删除中间无效信息,从而能够大幅压缩区块链体积,此外中间信息的丢弃也提高了交易的隐私性。

  

但需要指出的是,目前基于Mimblewimble 的实际项目Grin、Beam 虽然实现了Cut-through,但矿工能够根据需要剔除相应代码,因此Cut-through 通过删除中间信息加强数字通证交易隐私性的设想并没有完全实现。

  

温馨提示:如需原文档,可在PC端登陆未来智库www.vzkoo.com搜索下载本报告。

  

关注公众号“未来智库”,及时获取最新内容。

  

(报告来源:通证通研究院;分析师:宋双杰、田志远、金佳豪)

  


相关文章