区块链安全事件盘点及分析(2018年8月)

1. 门罗币和 Altex.exchange(2018 年 7 月 30 日)

事件背景:

门罗币 (XMR) 是门罗区块链的原生货币,特点是保密和不可追踪性。

Altex. exchange 则是一家小型的加密货币运营商。

损害程度:未公开,但程度足以关闭交易所

攻击媒介:软件漏洞

事件始末:

黑客伪装的转账交易利用了门罗币钱包代码中的显示漏洞(即一个开源代码)。

这个漏洞使钱包显示的是双倍金额,而不是发送的实际金额(比如,有人以伪装的方式发送了 1 XMR,接收器看到的是他发送了 2 XMR)。

有一些门罗币的分叉币(如 ArQmA)也受到此漏洞的影响。

一位研究人员发现了这个漏洞,并在 6 月初通过 HackerOne 平台联系了门罗币的团队。 门罗币的团队在 7 月底发布了一个补丁。

其他门罗币的分叉币也被告知了此漏洞。

7 月初,Altex 宣布暂停所有基于 CrypoNote 的货币交易,原因是钱包的代码中存在着漏洞。

7 月底,Altex 发布推文说他们受到了重放漏洞的影响,于是暂停了平台上的所有交易。

发完推文之后,Altex 团队并未发布进一步的更新包,交易仍然无法进行,新注册也被禁止了。

观点:

从门罗币的事件可以看到,漏洞赏金计划模式的优越性,希望更多人白帽子能够参与进来。

尽管门罗币的其他分叉币被通知了该漏洞的情况,但对 Altex exchange 来说为时已晚。未来是否可以建立一种去中心化的机制,以便通知交易所这些会窃取钱包的漏洞。

 

2. 比特币现金(2018 年 8 月 10 日)

事件背景:

比特币现金是比特币区块链的硬分叉产物。它在CoinMarketCap的全球市值排名为第四。

事件始末:

BitcoinABC 是比特币现金全节点执行的开源代码,它于 5 月份发布了一份关于其代码中的严重漏洞的官方报告。

根据该报告,黑客可以通过这个漏洞构建一个恶意交易,该交易将被某一特定版本的 BitcoinABC 接收,但会被其他所有版本的比特币现金拒绝。

这样一个漏洞的结果可能是形成比特币现金的分叉,即使使用敏感版本的矿工接受了恶意交易,其他矿工也不会接受的。

BitcoinABC 表示他们已经直接向相关的矿业池运营商提供了补丁。

最后,BitcoinABC 感谢披露该漏洞的人,并想要当面给他(她)提供一些奖励。

8 月份的时候,麻省理工学院媒体实验室的一名研究员科里·菲尔兹 (Cory Fields) 披露自己是通知 BitcoinABC 有关该漏洞的人。

菲尔兹说,他参与了比特币核心项目比特币主要的软件部署。

由于比特币有很多与比特币现金有关的常用代码,菲尔兹偶尔会检查后面的代码,想要学习和推断可能与比特币核心相关的问题。

在对比特币现金代码的一次检查中,菲尔兹看到交易验证代码的一部分被重构了。 此次更改的审核过程共花费了一周时间,仅由两位审核人员完成。

注意:通常批准此类关键代码中的更改会涉及更多审阅者并且持续时间更长。

菲尔兹注意到了这些变化, 他说,在不到10分钟内发现了关键的漏洞。

他的想法是:以安全的方式 ,匿名 ,向 BitcoinABC 开发人员披露漏洞。 匿名是为了保护自己,此外也是保护比特币现金区块链和价值。

他还提到,希望如果有人发现了比特币核心代码存在漏洞,那个人可以尽可能谨慎而安全地报告。

后来,他试图匿名联系 BitcoinABC,但发现很难。BitcoinABC 没有错误披露政策,他们的 Github 问题跟踪器上还特别要求“请私下联系”。

最后,他使用开发人员 PGP 公钥将一份详细报告加密发送给了一位 BitcoinABC 开发人员。最终,BitcoinABC 解密了该报告并马上开始处理和修复。

观点:

我们认为,区块链社区应该特别注意几点:

区块链社区是一个开放共赢的社区:比特币和比特币现金对人群之间存在分歧,但是代表比特币社区的菲尔兹了解到这个漏洞对比特币现金的风险和影响后,尽其所能地保护了比特币生态系统整体的声誉以及比特币现金持有者的利益。

更新关键代码:漏洞总是会发生,但在重构这样一个关键代码时,应该花更多的时间和精力进行代码审查。

匿名披露漏洞:保护想要披露漏洞的人很重要。 对菲尔茨来说,因为就算这个漏洞一直被执行,他也不用承担任何后果。

适当的漏洞披露渠道和方案:从这次事实中看出,要引起 BitcoinABC 开发人员的注意并不容易,菲尔兹经过多次请求才得到他们的回应。 区块链项目应该有清晰和安全的沟通渠道来报告漏洞和其他安全问题。

相关的其他攻击:

这个事件让我想起了去年 11 月发生的奇偶校验多签名钱包漏洞。 事件期间,有人在其中一个多重签名库中触发了“自杀”功能,并导致数十万个以太币卡在这些钱包中。 官方的事后报道称他们可能已经阻止了数亿美元的损失。 而这一次, BitcoinABC 和比特币现金的持有者更幸运。

 

3. Bitfi 硬件钱包(2018 年 8 月 1 日)

事件背景:

BitFi 是一家全球支付公司,它为加密货币推出了 “不可能被黑客入侵” 的硬件冷钱包。

事件始末:

六月份,Bitfi 发布了 Bitfi 钱包,号称是全球第一个“不可能被黑客入侵”的硬件钱包。

作为第一款商业反病毒软件McAfee 的创始人,约翰·迈克菲 (John McAfee) 已加入 Bitfi 团队,并承认 Bitfi 技术是牢不可破的。

该钱包支持多种加密货币,并具有自动更新和在线控制板的功能。

安全社区对“不可能被黑客入侵”的声明并不满意,一些负面评论开始出现在社交媒体和其他平台上。

7 月,Bitfi 和迈克菲宣布向任何可以破解 Bitfi 钱包的人发放 10 万美元奖励——装有50个比特币的 Bitfi 钱包将发送给试图入侵它的人。按照当时的比特币价格,相当于10 万美元的奖励。

7 月底,奖励增加到了 25 万美元。

安全研究公司 OverSoftNL 在推特上宣布它已经获得该设备的 root 权限,但没有证明它可以访问该钱包持有的 50 美元比特币。 社交媒体上开始疯狂讨论 Bitfi 发起的破解行为。

Bitfi 和迈克菲都没有回应 OverSoftNL 的推文。

8 月底,Bitfi 从他们的网站上删除了“不可能被黑客入侵”这个词。

入侵 Bitfi 的奖励再次增加到 2,000 万美元。

截至 9 月初,传奇仍在继续,但用户已经无法从 Bitfi 官方网站上购买 Bitfi 钱包,因为它已售罄了 。

观点:

事实上,这是一个奇怪的故事。 安全领域的一个基本公理是,“一切都是可以被破解的”。 在安全社区中一直饱受争议的约翰·迈克菲发表声明说他的产品“不可能被黑客入侵”,这惹恼了很多人。 我们会持续关注并讨论这件事。

比特币只是计算器,以太坊不过大型机:深度解析区块链计算的四大阶段

互联网泡沫后,很多人都觉得再去投资互联网的人简直就是傻瓜,这才是最傻瓜的想法。

——Ben Horowitz, 《创业维艰》作者

在 Ben Horowitz 和网景创始人 Marc Andreessen 合伙创立的硅谷创投基金 a16z 内部,有一批热衷于区块链的技术投资人,他们一直在探讨和分享有关区块链和加密数字货币技术的技术内容和学习资源:比如如何构建区块链,如何掌握区块链的关键概念,如何学习共识算法……

今年初,他们将这些内容和资源集结成册,发布了一篇关于区块链入门的 Crypto Canon,区块链大本营第一时间将其分享出来:如何成为一名区块链工程师? | 附学习资源

今年年中的时候,a16z 内部这批人在创投大佬 Chris Dixon 和专注于加密货币犯罪的前美国检察官 Kathryn Haun 带领下,成立了一个专门投资区块链的基金——a16z crypto。

在介绍这个新基金的愿景时,他们这样写道:

每隔 10-15 年,计算机世界就会涌现出一个新的计算模式来引领世界:60 年代是大型机,70 年代末是个人电脑,90 年代初是互联网,2007 年以后是智能手机……而今,轮到了区块链上关于“信任”的计算模式。

而关于区块链自身的计算模式,a16z crypto 内部的区块链专家 Jesse Walden 又将其分成了四个截然不同的阶段:

  1. 计算器阶段——以应用为导向,可组合性有限,比特币;
  2. 大型机阶段——图灵完备,可组合性高,以太坊;
  3. 服务器阶段——以应用为导向,大力实现可组合性;
  4. 云计算阶段——图灵完备,具备可扩展性的组合性;

他这样划分的基础,是区块链网络与城市功能的相似性:

两者均依托共享基础设施进行自下而上的成长并从中获益:对于传统企业而言,最好的店铺位置往往拥有现成的居民、公用设施、法律、安全保障和活跃的市场经济。同样地,现有的用户群、数据、安全系统和运行代码等共享资源也可以为开发者提供很好的开发基础。

他们称之为「可组合性」(composability)

如果一个平台现有的资源可以用作为构建区块,经过编程成为高阶应用,那么这个平台就是可组合的。可组合性十分重要,因为它可以使开发者可以利用较少的资源完成更多的事,相应地,促生出更迅速、复合型更强的创新。

区块链计算机无信任(Trustless)的本质极大地解放了可组合性,因为开发者可以在共享基础设施上进行开发工作,不用担心下级的依赖架构被动手脚。这毋庸置疑,因为区块链既有无需许可的特性(开源的优势所在),又有状态(Twilio 和 Stripe 等 API 的优势所在)。

上述四大阶段,所代表的是区块链计算的四种截然不同的思维模型。在接下来的文章中,Jesse Walden 会对此逐一进行剖析。区块链大本营分享如下:

计算器阶段(比特币)

比特币是区块链计算的先驱。它为「选择坚挺的货币还是数字黄金」这个具体的应用问题提供了全栈式解决方案。除了追踪账户余额和转账记录这样的简单功能外,比特币还提供了一种可以用于构建更为复杂的功能的脚本语言。

有的项目采用比特币脚本来编写更高阶的应用。例如,Proof of Existence 项目利用 OP_RETURN 数据库来创建证据,用于证明某位特定用户在特定时间拥有某份数字文档。 Colored Coins 和 Counterparty 等项目,使在比特币区块链的合并安全性基础上定制代币成为可能。还有一些项目则试图进一步扩展比特币区块链的功能性,或者代币的功能,但由于受比特币脚本语言的刻意约束,这些项目举步维艰。

很多人认为,去中心化货币系统最为重要的特性不是可编程性,而是安全性,受限的脚本语言也是去中心化货币系统的一个特性,并不是漏洞。按照这种思路,我们可以将比特币看作为计算器,而非计算机(在此申明,我这句话是褒义!!)。比特币是被有意设计成这样的,而且它可以很好完成自己的任务,但对于热衷于修补改进、开发新应用的开发者而言,开发新的架构势在必行。

大型机阶段(以太坊)

以太坊在比特币开创的理念基础上加入了图灵完备的虚拟机,从而泛化了区块链计算机。这意味着开发者可以在去中心化的计算机网络上部署和运行任何程序。

在今天的以太坊中,为了确保真实性,网络中的每个节点必须运行每个程序功能。这导致以太坊运行缓慢、使用成本昂贵,但以太坊在一个维度是无可匹敌的:它的计算是去信任的。每个程序都能被按照指令运行,其结果或状态,对所有其它节点而言都是可见的。因此,以太坊的程序可以作为可依靠的、中立的构建模块,开发者可以将其组合成更高阶的应用。目前已有这样的项目:

Marble 这个项目可以让用户快速放贷,进行外汇套利:

交易者可以从 Marble 银行借款,在去中心化交易所买代币,再在另一家交易所以更高的价格卖出代币,然后还款给「智能合约」银行,将套利所得收入囊中,这一切操作全都包含在一次自动交易中。为实现这一功能,Marble 借助以太坊的单例虚拟机,让不同的独立项目执行一系列的功能,最终实现了任何人都可以使用的简化版多功能应用。

Primotif 是一个金融衍生品,可以追踪现实世界中的指数,例如标普 500 指数:

它利用预测市场平台 Augur 的 shares 系统来追踪基准指数的价格,dYdX 做空代币来对冲以太坊代币 ETH 的波动性,dYdX 利用的是 Maker 推出的 Dai stablecoin 系统。仅用一个周末就打造出的 Primotif 项目,正是可组合性会带来复合型创新和强大开发者网络效应的绝佳例证。

可组合性可以带来网络效应早已不是什么新鲜事了。下文是 Twitter 创始人 Biz Stone 于 2007 年就 Twitter API 的可组合性所发表的言论:

“API 是最为重要的,甚至可以说我们在 Twitter上做出的最重要的事情。首先,它让我们的服务变得非常简单,仅仅创建一个简单的 API,开发者就可以在 Twitter的基础架构上进行开发,提出一些比我们的创意更出色的创意,然后开发出像 Twitterrific 那样的产品。Twitterrific 的开发团队很小,但是他们让用户可以优雅、漂亮地使用 Twitter,这一点连我们都没法做到。API 能轻松吸引到比 Twitter 网站高出 10 倍的流量,因此它对我们而言非常重要。”

不幸的是,可组合性在 Web 2.0 时代没能得到延续。原因之一是:无法通过 API 完成金钱交易,也没有公平有效的办法对平台的规定进行管理,例如:广告展示规定。这就导致了开发者和平台之间的激励分配不合理,结果造成了数据重新中心化,以及第三方创新的缺失。

我的投资合伙人 Chris Dixon 曾专门撰文阐述,加密货币如何能在可持续的开放式网络中实现更好的激励分配。现在的问题是,能实现激励配置、具有可组合性的网络不具备可扩展性。

这就是区块链的「大型机阶段」。由于区块链的可组合性——共享的安全性、用户群、数据和运行代码,我们可以享受到早期的网络效应,这是毋庸置疑的。不过,随着用户的人数逼近大型机的吞吐量限制,边际收益就会随之下滑。反过来,吸引单个新用户和开发者的成本也会随之上涨。大体趋势如下图所示:

由于资源限制,每个新用户的边际成本会不断增加,最终超过可组合性的边际价值(即共享资源和开发者网络效应)

进入「服务器阶段」

在对可扩展性的探索中,一些开发者彻底抛弃了可组合性和共享网络效应,转而致力于开发专门适用于特定应用的架构。Polkadot 和 Cosmos 等项目的理念,就是打造多条混合区块链,然后针对相应的应用调试每条区块链。Polkadot 的 Substrate 和 Cosmos 的 SDK 都是模块化的区块链构建工具包,用来帮你推出你自己的全栈式「应用链」。

相比在现有网络资源基础上进行整合,开发全栈式「应用链」的工作量要大很多。对开发者而言,意味着要打造下至状态机、上到应用交互,还要自行为网络部署最小化可行安全措施,估算出与系统中其他成员的协同工作能力。

但在历史上,全栈式开发策略已经被证明大获成功,这种策略可以将初期技术推广到市场上,让用户更早拥抱未来。在个人计算机应用还未普及之前,王安科技公司(Wang Technologies)就提供了功能非常实用的文字处理器,为用户提供捆绑式软硬件解决方案。后来美国在线 AOL 同时捆绑了互联网接入服务商 ISP、内容提供商、电子邮件服务商和即时通讯服务商等多重角色,为早期的互联网用户提供了不俗的用户体验。为了推动智能手机的普及,黑莓手机制造商 RIM 同时捆绑了移动设备、操作系统、以及 BBM 和邮件推送等早期应用。

全栈式平台,让用户更早拥抱未来

在互联网发展的初期,每家网站背后都有一台定制的服务器在运行。为了拥有端对端的体验,开发者需要拥有自己的硬件设施。而在未来的区块链计算时代中,也同样是这种情况。这就是我所说的「服务器时代」。

「服务器阶段」的区块链明确地用可组合性换取控制权。这会通过两个维度呈现:对终端用户体验的控制,以及对网络供给侧资源的经济因素进行更为精细的控制。一个假设是,「服务器阶段」的区块链基础设施(例如:安全、存储和运算),是需求受限制的状态。也就是说,随着应用的普及,它们可以被按需扩展。这与「大型机阶段」的基础设施是截然相反的,「大型机阶段」的资源成本随网络上所有其他流量的变化而变化。具体理论依据是:全栈式「服务器阶段」的架构可以减小升级「大型机」区块链的风险。

「服务器阶段」的区块链与之前的全栈式平台是不同的:它首先仍是区块链!王安的文字处理系统、美国在线和 RIM 都是封闭式平台,而「服务器阶段」的区块链依然是能证实的开放数据架构,配置有可编程的激励机制。这种特性让「服务器阶段」区块链能被整合成数据集散中心(这正是 Cosmos 和 Polkadot 两个项目的目标)。一条区块链可以成为另一条区块链的「轻客户端」,开发者可以打造自动交换机制,或者延展性能。

这意味着,即使「服务器阶段」的区块链仍然具有可组合性,但是却在与「大型机阶段」的区块链在不同的维度上。与「大型机阶段」区块链运行单一的虚拟机不同,「服务器阶段」的区块链计算机需要新的相互通讯标准,以实现跨应用的组合。这种通讯界面是当前的研究和标准化项目所要实现的目标,毫无疑问,这会让开发人员在处理可组合性时遇到更复杂的问题。但是撇开这个缺点不谈,捆绑可能会成为促生新一波区块链架构的催化剂,我预计在短期内我们会看到更多的项目采用全栈式的方法。

「云计算阶段」

「云计算阶段」意味着实现可扩展、可泛化的无信用运算。这是区块链发展的理想时代,组合工作只受创造力的限制,而不是受制于扩展性或通讯复杂性的限制。届时,大量创新不断涌现,相辅相成,不会遇到边际收益递减的尴尬。

怎样才能实现区块链的「云计算阶段」?目前开放研究还在探索这个问题。「服务器阶段」架构的支持者认为,通过实现异质(heterogeneous)区块链之间跨链通信的标准化和抽象化,以获得「云计算阶段」的体验。而以太坊 2.0 的开发者和 Dfinity 团队等其他开发者,则正在聚合同质(homogenous)的图灵完备的区块链。你可以将此视为一个许多「大型机」共存的世界,这些「大型机」共享一个安全池,但在同质虚拟机之间分离状态和运算。另外,还有很多人正在研究将运算转至链下的全新架构。

鉴于研究社区的规模之大,以及这种解决方案巨大的潜在回报,如果「服务器阶段」接近尾声,「云计算阶段」区块链计算便紧随而来,我不会感到惊讶。因为,我们已经铺设好光缆,建造了数据中心,「云计算阶段」的区块链计算主要就在于软件创新。无论我们何时迎来这个时代,很清楚的一点是:无信用的可组合性将成为开发者新的超能力。当开发者能以较少资源实现更多的成就时,互联网将具有更强的协同性、更多的创造性、更多的选择性,而我们就是受益者。

开源以太坊浏览器汇总

1.blockscout

BlockScout是一个Elixir应用程序,允许用户搜索交易,查看帐户和余额,并验证整个以太坊网络上的智能合约,包括所有的叉子和侧链。

目前可用的块探测器(即Etherscan和Etherchain)是封闭系统,不能独立验证。随着以太坊侧链在私人和公共场合的不断扩散,需要透明的工具来分析和验证交易。

https://github.com/poanetwork/blockscout

2.EthVM

EthVM是一个开源的区块链浏览器,主要关注以太坊(虽然其他网络将受到支持)在MIT许可下,并以不同语言(即TypeScript,Kotlin和Solidity)的混合编写。

您可以使用EthVM作为工具来探索自定义专用网络或现有公用网络,或者作为ETL(提取,转换,加载)平台来对数据执行不同的分析。

https://github.com/enKryptIO/ethvm

3.etherparty/explorer

轻盈的以太坊块探险家

https://github.com/etherparty/explorer

4.carsenk/explorer

以太坊Block Explorer基于etherparty/explorer

https://github.com/carsenk/explorer

5.etherchain-light

Etherchain Light是一个使用NodeJS,Express和Parity构建的以太坊区块链资源管理器。它不需要外部数据库,并从后端以太坊节点即时检索所有信息。

https://github.com/gobitfly/etherchain-light

6.toy-block-explorer

用Go编写的区块链资源管理器,用于了解如何构建与以太坊区块链一起使用的服务器端应用程序。

https://github.com/curvegrid/toy-block-explorer

7.mini-eth-browser

一个简单的以太坊块和事务探索器。由于它不使用数据库,因此某些操作很慢。

https://github.com/ismaelbej/mini-eth-browser

8.eth-explorer

简单的Nodejs以太坊资源管理器

https://github.com/ethnamed/eth-explorer

 9.Clixplorer

https://github.com/Magicking/Clixplorer

 10.ethereumproject / explorer

https://github.com/ethereumproject/explorer

以太坊联合创始人Joseph Lubin:2018年的加密货币已经触底

以太坊联合创始人Joseph Lubin在推特上宣称,他认为“2018年加密货币已经触底”。

根据Lubin所说,加密货币市场底部的特征为“充满了大量的恐惧、不确定性和怀疑”,特别是来自行业媒体和社交媒体评论员的。
针对有关他所创办的以太坊区块链软件公司ConsenSys最近裁员的报道,他回应说:

ConsenSys仍保持健康发展,正着手重新平衡大约9个月前开始的各项优先事项和活动。”
他表示,Consensys将继续投资项目——发挥区块链科技孵化器和风险投资公司的角色——并为“仍是我们前瞻性业务核心”的内部项目招聘人才。
他还在推特上抱怨说,对于“记者和博客作者没有真实数据、无法洞察或理解的情况”,他们的报道存在“大量的猜测和先发制人的偏执”。

最后,Lubin重申他对ConsenSys和以太坊的未来表示乐观,他说:

“天没有塌下来。在我看来,未来是耀眼的。[…到2019年,如果你能通过我的眼睛看到风景,你就得戴墨镜了。”
据知情人士透露,这周有报道称,ConsenSys正在剥离它之前支持的初创公司,其中一些公司已经没有资金支持。消息人士称,该公司的裁员人数可能占到其1,200名员工的50%至60%。
上周,Cointelegraph报告称,与全球多个行业更大规模的裁员相比,目前加密货币市场的暴跌以及公司裁员似乎相对温和。

今年9月,以太坊的另一位联合创始人维塔利克•布特林(Vitalik Buterin)曾指出,加密货币和区块链领域不可能再次实现“1000倍的增长”。

加密货币大跳水,稳定币还“稳定”吗?

2018年,

除了“公链元年”“交易所元年”

也被视为“稳定币元年”

千币齐跌,稳定币还能稳定吗?

中美贸易战、疫苗风波、华为渡劫、ofo退款、资本寒冬、人工智能、5G争锋……细数2018有太多的热词令我们难忘,并且还在继续上演着精彩的故事。尤其在区块链领域,历经币价过山车,有人如愿财务自由,有人却沦为被割的韭菜,落得一场空,经验或教训,羡慕或警醒,这一切也在潜移默化地伴随着我们步入新的2019年。

近期,比特币、以太坊等主流数字货币价格大跳水,带来了市场的极度恐慌,并且几乎波及到币圈、矿圈、链圈。稳定币由于与法定货币挂钩,从支付工具、交易媒介、价值杠杆、价值存储等属性来看具有不可替代的作用,2018年也被成为“稳定币元年”,2019年稳定币如何走好下一步,备受关注。

01-

稳定币的诞生:基于信仰与现实需求

众多早期比特币的信仰者和布道者都喜欢引用哈耶克的“国家非货币化”理论作为比特币成为主流货币的理论支柱。但哈耶克在考虑货币的市场竞争时,只考虑到了货币的质量稳定问题,却没有考虑到替换货币时的成本问题。由于天生的缺陷,比特币想成为受主流市场认可的货币,必须要有更高的收益,而这种高收益背后却是更大的波动性,而货币具有价值尺度的特征却排斥这种高波动性。因此,以USDT为代表的稳定币登上了舞台。具体而言,这些数字货币要么以特定的资产保持固定比例兑换,要么通过算法调节货币供给来维持币值的稳定,因此称为稳定币。

▼ 哈耶克死了,他的信仰却一直活着 ▼

稳定币的需求有两个,一个是避险需求,币圈进入熊市之后,对稳定币的需求非常旺盛,投资者需要将持有的数字货币转换成稳定币来减少损失,对下跌的恐惧击碎了很多投资者的信仰,都希望持有稳定币来避险;第二个是流通需求,数字货币发展至今,需要进入到流通领域,而流通领域需要的是一种价值比较稳定的货币。

                                                    小编小评
数字货币、区块链的出现,让这种共识信任机制由中心化的背书向去中心化的规则背书演化,这是已故斯坦福大学张首晟教授所提到的“In Math We Trust”。数字货币要在现实生活中发挥货币的价值尺度、流通手段、价值储藏等基本功能,就必须满足购买力稳定的要求。要想在日常生活中被推广应用,币值稳定非常重要,只有做到了币值稳定,基于区块链的贷款、金融衍生产品、预测市场等应用才能实现。

02-

稳定币的功能:从货币本质看稳定币

货币,是人类社会千百年演进的共识凝聚,本质是一种社会资源分配权利的载体,是生产关系的体现,具有价值尺度、流通手段、贮藏手段、支付手段和世界货币五大职能,其中价值尺度和流通手段是货币最基本的职能,表现形式从最早的贝壳发展到金银货币、纸币、电子货币等,这些都是一般等价物。

从设计的原理来看,目前的稳定币基本是通过某种锚定机制, 将数字货币对特定资产或价值的比价固定在某一比例,从而实现价格的相对稳定,这以人类历史上的任何一种货币机制本质是相同的。

▼ 稳定币的种类也在稳定增长 ▼

当下市场中的稳定币主要可以分为三种类型:

法币信用担保:发行人以现实中的法币作为担保而发行数字货币,依赖于中心信任和集中发行,例如:USDT、DGD和TUSD等;

数字资产抵押担保:发行人以数字货币作为担保,可以在区块链上去信任化地发行,公开透明,不依赖第三方,例如:BitCNY、DAI等;

无抵押算法发行:由算法支持的稳定币,这种方法在算法上扩大或收紧稳定币的供应,类似于中央银行通过法定货币维持稳定,例如:Seignorage Shares、Basis等。

                                                      小编小评
稳定币的稳定并非是绝对的,跟法币的汇率存在波动一样。目前由于技术、机制、模式和政策等原因,市场上都存在诸多问题亟待解决,且稳定币本身不会减少加密资产的价格波动,只有大量的流动性和时间才能做到这一点。

03-

稳定币的未来:合规化将是必经之路

2018年12月18日,第三届区块链开发大会上,万向区块链实验室创始人肖风指出,2019年的区块链技术,将在性能,如应用性、安全性、可操作性以及可扩展性方面得到大幅提升。在这一过程中,一定会出现一个支付工具或交易媒介,而稳定币将在那个时代开始真正起作用。“发展到最后阶段,稳定币一定会由央行发布,央行的法定数字货币天然就是稳定币。”

▼ 稳定币能否成为数字资产的尺度? ▼

稳定币的合规化是未来稳定币发展的必经之路,也是增强稳定币市场信心和流动性的必经之路。未来会有更多的国家和地区会出台与稳定币相关的法律监管政策,如何满足监管机构的反洗钱等监管要求,如何将稳定币的审计、托管等机构变得更加透明,如何满足稳定币发行的足量资产余额等都将是未来稳定币发展所必须解决的问题。

在这进程中,离不开底层技术的支持与保障,与稳定币同步推进的还必须有帮助用户快速、安全、低成本地部署金融区块链应用和商业智能合约的技术开发,这才是稳定币得以生长的真正土壤,唯有如此才能让每一个人都能成为区块链价值的稳定创造者与分享者,而非单纯的稳定价格。

                                                    小编小评
人类的历史经验说明,货币的本质不在于其具体的形态,更多的在于它能给社会流通奠定一个价值基准,从稳定人心到稳定市场,再到稳定人心,既需要技术来保障其安全性和难以伪造性,同时也离不开全社会的监督与公平。

关于行业、以太坊与个人 V神的29条感悟

无论以太坊如今面临着多大的危机与质疑,其创始人Vitalik Buterin(V神)都是区块链行业最具代表性与传奇性的人物之一,对整个行业的发展也具有举足轻重的意义。

在本文,链捕手以V神对区块链行业、以太坊以及个人成长三大领域的思考与理解为出发点,通过对V神个人推特、公开演讲等大量网络资料的搜集与整理形成了V神的29条感悟,希望能对读者们有所启发。

编辑/潘宇波

未经授权,谢绝转载

01

行业理解

1、区块链不是为了削减计算成本(对比中心化的服务器),区块链通过增加计算成本的形式产生效率牺牲,以此实现降低社会成本的愿景。在过去的 70 年里,计算机每单位计算的价格便宜了 1 万亿倍,人力劳动的成本增加了 2-10 倍。因此,在某些情况下,为降低社会成本而产生高技术成本看起来是一笔不错的买卖。

2、区块链能解决很多问题,但是不能解决所有问题,必须找到对的方式使用区块链,可能跟其他的密码学技术结合起来应用,来让区块链机制更加高效。

3、在短期内,我认为区块链可以在其他行业提供的主要功能是互通性。运用区块链的平台可以让服务提供者之间进行互动。这样一来,用户也可以更轻松地与正在接受其他服务的用户进行互动,这种方式能够在不创造集中垄断的前提下带来很多好处。

4、很多人都误解了智能合约,应该把智能合约看作是一种经济机制。智能合约并不是要把所有事情都做完,而是为各方设定一套可以相互交流的规则,其中一方可以是仲裁员,也可以使用博弈论创建智能合约,即使没有任何仲裁员也可以产生良好的激励。

5、虽然有一些公司试图通过使用区块链技术来建立更高的标准,但我不认为该技术适用于所有行业,加密货币和跨境支付是区块链技术最适合的行业;有激励机制的多跳网络(mesh networking)和需要付费的无线接入热点可能是区块链技术得以应用的两个领域;金融业和游戏行业则是最先应用区块链技术的两行业。

6、数字货币仍是一个全新的且极不稳定的资产种类,随时有可能下跌到接近零点。不要投入超过你心中能接受损失的金额。如果你仍在思考去哪储存生活储蓄金,那么传统资产仍是最安全的选择。

7、我从没说过数字货币生态系统再也没有增长空间。我之前说的是1000倍的增长空间几乎没有了,主要是因为价格上1000倍的增长意味着数字货币市场价值200万亿美元,几乎是现有全球财富的70%,但实际来说,整个世界的财富不会变为数字货币。除此之外,数字货币世界的进一步增长必须来自于「深层次的东西」(比如实际使用),而非来自于对其关注程度的增加。

8、面对监管,我想要给的主要建议是去专注于那些沙盒以及特殊用途准则等领域的技术。研究这些领域的技术,可以让你围绕加密行业的具体经验和挑战来制定规则,而不是试图重新解释几十年前的规则。

9、初创公司总是关注自己的主要商业模式,风投公司则希望自己投资的初创公司能够被大企业收购,我认为这些想法是非常不健康的。因为这样一来,初创公司创造的东西反而更像是计划经济里的产品,而不是自由市场里的产品,而且激励措施也不是由客户来设定,而是由一小部分大企业设定。

10、我希望中心化的交易所越少越好,尤其那些毫无理由收取1千万美元到1500万美元不等上币费的,但同样也接受中心化与去中心化的交易所共存的现实。

11、公链比中心化的服务器和联盟链具有真正的竞争优势,它能够可靠地发出信号中立性。但是目前公链技术的发展似乎不太如人意,导致它目前所能带来的好处可能并不足以抵消开发的成本。

12、为什么要用区块链做任何可以用互联网也能做的事情?主要答案是信任。最终,如果你能找到你信任的人,你用区块链做的所有事情都可以通过互联网完成。我认为区块链可以扩展人们做事的能力,并为经济上的互相交流敞开新的大门。

13、很多人认为区块链主要用来提供时间戳以及存在性证明,事实恰相反,区块链主要是用来证明「不存在」,也就是说验证某类行为并没有发生。

14、很多人,包括我在内,无疑都对区块链技术过于乐观了,比如持有短期内技术大规模落地,以及迅速将区块链应用于现实世界这类观点。从长期来看,我始终认为上述一切终将实现,但我认为这取决于区块链平台的技术进步——尤其是围绕着易用和扩展——目前尚在开发当中。

02

对以太坊的思考

15、回到2014年,我之所以进入这个领域是因为我相信去中心化,相信为世界做公开的事情,相信抵制审查的公共平台等等。有很多争论都是关于以太坊团队的其他人基本上只是想赚一大笔钱这个事实。不是所有的,但有一些。

16、必须对协议的「简单性」原则非常坚持。在很多地方,我都在努力想办法降低协议的复杂性。举个例子,在当前的Ethereum链中有这样一种默克树结构,它相当复杂——基本上它是一种存储系统中所有账户数据的方式,我一直在想如何把它的复杂性降低5倍。

17、我犯的最大错误就是我曾经拥有一个庞大的创始团队,但其中很多人都非技术出身,很多人在1-2年后就离开了团队,这拖慢了我们的进度。 另一个错误是我们把太多的精力投入到了业余项目上,致力于成为密码学界的苹果公司,而不是专注于一个特定的模块(比如核心区块链)并将它仔细打磨,然后通过授权机制(授权给第三方完成项目)或与其他团队协作完成剩余的模块。

18、如果社区继续依赖我,那么我认为这肯定是个问题。分权的意义在于你可以建立一个系统,在这个系统中你不需要知道哪些特定的人参与其中,他们是值得信任的,这样才能参与。因此,如果Ethereum持续存在的假设是我做了某些特定的事情,那么这对Ethereum生态系统中的任何人来说都是一个巨大的风险——很明显,这对我自己来说是一个巨大的自由丧失。

19、对于一个开发者社区来说,更小、更集中是一件好事,尤其是在早期阶段,当你有很多决策要做的时候,由大型委员会来设计大型协议是行不通的。但当系统稳定下来,我们谈论的不再是大规模的基础改造,而是正在进行的边际调整,那么我认为去中心化的模式就开始发挥更大的作用,并且作为一种正确的方式开始变得更有意义。

20、以太坊最早的一笔资金是来自硅谷著名的天使投资人彼得·泰尔(Peter Thiel)的10万美元。我其实和他没有很多互动,是因为我们两人的想法有很多不同,我认为在区块链中最核心的是权力下放,维持去中心化,而他却认为垄断很棒。

21、我们在2014年非常认真地考虑过证券监管法规等问题,我们与多家律师事务所进行了磋商,并仔细确认了我们所做的事情是否符合当时的法律。我认为总的来说,各国政府已经认识到,彻底关闭公链网络是非常困难的,但监管它们要容易得多。

22、营利性组织认为他们是向世界提供解决方案,而我认为我们正在创建一种机制,以便世界能够为自己提供解决方案。

23、我只希望以太坊能获得广泛应用,做很多有趣之事。我希望这一平台在技术上能够支持人们想在平台上搭建的一切东西。我希望围绕这些应用而生的一些想法会变得更加成熟。我希望我们能看到很多新机制得到试用。当各种社区的成员们因为新的管理机制而选择以太坊而不是因为先有对加密货币的兴趣而选择以太坊的时候,就是我们在这方面取得成功之时。

03

个人成长

24、这些年我意识到,仅仅让两个人坐下来,互相交谈与拥抱并不能解决所有的冲突。这个问题解决了一个小时,然后他们回到自己的房间,如果根本问题没有得到解决,那么这个问题就不会改变。我在这里学到的一点是:试着去同意你最后一个谈话对象的观点。如果你没有经验的话,这点其实是很容易做到的。我花了大约一年左右的时间,才弄清楚如何度过这一阶段。

25、我已经有八年时间没有玩游戏了。现在我常常在公园里散步,相比于虚幻的游戏世界,我更喜欢看到真实的大自然。

26、对我个人来说,财富增加对我的生活没有太多变化,只是我不需要为了花费两美元乘巴士这些琐事担心。我有钱的目的不是为了买大房子、或是豪车,而是希望拥有安全感。有钱之后,我就就可以随心所欲地做我想做的事,而不必担心钱的问题。所以,我现在不用把时间浪费在赚钱上,而是可以专注于创造我认为有价值的东西。而且,对于那些和我价值观有悖的事情,我也用不着妥协。

27、当我发布以太坊的时候,我的父亲非常自豪,而且还参与了推广活动,邀请了很多他的好朋友帮忙。他本身绝对是非常有趣的一个人。他一直都很支持我对数学和计算机科学的兴趣。他很支持我退学和创建以太坊等一切决定。因此,我很幸运能有这样一位父亲。

28、我认为我自己的处世之道更偏向于尝试在不明确思考的情况下与人为善。

29、我一般不看那么多书。我认为如果某个人有两个很棒的想法,他只需写满20页纸就可以阐述这两个想法,但是为了凑成一本180页的书,他会写很多泛泛之谈……我会阅读很多博文。 Slate Star Codex写的东西我都看。我会关注一些经济学家的博客,如乔治梅森大学的Cowen和Tabarrok等等。还有Steve Waldman在interfluidity网站上发布的文章。很多时候,我会浏览reddit,找有趣的帖子来看。

公链元年,以太坊将何去何从?

2018年,被成为公链元年。

区块链世界群雄并起,公链战争愈发激烈。 而以太坊作为公链中的执牛耳者,一直以来,它的表现就备受关注。

令人大跌眼镜的是,随着漫漫熊市到来,曾经开启区块链2.0时代的世界第二大加密货币体系,正在不可阻挡的走向崩溃。

自今年4月份,以太坊出现过一波大幅反弹后,至今币价一直处于跌跌不休的状态。如今,以太坊跌破107美元,距离年内的高点区域,累计跌幅超过90%。

而过去一周,有超过10万个 ETH(价值约1140万美元)从爱西欧项目钱包中转出。

曾经诞生了无数爱西欧项目的以太坊现如今变得岌岌可危。所有人不禁想要问一句,以太坊究竟怎么了?

11月以来,加密货币圈一波未平一波又起。从比特币现金分叉,到比特币持续暴跌,坏消息不断。人们都把把目光聚向了算力大战、比特币暴跌的时候,却都忽视了以太坊从神坛跌落。

据Coinmarketcap.com数据显示,以太坊在2018年初触顶最高点约1422美元,不到一年时间,跌落至107美元,跌幅92%。

虽然说,在熊市,几乎所有加密货币都在跌,但以太坊暴跌却并不正常。

从相关资料上看以太坊的持续下跌,有很多原因。

首先ICO市场不景气,而新的STO市场前途不明朗。

2017年,是ICO元年,在以太坊上,众多区块链项目利用以太坊进行融资,融资额度高达1840万美元。这个规模,在整个加密货币世界中一度达到总额的83%。

也正是凭借这一东风,以太坊在2017年风光无限。

但好景不长,2017年9月4日,给以太坊戴上了一个沉重的枷锁。

尽管“94”之后,加密货币市场仍然保持这高歌猛进,并且在2018年1月达到顶峰,但ICO疯狂背后的问题,已经开始暴露。

没有任何制衡的手段,造富神话破灭后,项目方圈钱、跑路,Token破发、归零,投资人渐渐对ICO模式“敬而远之”。

ICO变得萧条,以太坊也一落千丈。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

除此之外,今年一直备受关注的STO也很难对以太坊给予太多帮助。

以太坊团队想要通过STO来实现以太坊的第二次崛起,为此,以太坊开发者之一Stephane Gosselin提出了ERC1410,称为“部分可替代通证标准(Partially Fungible Token Standard)”,这是在以太坊上实现STO的解决方案。

此后,首个基于以太坊的STO交易项目tZERO的出现,人们以为,以太坊又会成为发币的摇篮,只不过是ICO变成了STO。

然而,以太坊需要STO,但STO却未必需要以太坊。

STO相较于ICO而言,门槛更高,并且一直处于被监管的状态,所以STO下的项目不会很多,几乎不可能重现ICO时期的百花齐放。

除此之外,随着公链技术的发展,尤其是2018年公链元年的到来,更多新的公链诞生。这些公链因为其后发优势,能够更加迎合监管。

相较于这些新公链,以太坊似乎得不到STO的青睐。

以太坊由巅峰跌落神坛,除了外部市场环境的恶化以外,其自身固有的缺陷,也是不可忽视的原因。

以太坊的智能合约,一直是黑客攻击的重点领域。

2017年6月18日,黑客利用以太坊固有漏洞攻击了以太坊The DAO的网络,成功盗取了超过360万个以太坊,其损失预计约10亿美元。

虽然通过回滚,以太坊社区挽救了这一损失,但之后,黑客开始了无止境的攻击。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

今年4月22日,黑客利用了以太坊ERC-20智能合约中的BatchOverFlow中数据溢出的漏洞,攻击了BEC(美链)的智能合约,成功地向两个地址转出了天量级别的BEC代币,导致市场有天量的BEC被抛售,BEC价格接近归零。

之后,有区块链安全公司利用自动化系统扫遍了以太坊智能合约,发现有超过12个ERC-20智能合约都存在这个安全隐患。

祸不单行,今年4月,用户量最大的以太坊钱包Mytherwallet遭到了DNS劫持攻击,此次攻击导致约1700万美元的ETH被盗。

此外,比特币核心开发人员Jeremy Rubin于9月初在TechCrunch上发文称,由于以太坊合约中没有硬性要求要用ETH支付Gas,未来可能会有越来越多DApp用户选择用其ERC-20代币支付Gas,导致ETH的需求进一步削弱。

这一观点甚至得到了V神的肯定,V神认为其部分论点合理。

如今大火的Dapp领域,以太坊虽然开拓最早,但依然面临不小的挑战。

据Dappradar的信息,截至目前,以太坊上Dapp数量共有1255个,而与它相对应的EOS主网上的Dapp只有190个。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

尽管从数量上看以太坊Dapp运行状况良好,但无论从用户量、交易量、交易体量三个方面来看,EOS却完胜以太坊。

有数据显示,就用户量而言,以太坊用户约为14000个,EOS用户高达51000个。即便被曝出“虚假繁荣”“只有30%的用户是真实的”,EOS用户数量也能和以太坊一较高下。

基于以太坊的Dapp的24小时用户活跃量超过300的只有7个,超过1000的仅有2个。

与此同时,基于EOS的Dapp24小时用户活跃量超过300的有20个,超过1000的有10个。甚至最近戏份较多的波场(TRON),作为一个只有17个Dapp的小型公链,其24小时用户活跃度超过1000的也有3个。

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

相较于1255个Dapp总数,这么少的用户活跃量对于世界第二大加密货币来说,似乎也能看到以太坊的乏力。

实际上,在架构方面,以太坊有很多地方不适合Dapp。

以太坊自从创立到现在,一直就饱受拥堵问题的困扰,尽管V神一再表示将对以太坊实施分叉扩容的方式来缓解拥堵问题,但截至目前,仍然未见成效。

扩容迟迟为实现,交易处理速度依然缓慢。因此,就会出现一款游戏导致整个网络拥堵的问题。

而这种拥堵,也被黑客利用,成为获利手段的一种,比如Fomo3D的最终赢家。

面对急速追赶的EOS和TRON,以太坊还能保持多久的先发优势?是否还会存在新的挑战者?

在公链争霸年2018年,以太坊虽然目前还坐在王座之上,可其实已经被“群狼环伺”。

很少有人说要取代比特币,但高声叫嚣着要干掉以太坊的却有不少,比如EOS、TRON等,还有2018年出现的50多条公链。

他们虎视眈眈,盘踞在以太坊周围,正在逐步的蚕食以太坊的地盘。

尽管以太坊面临困境,但以太坊联合创始人Joseph Lubin却表示,以太坊价格的下跌,对整个以太坊生态而言有积极的一方面。

开启区块链2.0时代的以太坊,在高速迭代的币圈,能否度过这次寒冬?

干货 | 探究以太坊 2.0 的分叉选择规则

导读:从 PoS 无法应用最长链规则,到以太坊 2.0 中 Beacon Chain 的分叉选择规则。

编者注:文章原题为“Detailed overview of Ethereum 2.0 shard chains: Committees, Proposers and Attesters(关于以太坊 2.0 分片链细节概述:委员会、提案者和证明者)”,但我认为,文章内容的实质是信标链的分叉选择规则(尽管还说不上完善),因此改名。读完这篇文章就更能理解:为什么权益证明无法使用最长链规则而必须采用其他规则,而这些规则又会有怎样的局限性。文章非常长,但不读你就错过了。有兴趣的读者可以结合文末超链接研究一下。

时至今日,许多关于以太坊 2.0 的工作细节已经公诸于众,同时还有许多团队在着手实现。但是 以太坊 2.0 还有一大块空白的部分还未规范,也没有披露什么讯息,那就是分片链技术。基本上所有关于规范的部分都展示在这里,而这篇博客会着重提供一些细节概述。

脚注:这篇文章的初版所述的方法,称作即时消息驱动(IMF, immediate message driven),现在已经被抛弃了。相关内容可以在这里找到。

委员会及其构造

只要将 32 个 ETH 放入现有主链(PoW chain)上指定的智能合约,任何以太坊网络中的参与者都能成为验证者节点。

-Image by Hsiao-Wei Wang-

参与者进入验证者池之后,就可以被分配给某个分片。分配过程是是完全随机的,可以通过可验证延时函数(VDFs,Verifiable Delay Functions)保证随机的无偏性。

如果有参与者质押的权益超过 32 ETH(假设是 320 ETH),他们就会获得相应比例的验证者席次。这些席次彼此之间无关,会被独立地分配给分片网络;所以对于投入 320 ETH 的参与者来说,最不理想的情况是在单个出块时段,成为十个不同分片网络的验证者。但如果不这么设计的话,就会增加竞争敌手接管某一个分片的可能性;一般来说,我们都预期那些拥有更多权益的人可以调用更多的资源以及算力(因此要防范这一点)。

在 Proof-of-stake 系统中产出区块

以太坊 2.0 是 PoS 系统。在本章节,我们先回顾一下现有的且被推崇的 PoS 区块链中,是如何产生区块的:

在这样的框架中,生成区块的时间间隔是固定的。例如每五秒生成一个区块,并由一群验证者来进行创建和验证区块。在每五秒的出块时段内,会有一个验证者被指定来生产该时段(time slot)的区块。如果验证者彼此之间的权益数量不同,则有较多权益的验证者会有较高的概率成为区块生产者。

当分叉发生时,诚实的验证者会选择具有最多区块的那条链。只要诚实的验证者占全部验证者总数的一半以上,想要伪造一条最长链是非常困难的。假设所有少数恶意节点试图联合起来,私下创建一条分叉链,并且故意在诚实链的出块时段内不产出区块;即使如此,他们的恶意分叉仍然会比诚实链要来的短;这个论点类似 PoW 系统,只要超过一半以上的算力由诚实节点控制,要反转最长链的可能性极低。

然而如果直接实施这种架构,会存在许多问题。首先,短程分叉还是很有可能发生;只要少数节点控制了全部验证者中的 10% ,最后的几个区块,比如说六个,的回滚概率还是高的令人无法接受;第二,会出现各式各样的审查问题。举例来说,如果恶意节点碰巧在一条队列中获得连续两个出块时段的出块权力,他们就能审查前一个出块时段产生的区块:

上图中恶意验证者控制了第 3 和 第 4 个出块时段;它们能够紧接在 1 号块(即第 1 个出块时段所出的块)之后生成区块,实质上造成对 2 号块的审查。而诚实的验证者在第 5 个出块时段生产区块时,会选择被操控的包含第 3 和 第 4 区块的链,因为它们是较长链。

即便是单个恶意验证者也能试着去审查前一个时段的区块。如下图所示,X 轴表示时间轴,出块时段标记在底部,区块中的数字表示人们预期的该块的出块时段(标号1 即表示人们预期这个块会在第 1 个出块时段出块)。假设诚实的验证者被指派为第 0 和 2 时段生产区块;该诚实验证者将区块 0 广播出去之后,被指派为第 1 个时段出块的恶意验证者可以扣住区块不去广播,等到区块 2 被广播出去后再广播区块 1(由于负责出区块 2 的验证者没有收到区块 1 ,他们会紧接着区块 0 构建他们的区块;因此,区块 1 和区块 2 就变成了两条同样长的分叉链)。

等到第 3 个出块时段,诚实的验证者应该接着哪个块创建新的区块呢?我们考虑以下四种可能的情况:

  • 总是跟在较早创建的区块后面。这么一来,处在较早出块时段的恶意验证者就会延迟广播区块,直到下一个出块时段的区块被创建后再广播,导致后者就被忽略(如上图情景所述)。
  • 总是跟在较晚创建的区块后面建块。这种情况下,在时段 X 出块的恶意验证者可以选择无视时段 X-1 创建的区块,并且能确保负责时段 X+1 的验证者一定会选择他的区块,而时段 X-1 创建的块就会被忽略。
  • 总是跟在自己先接收到的区块后面建块。这种情况下,只要恶意验证者比下一个验证者的网速更快更稳,上述两种情形都有可能发生。
  • 、随机选择区块。这样恶意验证者就无法确定自己创建的区块会不会被接受(除非它们在一条网络中控制了多个出块时段);但是如果审查区块能获得高于出块的奖励,恶意验证者仍会尝试作恶,同时有 50% 的成功几率。

上面的四种情况都是我们不愿意见到的。

拜占庭方法

针对上述问题,人们提出了一系列的提案,这些提案的想法是在验证者创建区块时,使用一种拜占庭共识算法。最早设想这个方法的论文是 ByzCoin ,而后又有许多基于它的协议被提出。它们的核心思想是:一旦区块经过委员会最终确定,只要恶意节点数量不超过 1/3,这个区块就是不可逆的,换句话说分叉和篡改无法成功。

这个方法有两个主要的缺点, a) 大多数拜占庭算法很慢,无法应对大量参与者要达成共识的场景; b) 掉线的节点会被视为恶意行为,因为如果少于 2/3 节点在线,区块共识就无法达成,进而导致系统总会在某些时候停滞不前。

检查证明(Attestations)数量的方案

以太坊 2.0 延续使用之前的方法,也就是在每个出块时段,会有一个验证者(又称作提案者,proposer)被指派产生区块。而且以太坊 2.0 还进行了拓展:委员会的其他验证者被激励去“证实(attest)”这个区块,也就是给它签名。这种签名使用了 BLS 群签名方法,可以避免随着签名增加而使得区块大小暴增。而且对于给定的出块时段,如果验证者没有看到新创建的区块,或是区块不在当前应该在的链上,验证者被鼓励去证明存在这个情况,又称作证明“跳过该区块”的操作。这样一来,诚实的验证者会证明每个出块时段都正好有一个区块产生;这可能是由提案者创建的真实区块,或是一个被跳过的区块(“跳过该区块”)。

借由证明者机制和分叉选择规则,以太坊 2.0 分片链避免了一般 PoS 方法和拜占庭共识算法的问题。

分叉选择规则

即时消息驱动(IMD)

从创世区块开始,每当我们面临分叉时,只要某个分支上具有的验证者(即为该分支的当前和以往区块做证实的验证者)比其它分支都要更多样,我们就认为它是应该被选择的分支(预告,后面会提到最新消息驱动 Latest Message Driven)。

我们分析一下上图所示的情形。每个区块中的字母表示该区块获得的证明,虚线的区块表示“跳过该区块”操作。现在发生分叉,Alice (A)、Bob (B)、Carol (C)、Dave (D) 和 Elaine (E) 已经证明过下分支的部分区块;而 Victor (V)、Xavier (X)、Yasmine (Y) 和 Zach (Z) 证明过上分支的区块。为了找出正确的那条链,我们得从创世区块开始往右推演。参与者必须在第 2 个出块时段对上下两条分支进行选择;而分叉选择规则告诉我们,要选择在其上有较多不重复的证明者的分支。我们可以看到,下分支有五个证明者(Alice, Bob, Carol, Dave and Elaine),上分支只有四个(Victor, Xavier, Yasmine and Zach),所以我们选择下分支。注意,其实在下分支里,并没有某个块是得到五个验证者证明的,甚至连得到四个证明的块都没有(在第 7 个出块时段之前的链,只有来自 Alice, Bob 和 Carol 的证明;如果链在第 8 个出块时段结束的话,也只有来自 Alice, Dave 和 Elaine 的证明)。但是下分支的累计证明数比上分支多,因此选择前者作为链。

相似的,在第 6 个出块时段也要进行一次分叉选择;上面分支有三个证明者( Alice, Bob 和 Carol ),下面的只有两个( Dave 和 Elaine ),所以最终结果会选择包含出块时段 1 、2、4、6、7 所创块的链。

最新消息驱动 Latest Message Driven

在(最新消息驱动)这种分叉选择规则中,(在确认哪条分支有多少验证者时)我们只考虑这些验证者在最新的出块时段提交的证明。举例来说,在下图中的第 3 个出块时段(也就是最新的出块时段), Alice 提交了对上分支区块的证明,因此我们认定 TA 选择了上分支。换言之,Alice 在第 2 个出块时段的证明将被忽略掉,因此我们在第 0 个出块时段进行分叉选择的时候,上分支有三个证明者( Alice, Bob 和 Elaine ),下分支只有两个( Carol 和 Dave),我们选择上面的分支:

要注意的是,此种分叉选择规则只看 Alice 在最新的出块时段(出块时段 3)的选择,这和 Alice 最先提交哪个证明或是特定观察者最先接收到哪个证明无关。

证明的条件

只有在区块满足某些条件时,诚实的证明者才会对区块进行证明:

区块属于证明者认定的当前被选择的链上;

证明者在同一个出块时段内,没有对其他区块进行过证明。

注意:我们相信诚实的提案者不会在同一个出块时段内创建两个区块;因此,这种分叉选择规则只要配合罚没规则便可使用:当出现恶意提案者试图在同个出块时段创建多个块,以此分叉区块链的时候,它的权益会被立即罚没掉。

如果证明者没有收到特定出块时段的区块,则证明者会采取证明“跳过该区块”的操作。由证明者自行选择等待时间,直到他们决定停止等待并证明“跳过该区块”操作。Danny Ryan 建议诚实的证明者应该等到出块时段过了一半之后,再进行最终他们认为正确的证明(不论是对实际区块或是跳过的区块进行证明)——因为大多数证明者都会这么做。

进一步分析
活跃性

不同于其他拜占庭共识算法,在上述方法中,即使超过 1/3 占比的节点掉线,出块过程也能继续正常运行。网络中的参与者会仔细检查只得到少于 2/3 证明的区块,并对这些区块更加小心,直到有其他附加的安全条件被满足(比如,等到这些区块被交叉关联(cross-link)到信标链(The Beacon Chain),并且由 Casper FFG 进行过确认……这些就超出本文讨论范围了)。不过最重要的是,系统会持续出块,而不会延宕。

抗审查性

回顾一下上面提到的两种审查场景,在第一种情形中,拥有连续两个时段出块权的验证者想审查前一个区块就不可能成功了,因为分叉选择与链长度不再有任何关系。

如果没有限制验证者只能在相应的出块时段内做证明,那么第二种场景(提案者延迟出块,直到下个出块时段的区块被创建出来)仍然可能发生:出块时段 X 中的恶意验证者可以延到 X+1 块被创建后,再广播他们的区块。对于证明者来说,他们无法区分恶意攻击或仅仅是网络延时的区别,而且一旦证明没有限定的时间窗口,人们就可以在后来证实 X,有效地审查 X+1。

要求在特定时间窗口进行证明可以解决上述问题,只要所有参与者的时钟都是同步的。如果无法保持同步(但仍然在数秒钟的时间范围内),基于时间差的攻击就有可能发生;当然发生的可能性极低。

抗分叉性

在两种可能的累计证明数的方法中(最新消息驱动 LMD,只有在最新的出块时段中的证明会被采纳;及时消息驱动 IMD ,采纳所有的证明),后者提供较好的抗分叉性保证(详见此文关于分叉性的章节),但相比于其他拜占庭共识算法仍然不够好。

本文描述了以太坊 2.0 中的 LMD 方法,虽然这种方法对分叉性的抵抗较弱。 为了更好了解这一点,假设某条分支中有 60 个证明者,其中有部分恶意节点;另外一条分支有 40 个证明者。在 IMD 场景下,需要在那 60 个证明者中出现 21 个恶意证明者为具有 40 个证明者的分支做证明,才能改变原有主链选择的结果(最终为 61 个证明数 vs 60个证明数,原来被选择的主链上只有 60 个证明);在 LMD 场景下,只要出现 11 个恶意节点就能达到分叉目的(最终为 51 个证明数 vs 49 个证明数,原来被选择的主链上只有 49 个证明)。尽管 LMD 能够减少分叉发生,加上主链有超过 2/3 占比的证明数且恶意节点占比不到 1/3 ,我们仍无法完全避免分叉发生。我们考虑下面的例子:

假设有七个验证者,其中 Alice (A)、Bob (B)、Carol (C)、Dave (D) 和 Elaine (E) 是诚实节点,而 Xavier (X) 和 Yasmine (Y) 是恶意节点。

(i) 现在出现了分叉,第 2 和 3 出块时段都接着第 1 个出块时段的区块出块,而 Alice 和 Bob 看到第 2 个出块时段生成的区块,并为它提供证明;

(ii) Carol 没有看到第 2 个出块时段的区块和证明,而只看到第 3 个出块时段创建的区块。于是 Carol 和恶意节点 Xavier、Yasmine 替区块 3 提供证明;

(iii) 现在区块 3 拥有三个证明,所以 Alice 和 Bob 就会认为包含第 3 个出块时段的分支才是主链,因此他俩也对区块 3 进行证明(假设证明时间窗口还没结束)。现在区块 3 具有超过 2/3 占比的证明数,理应不可逆;

(iv) 但其实 Dave 和 Elaine 在有效期间也对区块 2 进行证明,却因为网络延迟问题没有及时被看到(Alice 和 Bob 也没看到);

(v) 这时候,恶意节点 Xavier 和 Yasmine 选择在第 4 个出块时段创建块,并接续在原本应该被抛弃的区块 2 上。一时之间,上分支证明数(Dave, Elaine, Xavier 和 Yasmine)反超下分支的证明数(Carol, Alice 和 Bob),前者成为主链(即使下分支一度存在超过 2/3 占比的证明数);

(vi) 现在所有诚实的证明者都会对区块 4 进行证明。

注意,上述的攻击很难成立(比如 Dave 和 Elaine 出现延迟的情况;在有数百验证者的网络中很难发生,除非攻击者控制了整个网络通信),这对作恶手段也有很高的要求(Xavier 和 Yasmine attesting 要先知道他们证明的区块不会被选为主链,但这仍表示 LMD 方法不如拜占庭共识算法来的强健)。

和 TxFlow 比较

TxFlow 是 Near 用于其分片链的共识算法,关于 TxFlow 的细则可以在这里找到。

以太坊采取的方法的两个缺点是:即便积累大量证明,理论上分叉仍然可能发生,而且非常依赖验证者之间的时间同步。目前协议中,出块速度为 8 秒,所以要求时间同步精度在数秒以内。以太坊基金会进行过的测试表明,若时间差在 10 秒以内,链仍然会继续增长。大多数证明会变成“跳过该区块”操作,但仍然能指向正常的区块,使得链稳定增长。

TxFlow 继承了大多数以太坊方法中的特点,但是不依赖时间同步;只要求恶意节点少于 1/3 则正常区块就是不可逆的。然而,在目前的设计中,只要超过 1/3 的验证者掉线,整个链就会丧失活跃性。

注脚:请注意,当分片数量很多,且恶意身份能灵活切换时,假设恶意节点少于 1/3 占比是不合理的。所以包含 TxFlow方法在内的其它拜占庭协议,最终仍有可能发生分叉。

值得一提的是,EthResearch 在 TxFlow 上测试时,Vitalik 指出 TxFlow 方法中决定什么时候出块的设计(“网速多快,就出多快”)有其他缺点:这会促使节点们抱团,以减少延时。对此指控的反驳是, TxFlow 方法的瓶颈来自“速度最慢的 1/3 节点里,其中最快的验证者的延时”。也就是说,除非超过 2/3 占比的验证者联合起来,不然无法有效提高出块速度(也无法增加出块奖励)。所以 TxFlow 的验证者发生抱团或中心化,需要大多数验证者共同为之,这在验证者基数足够大的情况下很难发生。

下表将 TxFlow 方法和 证明( Attestations)框架进行简化对比:

 

校长在学校挖以太坊被免职

官媒和外媒如 BBC 报道了湖南郴州嘉禾县普满中学正副校长用学校电教室挖以太坊而被免去职务的消息。校长雷华是在 2017 年 6 月以太坊热度还没有到达峰值开始购买矿机挖以太坊,当时以太坊的币值在 160 美元到 200 美元左右,当他发现矿机耗电太大之后就将其带到学校宿舍,他又陆续购买了 7 台,宿舍太小所以就全部放到了电教室。

副校长知道之后也购买一台矿机放在电教室挖以太坊。这一挖矿作业曝光是因为矿机噪声太大耗电太多。据官媒报道,从2017 年 7 月至 2018 年 7 月期间,雷华利用学校电力进行以太币“挖矿”,共产生电费 14714 元,全部在学校报账。以太坊的币值在今年 1 月超过 1300 美元,如果他挖之后就出售,那么他应该能从挖矿中获得一笔相当不错的收入。目前以太坊币值在 200 美元左右。上个月雷华受到党内严重警告处分,被免去党支部书记、校长职务。