2019年,在国家的支持下,各级政府和传统互联网企业纷纷布局区块链。区块链技术取得了较大进展。
今天我们就来回顾一下比特币、以太坊、跨链技术、隐私技术及联盟链的技术进展。
比特币技术进展
2019年,比特币最大的技术进展便是闪电网络、Stratum V2、Schnorr 签名(MuSig)、Erlay以及Miniscript。当然,像Shamir备份、PayJoin等新技术的出现也是很有意义的。
由于篇幅有限,本文仅涉及几个相关讨论较少的技术例子:
1、Stratum V2
在很多人看来,比特币等PoW加密货币的挖矿已经呈现出中心化的趋势,这主要是因为当前矿池工作方式的原因,由于矿池拥有普通矿工所不具备的特权(分配奖励、打包哪些交易、包含版本位),其运营者可审查某些交易,或者选择阻止某些协议的升级,而这些特权存在对网络而言是弊大于利的。
而由Bitcoin Core开发者Matt Corallo提出的BetterHash替代挖矿协议,则是将原本属于矿池的权力归还给矿工,从而实现挖矿的去中心化,而由Slush Pool联合Matt Corallo等人提出的Stratum V2挖矿协议,则是在BetterHash的基础上进行了一些改进,在之前,Stratum V2的规范已正式被公布:https://stratumprotocol.org/,这对于整个PoW区块链行业而言都具有很大的参考意义。
2、Schnorr 签名(MuSig)
2018年,区块链协议公司Blockstream的密码学家Gregory Maxwell、Pieter Wuille等人提出了一种名为MuSig的Schnorr签名方案,它可以替代比特币当前所使用的ECDSA签名算法(小插曲:Schnorr签名的发明者Claus Schnorr最初为它申请了专利,直到2008年才到期)。
而在使用MuSig(Schnorr签名)方案之后,比特币就可以扩展到支持固定大小的多重签名和阈值签名,以及“无脚本脚本”,另外Schnorr签名具有的批量验证特性,使得其验证速度要比ECDSA签名快得多。
另外,据Blockstream 研究主管Andrew Poelstra告诉巴比特记者的回答,应用Schnorr签名之后,比特币能够扩容10%-20%,此外,使用Schnorr签名+Taproot+无脚本脚本的组合,会使得比特币的输出难以被分辨,从而大大提高比特币的隐私特性。
可以说,Schnorr 签名会是比特币接下来的重点部署技术,截至目前,Schnorr 签名的BIP还处于草案阶段,目前主要是由Pieter Wuille在负责更新;
3、Erlay
在今年6月份的时候,就有新闻报道了Pieter Wuille、Gregory Maxwell等人提出了一种名为Erlay的中继协议,简单来说,Erlay不仅能够让比特币网络变得更加安全,而且能够降低节点84%的带宽消耗,使得比特币节点的运行成本更低。相比之下,比特币当前因为使用的是BTCFlood中继协议,导致网络连接性太低。
而在2019年9月份,Pieter Wuille和另一位开发者Gleb Naumenko正式将Erlay写成了BIP: 330,目前处于草案阶段。
4、Miniscript
由于比特币Script(脚本)语言的存在,今天,比特币可以实现一些较简单的交易功能以及各种多重签名、原子互换、闪电网络交易,然而,Script(脚本)的功能并非只有这些,只是因为它的复杂性限制了它的应用。
而由Andrew Poelstra和Pieter Wuille提出的Miniscript,则是一种以结构化方式表示比特币Script的语言,正如它名字的开头Mini一样,则是一种简化版Script(脚本)语言。
而当比特币使用Miniscript语言之后,相关的编程将变得更容易,应用类型也会增多。
截至目前,Miniscript语言并非进入正式应用阶段,不过Blockstream公司已在内部使用了这种语言。
以太坊技术进展
1、虚拟机Ewasm
当前以太坊所使用的虚拟机是EVM,而在接下来,无论是以太坊1.0还是以太坊2.0,它们都会采用由万维网联盟(W3C)维护的 Webassembly(WASM)类型虚拟机,我们称之为Ewasm。
相比EVM,WASM没有高阶指令,其支持32 / 64 位的操作,支持了更多的语言(例如C++、 Rust、 GO等),理论上它还可提升 Web 性能和功耗。
目前,Ewasm研发团队已经转向了Eth 2.0的研究,而Eth 2.0的设计是无状态的(存储在链外),在第二阶段(phase 2),相关智能合约将以执行环境(EE)的形式进行,而Scout规范是执行环境(EE)的最小接口,目前,Scout规范有三种实现方式:
用Rust语言写的scout,专为快速原型开发和协作而设计;
用Typescript写的scout.ts,用于快速原型开发和浏览器支持;
用C++写的ScoutOne,为性能和生产使用而设计,可嵌入到Eth 2.0客户端;
2、Casper FFG与Casper CBC
我们知道,以太坊2.0将会采用PoS共识机制,而其在初期使用的则是由Vitalik Buterin 与 Virgil Griffith在2017年提出的Casper FFG共识机制。
这种共识机制相对而言更容易落地,而Casper CBC则拥有相对更好的理论(同时也更难实施)。
此外,Casper还会和分片技术一起应用,而根据目前的规划,以太坊2.0 阶段1上线时的分片数已从1024减至64。
截至目前,Casper FFG的BIP还没有正式完成,相关参数尚未确定。
3、以太坊1.0网络的三次硬分叉更新
在过去的2019年,以太坊已经历了2次硬分叉升级,其中第一次君士坦丁堡升级发生在区块高度7080000,其包括了五项改进提议(EIP 145、EIP 1052、EIP 1283、EIP 1014、EIP 1234),而这次升级当中,最大的争议之处就在于EIP 1234使得以太坊区块奖励从3 ETH减少到 2 ETH(附带拆除了第二次难度炸弹)。
而在区块高度9069000进行的伊斯坦布尔升级,则纳入6项改进提议(EIP-152、EIP-1108、EIP-1344、EIP-1884、EIP-2028、EIP-2200),这次升级最大的影响,是使得基于SNARKs和STARKs的二层(layer 2)解决方案的吞吐量大大提升,例如近期备受关注的ZK Sync以及ZK Rollup方案就可以提升至数千的TPS。
而在区块高度9200000进行的下一次硬分叉更新(代号:缪尔冰川),则是为了拆除再次触发的难度炸弹,使以太坊的区块间隔时间恢复到14.3秒的正常水平。
根据规划,这也将是以太坊最后一次难度炸弹拆除计划。
主流隐私技术进展
当前公链所涉及的问题当中,隐私被普遍是认为是重中之重,相关的技术解决方案也在不断涌现而出,从最初门罗使用的环签名到Zcash使用的zk-SNARKs,再到Grin采用的MimbleWimble,隐私解决方案的发展,可以说是日新月异。
那这些具有代表性的方案,到底具有哪些特性呢?
在隐私保障当中,MimbleWimble是相对较弱的,但这一协议最大的特性其实并非是匿名,而是简洁性和可扩展性。
而zk-SNARKs虽然是一种非常有效、快速的零知识证明,但其弊端是需要可信设置,相比之下,其“堂兄”zk-STARKs则无需可信设置,但证明大小非常大。
而名字非常酷炫的Bulletproofs(防弹证明),虽然具有无需可信设置及较小证明大小的优点,但它的验证速度却是相对较慢的,因此并不适合复杂的交易。
主流跨链技术进展
尽管跨链技术早已出现,例如闪电网络原子互换等,但至今市场对跨链的需求其实并不高,但由于区块链信息孤岛问题确实存在着,且是必须要解决的,因此Cosmos IBC以及Polkadot主网的进展,依然会有很多人会关注。
截至目前,Cosmos IBC的规范还在完善当中,预计明年才能推出。
而Polkadot则处于Kusama测试网阶段,正式主网也需要在明年才能推出。
主流联盟链技术进展
上面我们谈了大量的公链技术进展,然而,真正被国家和大公司认可的其实主要是联盟链技术,而当前市场上主要被采用的联盟链代码库,主要有Hyperledger fabric、R3-corda、FISCO BCOS以及Quorum。
其中被应用最多的Hyperledger fabric已在近期发布了v2.0 Beta版本,距离其正式的v2.0版本已越来越近。
在v2.0版本中,Fabric会引入chaincode的去中心化治理,并使用了一个新的chaincode生命周期。
而Quorum可以被视为是以太坊的私链版本,但由于它是摩根大通在负责维护的,因此影响力较大。
而FISCO BCOS则是华为、腾讯、微众银行等国内科技与金融机构共同在维护的一个联盟链技术平台,目前已更新至v2.1.0版本,也是国内影响力最大的开源联盟链平台。
展望2020年
2020年,公链与联盟链技术都将迎来新一轮的爆发,而本文中提到的一些技术,也将逐渐展开它们的影响力。
公链的隐私问题将逐渐得到解决,而跨链,则依旧会处于探索阶段,比特币将变得更去中心化,相关功能也会逐渐增多,以太坊则会迎来一场值得所有人关注的实验,而联盟链之间,也会展开更多的合作。