BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

    2018.2.27 19:47 lv Created with Sketch.

BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

第一段 

问1:欢迎Dan Larimer,我们的第一个问题是:你是如何与计算机科学和编程结缘的?

BM:我小学开始编程,是父亲教我的,我们全家都用Mac系统,而且一直用。中学开始我对编程感兴趣,后来去佛吉尼亚理工学院读计算机专业,三年后毕业。

问2:我们年轻时,一些人在踢球,一些人在泡妞,可为什么你偏偏对编程技术情有独钟?

BM:创造新的东西和解决现有问题是我真正感兴趣的两件事。

我爸曾试着教我电气工程方面的东西,但那要用很多电线,于是这就变成一个很烧钱的项目,实验成本动不动就高到不可测,但编程就不一样,在我眼里编程是最有效率的创新方式。

问3:刚开始编程的时候,你做的是什么项目?

BM:我刚开始做的是一款星际迷航的射击类游戏,我爸和我一起做的。到高中时,我做过几款冒险类游戏,还有俄罗斯方块,后来我开始设计无人驾驶系统。

我在ACIC(美国陆军能力集成中心)当过实习生,后来进入雷锡昂公司(美国最大的电子器械公司之一),在这两家单位参与过一些无人飞行器和无人汽车项目。

大学时,我开始探索虚拟现实领域,试着通过虚拟环境实现协作通信,那时我遇到的第一个问题是:如何同步处于不同地理位置的虚拟环境。那时我不停地思考如何解决这个问题,怀揣这股冲劲,我一直想做自己的公司,而不仅仅是当个打工仔。

问4:你多大年纪? 

答:35岁。

问5:和我们说说你从毕业后到发现加密货币这段时间的经历吧。

BM:2007年前后,我发现人们常常会感觉自己不被他人理解,比如人们会想:为什么我不能让所有人都明白那些“我明白了的事情”?于是就很烦,但我开始想办法。

我想能不能做个网站,让人们把讨论的东西放到这个网站上,促成人与人之间达成共识。

那段时间,我认识了罗恩.保罗(美国一位的自由派老议员,三次美国总统候选人,《终结美联储》一书作者),并且学到到我们国家经济和货币中的结构性问题,还接触到了奥地利学派(自由主义经济学的代表)。

实际上,那时我就已经开始探索自由主义之路了,我想获得一些技能,可以让自由市场来保障我们自己的自由和财产。

我认为如果要让暴政或暴力消失,那我们就得再找一条路,这条路必须完全基于人与人之间的自愿协作

而现在保障我们自由和财产的,是我们的政府,更准确地说,我们不得不指望他们来保护我们。

我意识到,解决这个问题的第一要务是我们必须从政府手里夺回货币。因为货币是国家管理者们控制我们最重要的手段,所以我想做一种数字货币,于是就上网找,结果一头撞见比特币,那是2009年,比特币刚刚出现的时候。

当时我就被比特币的完美震惊到了,并且确信它就是我要找的东西。所以我就整天研究它,我泡比特币论坛,和中本聪讨论……不亦乐乎。

问6:你是如何发现比特币的?

BM:我用Google搜索“数字货币”和“数字货币系统”,当场就发现了它。比特币并不是我从新闻里看出来的,只是我在寻找答案的过程中,顺手发现了它。

问7:你和中本聪在论坛上有过沟通?

BM:是的。

2010年开始,我就特别担心比特币的可延展性和冗余问题,又如:交易确认需要多久?交易费用会有多高?

说实话,我隔着屏幕就能清楚地看见:比特币绝不可能被用于小微支付。现在来看,这些预测都已经应验。

问8:你是否尝试做你自己的系统,有没有试着让比特币社区相信你能把比特币带往更好的方向?

BM:那段时间我并没有全职投入加密货币行业,我还要赚钱吃饭,所以我只把这当成爱好,试着做了自己的区块链并且运行它,这样我可以把一些概念学得更好。

直到2013年我才全职挺进区块链行业,一开始做比特股(Bitshare),这是为了造一个去中心化的交易所。门头沟(Mt Gox,人类历史上丢币最多的交易所)事件后,他们的账户被冻结。我意识到法币交易所能够让人们带着钱自由进出,而加密货币的交易所就偏偏不行,所以我就开始想办法解决这个问题。

不知不觉中,我就发现了一个全新的领域,但这个领域的问题是比特币根本解决不了的。因为我们需要极短的区块间隔时间(比如1-3秒,而比特币是10分钟左右);我们需要极低的空块率。为了增强实用性,还得把比特币从地址系统硬扭成为账户系统……

所以,我并没有花太多时间改变比特币社区的理念,因为真正的解决方案与当前的比特币相比,那是天壤之别。与此同时,比特币背后的思想是如此的根深蒂固,我像只蚂蚁一样不可能撼动这棵树。

问9:你如何找到你的团队?

BM:那时我试着在bitcointalk.org上阐述我的观点,于是就激起讨论,我联系了Adam Levine(摇滚歌手),他把我介绍给其他牛人,像Charles Hoskinson(数学家,科技创业者),我们一起研究比特币白皮书,然后凑了50万美元创立公司,去实现Bitshare背后的思想。

之后的经历,就像滚雪球一样。

我们开始组织会议,人们从四面八方赶来帮我们, 特别热情地参与到这项工作中来。在这样的公开讨论中,我们的团队自然而然地冒了出来。

问10:好,现在全世界已经有超过1000人在看我们直播了。Bitshare是你参与加密数字货币后的第一个项目,很多人和你一样,也想做类似Bitshare的系统,但他们都没有做成,那你认为这个项目遇到最大的挑战是什么?

BM:Bitshare是一个横跨几乎所有领域的东西,从法律到政治,从哲学到科技,从社区治理到可用性,我们必须解决一连串问题。

那时,世界上只有三种币:比特币、克隆比特币的币以及瑞波币(Ripple),除此之外没有其他的区块链应用,所以也更多经验可以借鉴。

Bitshare有过两个版本。

第一版发布于2014年,这个版本的区块间隔是10秒,但在可用性方面有很多不足,因为我仍然沿用比特币的一些思想,比如UTXO。我也用过类似比特币的数据库技术,这就导致性能不太好。

不到六个月我就发现,这一版并不能跑任何实际应用,所以我就坐下来重新设计架构,我想新架构必须基于一种新的状态机模型,而这种模型必须与比特币的UTXO完全不同。

这种新架构必须把所有东西载进内存,而非涮完一遍后装进数据库。

2015年6月前后,我们发布了石墨烯工具组,在此基础上建立的Bitshare2.0是第一个间隔时间只有3秒的区块链,每秒支持1万笔交易,这也证明了在分布式环境下能实现我们原本设想的高性能。

我们第一次获得了成功。但我认为,相比于基础技术上收获的经验,我们在政治经济上收获的思考才更有意义。

第二段 

问11:很多人都说POW耗电惊人,甚至要建很多电站,这样消耗的能源会远超我们的产能。

但是Andreas Antonopoulos(币圈名人,比特币早期布道者)却说:POW有很多问题,比如说算力多者权力大,但POW却是唯一对得起你消耗资源的共识算法(即一分辛劳一分回报)。

对于这些众说纷纭,BM你怎么看?

BM:POW是种“谁力气大谁说话”(might makes right)的算法,人们倾向消耗最多的资源以控制全网,这种竞争要求经年累月地投入能源,于是势必形成矿池。

而最终几家大矿池决定打包哪些交易,同时也是他们决定着不打包哪些交易。所以说,我们的交易本质上是递给这些大矿池审查的。

很多人并没有意识到,安全不是一个单维度问题,它至少涉及三方面:

1)是否有人能轻易修改规则?

2)是否有人能对抗审查?

3)是否有人会强行硬分叉?

这些问题看起来相互关联,但解决起来却完全独立,因为它们各自有不同的东西来保障。

POW下,保障区块安全的方法是大规模复制,并向全网公开。每个人都遵守同样的规则,任何人都能验证区块,同时每个区块都按规则生产,所以即使全网只有一名区块生产者,依然能够玩得转。

可这种模式的软肋在审查环节:一些人总是手握事实上的审查权,我们看一眼POW矿池就会发现:实际上只有3-4个矿池有权审查交易。

BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

图2  狗年初一  全球算力分布

数据来源:https://btc.com/stats/pool

而DPOS则不同,如果有人想扭曲事实,他得同时向21个节点行贿,而这些节点由系统随机排序,这使得贿赂成功的可能性低到0。

DPOS仍然按规则生产区块,并且区块信息全公开,这些节点无法改变规则,因为有数以千计的全节点时刻都在验证交易。

所以说:

Security is not a one-dimensional concept. It's not about the cost that goes into it. In fact, you want the best security for the least cost for things to be economically sustainable. 

安全性不是一个单维度的概念,这和我们投入的成本无关,事实上你要的是用最小的成本实现最好的安全,并使得整套系统在经济上能持续运作。

另外,POW还有一个弱点,就是当币价暴跌70%时,挖矿将不再有利润、甚至亏本,此时原有的激励制度会变味。

Ivan总结:POW虽然久经考验,但它依然具有中心化的特质,所以越来越多的加密货币从POW转变为POS。

问12:你在开发Bitshare上投入那么多时间和精力,那是什么最终让你离开Bitshare?

BM:两个原因。

第一,钱烧完了。为了开发石墨烯工具箱,我们掏光了家底,最终虽然开发成功,但还要不断升级,不断投钱。

第二,我们引入了“工作者提议”(Worker Proposals)的理念:这使得社区掌握越来越多的决定权,比如社区有权决定是否通过投票筹款,是否停止通胀,是否停止为新项目募集资金等等。

那时我没有工作,可是嘴巴需要吃饭,为了继续开发,我只能出售自己的股份,所以我的持股比例越来越少,话份也越来越轻,但即使这样,我依然继续开发,埋头打磨产品。

这时我意识到,开发者和社区的激励因素并不一致

而且,Bitshare在市场营销方面也有很多问题,这些问题都是当时的我无法解决的。比如,如何向普通人展示一个区块链?如何让人们源源不断地跑来注册?

要解决这些问题,只有重建底层架构。于是,我决定离开Bitshare,重新投入另一个项目:Steemit

Steemit是一个去中心化的社交媒体网络(类似于能赚钱的博客),当时我想用它来解决一个问题,即:降低人们进入加密货币领域的门槛。

我曾试着让新用户使用Bitshare,但Bitshare的宣传文案却似乎在说:嘿,你快把钱给我们吧,我们帮你投到高风险的加密货币中去吧。

对普通人来说,一开始学加密数字货币是很不容易。我们得这样教育很多零基础的人:听好,你得先去学比特币,然后去买币,接着把币转去交易所,最后转成其他币……

普通人听到这里腿会发抖,于是我想削平普通人的入行门槛。

另一方面,我认识到一个事实:人类的劳动是有价值的,就像POW挖矿也同样有价值一样。于是我在想,要做成Steemit,让人们相信一件事就行,即:只要人们投入自己的时间就能赚到钱,就像他们投入自己的钱能赚到钱那样。

但是,为了做Steemit,我还得解决另一个问题:手续费。因为没有人愿意为点赞或转发之类的小动作付费,可在这件事情的另一头,内容生产者却投入了时间,他们必须挣到钱。

怎么办?

Steemit的理念是以写博客的方式挖矿(mind by blogging),写博客的人和比特币矿工一样,都有资格从劳动中获得收入——这将产生数以百亿美元的劳动收入。

这些钱用去奖励内容生产者,与此同时,必须建一个超大规模的分布式系统,用来消费这些内容,为这些内容提供资金,形成一种生态。

现在的Bitshare采用“工作者提议”(Worker Proposals),人们可以投票决定是否资助开发者去做哪个项目,但在现有技术架构下,很难产生真正有价值的提议。

这种花费并不是强制性的,当一部分人决定削减开支,这些人就会把代币存起来,但他们很难弄明白“为了明天赚钱,今天必须花钱”的道理。

而另一拨人则反对通胀,他们是通缩派,为了壮大整个系统,他们认为应该不断地往生态系统里砸钱。

所以,Steemit一方面引入强制性的通货膨胀,另一方面安排了强制性的支出、同时又设计了大规模的去中心化预算。

问13:谈谈你对社交网络的认识。

BM:社交网络属于每个人,每个人都可以贡献内容,每个人都有权对这些内容评头论足,社交网络在生产内容的同时会奖励内容生产者,生产的内容能被Google搜索到,从而产生网络效应。

这能从根本上鼓励人们去注册和使用,因为现在的宣传文案已经变成这样:别给我们钱了,赶紧注册吧,把你自己的生活告诉我们,这样你就能赚到钱了

换句话说,你现在在其他社交平台上发的那些微博并不能获得收入,但你只要把这些微博和博客移到Steemit上,就能赚到钱。

于是Steemit立马流行起来,男女老少都自动变成Steemit的用户。

Ivan:是的,比如我就每天在用Steemit,甚至有很多从没听说过区块链技术的人都开始用Steemit,因为他们在Steemit上见到了美元符号,这些对于初次使用者来说非常有吸引力。

BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

图3 Steemit 页面截图——写博客就能赚钱的网站

来源:https://steemit.com/trending

问14:既然Steemit运行得这么好,为什么还要离开它?另外,你离开Steemit后遇到过哪些问题?

BM:作为一个社交媒体应用,Steemit上的功能聚焦得非常狭窄,几乎只能用来做社交。Bitshare和Steemit都是基于区块链的应用,如果你想向区块链添加新功能时,你必须让所有参与方都达成共识,同时你必须做大规模的升级,其间无尽的争议会极其地耗时。

所以,当看到比特币和以太坊的硬分叉时,人们就明白了:你的想法不能离社区这个中心太远,所以很难开拓出新方向,特别是你想搞区块链层面的技术性巨变就更加不可能了,而所谓的“巨变”,在功能层面可能仅仅是在现有系统中添加一个小特性。

所以,其实我刚开始做Steemit那会儿,我就一直想建立一个更加通用的、可编程的区块链。那时,我就在找CEO,后来找到了Ned,我问他:你是否认同我的理念?如果你认同,我想来让你做Steemit的CEO。

Ned说:行~(Ned是Steemit的CEO和联合创始人)

于是,即使当时我已打算去开发别的项目,但是我们依然在一起开发着Steemit,直到把这个东西做出来为止。

所以说,即使我离开,Steemit依然可以继续运行、继续提升性能,因为我已经把结构框架搭好了,后面来的人只要把用户界面做得好看点就行了,Steemit这个区块链应用自己会自顾自地运行。

其他方面,就涉及到利益分配问题了(political lesson)。

社区对于这个系统应该如何运行有着自己的理解,社区基于他们自己的理解而采取行动,但社区并不一定非得理解这样行动的后果。

所以,当你一旦触及到利益问题,比如对于一些方向性问题开始投票时,如果资金募集者不愿意了,你根本没办法,因为你不能像个暴君一样说:你应该走我让你走的路,因为这是个去中心化的系统,这些都已脱离我的控制。

我理想中的新系统应该有更好的治理架构以及权责利安排。为此,我研究了博弈论,学了人们在类似投票的博弈过程中的各种纠结心理,最后发现这一系列东西都应该被重塑,可现在每个人都已经参与进这个系统,于是我注定无法重塑它。

所以,我决定去创建我理想中的新系统。

问15:好的,我们来聊一些能搭建APP的平台。以太坊上能搭建很多应用,但一些人说以太坊唯一的用处是ICO,那么你为什么不把Steemit建在以太坊上?

BM:把Bitshare或Steemit建在以太坊上,在技术上是不可行的。

一方面,Bitshare在以太坊发布之前就已锁定募集,而Steemit虽然在以太坊之后才开始做,但以太坊的每步操作都要收费,如果在以太坊上做,那结果一定连点个赞都要收费,这对于用户来说是不可思议的。

现在,Steemit上每天的交易量比以太坊的处理极限还多一倍,网络拥堵时以太坊转账手续费会变高,但Steemit不会,因为Steemit有更多的峰值储备,即使用户数激增,也不会影响交易速度。

所以,不建议你在以太坊上搭建应用,因为如果你的用户数激增,那以太坊注定是撑不住的。如果谁做了Raddit(国外时事新闻类app)这样成功的应用,系统至少得支持每秒200笔的交易,但这个简单的需求就已经超过以太坊极限处理能力的10多倍。

除此之外,你必须关注实用性。以太坊每个新区块有15秒延滞,这种延滞对于以太坊钱包来说可能没什么影响,但对于发布文章或点赞这种功能来说,等15秒就太慢了。

所以,可用性是每个app开发者会关注的重要因素,你需要建立一个平台,在这之上能够运行像Steemit和Bitshare这样的应用,否则我们并不会拥有一个真正的Dapp(去中心化的app)平台。

第三段 

问16:Vitalic Buterin正牵头对以太坊动大手术,你怎么看待这场改进?目前他们计划用Casper解决现存问题,你是否认为这会有效?

BM:Casper能影响的层面在于共识,对于执行层面并没有帮助。

以太坊注定要经历一个艰苦漫长的升级,因为手术涉及很多底层技术架构,包括计算资源管理和核心要素间的交互。

我认为把以太坊转向全新架构的难度不亚于把Bitshare变成Steemit,Bitshare社区不会支持开发者,以太坊矿工也不会支持整个社区。

所以这几乎不可能做成,因为以太坊的任何改动本质上涂着利益分配的底色

如果这一系列事情不断发酵,人们终将认识到:任何微小改动(比如比特币区块大小)都极其艰苦,就更别提修改共识、虚拟机或整个安全理念了。

问17:有人认为分片(Sharding)能将一种状态切分为多种子状态,而这些子状态相互间无需知晓彼此情况,这样能增强以太坊的性能。你认为这种方式是否太过复杂,你有什么建议?

译者:分片是把一个数据文件切分成的多个部分放到不同的数据库上,从而提升单一数据文件的性能,相当于你把一周五天的课程表剪成五条,每天揣一条上学。

BM:分片在性能方面类似这样的场景:

有人把一捆286处理器接到一个14K的调制解调器上,然后指着这说:“你看,这堆东西可牛逼了,性能可以媲美Intel的20核处理器,因为我们会做分片。”

分片容易,但分片后的通信却很难。

即使理论上分片能提升交易处理性能,但却面临着一对内生矛盾:量和质。

也就是说,也许分片能增加某类交易的吞吐量,但是不可能增加交易的类别,而恰恰是交易类别的多样性(即:质)才是Dapp开发者真正关心的东西。

反之,如果分片支持了交易类型的多样性,那交易吞吐速度一定上不去,这就是一对不可调和的矛盾。

另外,分片之后,片与片之间的通信会大大降低处理速度。所以,我不认为分片(Sharding)是一个好办法。

问18:以你做Bitshare和Steemit的经验,你看出以太坊的上述问题,这些问题是你做EOS的理由吗,或者还有其他什么理由?

BM:我起步做EOS时的确有很多经验,我也知道去中心化系统开发者真正的需求。我学了很多模式和设计思路,不断重复打磨。最终,我并不只想做Bitshare或者Steemit那样功能单一的应用,我要做的是一个通用系统,这就是我做EOS的缘由。

EOS是一个动态通用型区块链平台,能建类似于Bitshare和Steemit的应用。它汇集了我们之前所有的开发经验,EOS的性能水平更高,因为80%的功能都通过本地代码实现。

此外,EOS还引入Web Assembly(由谷歌、微软、苹果等几家大公司合作发起的项目,这个项目是面向Web的通用二进制文本格式,已在改变Web生态),这能让开发者使用C++语言,而C++有着极其丰富的类库,这样你能实现你想到的任何功能,而这些都能被用到智能合约上来。 

可如果用自有语言Solidity写智能合约,你就得重头开始自己写类库,重新发明一遍轮子。坦率地说,我们把EOS的代币发布合约建在以太坊上,后来发现程序竟然不能超过300次迭代,因为Gas会被消耗完。

译者插嘴:以太坊本为执行智能合约而生,为了抵御黑客攻击或被无限循环bug耗光全网资源,于是设计了gas的概念,即:执行任何+、-、×、÷都要消耗几两gas,而gas是要论斤买的,于是表面上消灭了死循环的可能。

但没想到按下葫芦起了瓢,雨后春笋地冒出如山的问题,这一连串问题就像一个个青铜枷锁一样,套在以太坊的脖子上,BM所说的“无法多次迭代”问题只是其中之一。

BM总结:所以这些都注定以太坊上不可能建通用的大型应用,比如订单系统,因为它的语言和内存模型都难以支持简单操作,比如索引或排序,即使能做也无法高效地做。

问19:EOS最为人瞩目之处在于共识算法DPOS,谈谈你发明DPOS的经过吧。

BM:我第一版做的DPOS锁定了101个生产者,它们都经投票选举产生,Bitshare 2.0(以及石墨烯)把101这个数字调整为可由用户自定义,以便当人们投票时,在通过票数上可以自由调节。

这让我们观察到一个社区真正能被票选的节点数,我们发现,当一个社区处于可控状态时,可票选节点数通常在15个左右。所以在做Steemit时,我决定把这个数字设定为“略高于15”的21,这样就能更加“去中心化”地运行。

在Bitshare最初的版本里有个问题:101个不同的生产者其实可能是同一个人,但社区无法审查这点。

所以,尽管理论上有101个节点,但实际参与产块过程的最多也就其中20来个节点,而这20个节点的背后也就4-5个实际控制人。所以在做EOS的时候,我们敲定的节点数是21(投票节点必须是奇数,否则会出现长期分叉)。

这21个节点的处块顺序选由系统随机设定,并且随时会变,这样既能有效率地升级,同时也能避免硬分叉。

Ivan总结:我想现在大家都有点明白以太坊是如何工作的了:智能合约代码需要在每个节点上执行,于是这自然就不是一个可扩展的方案,更不用提当网络变大、节点变多的情况了。那时每个节点需要和更多节点通信,如果有些代码只能在这台电脑上跑、却无法在其他节点上运行跑,那就惨了。

问20:EOS上执行代码是不需要过所有节点的,因为如你所说,EOS只有21个节点,所以请解释一下,一个本来跑在以太坊上的Dapp应用,如何在EOS上执行?

BM:这里要纠正一下你的误解:

21个指的是21个区块生产者,但与此同时,全网有无数个验证者,所有验证者都运行全节点数据(run everything)。

问21:如果每个人都运行全节点数据,那和以太坊相比,EOS的延展性如何?

BM:What we're trying to do is scale the decision-making over who's running everything, 我们做的是扩大有权决策者的规模,而不是运行全节点的人才有权拍板。

以POW为例,它的利益分配只会倾向于那些有钱、有算力的人,而钱和算力很容易获取,比如政府补贴你一把就有了。但DPOS不同,每个持有权益者都有权投票,这使得全网很难被控制。

DPOS让每个人对正在发生的事情都有发言权,因此控制力将更分散,从而使系统更具可扩展性。同时,票选出来的21个区块生产者将更专业,他们可以位于数据中心,这些数据中心拥有更高性能的硬件,甚至组成服务器集群

我相信大多数成功的Dapp应用最终都将变成网站,就像Steemit。

所以说,正常情况是由一组服务器去支持一群轻节点,这样的商业模式才能让服务提供商有更高性能的硬件。

矿工投了几十亿美元在硬件上,而硬件除了哈希运算之外什么都不做,在这点上EOS的DPOS与比特币的POW一样——除了验证区块和输出结果。

所以,EOS上的生产者即使掌握了算力资源也无法作恶,作恶也没有任何收益,所以它并不会像POW的系统那样最终走向中心化。

 第四段

问22:你看看你,你一说EOS只有21个区块生产者,网上就有很多人跳出来说你小,没想到EOS居然是个中心化的东西,这个问题你怎么回答?

BM:中心化很多时候是必然的,这就像做任何事都有成本一样。中心化不是目的,只是解决问题的方法之一。去中心化也不是目的,而是反审查、保持网络不被外界权力关闭的一种手段。

现在的去中心化已不仅仅停留在概念层面,而且已越来越变成现实。

如果节点数从1到2,数量翻番,分散程度就提高一倍。如果你想再提升一倍分散程度,那你就得把节点数变成4个。当然没必要无限扩增节点数,你必须衡量出一个合理的规模,保障数据最终能传向全网。

从这个角度望过去,你会发现Steemit、Bitshare和EOS的分散程度比比特币高两三倍,因为你只要看一眼比特币的全网矿池数量就能明白(详见年初一的文章插图2,比特币前十大矿池占总算力的98.7%),而比比特币更集中的是以太坊。

问23:推特上有人问你:DPOS是否会产生少数非常有钱、非常有控制权的人,最终演变成寡头垄断?

BM:这要看你说的垄断是相对于什么而言。相对于矿工的控制力么、相对于矿池的统治力么,还是相对于那些比特币圈牛人的影响力?

如果这些人牵着比特币走错方向,社区根本无法讨到说法,因为追索成本太高,POW一旦形成垄断它将强大无比,垄断力量一旦站在他自己利益一边时,根本不会跟你讲道理。

站回DPOS区块生产者的角度看,他们只赚薄薄一层利润,区块生产者更像赚取蝇头小利的普通商贩,混着一口饭吃而已。

社区对他们按劳计酬,任何东西都可以被纳入社区的福利合同中,就像发工资那样,由权益持有者发给区块生产者,这类似于Steemit通过制造内容的动作给内容生产者发钱一样。

所以如果你是DPOS的权益持有者,就可以大规模地分配资金余额,但这只是你在向那些为社区提供价值的人支付酬劳而已。

因此,和其他任何系统相比,DPOS一定不会产生寡头垄断。

问24:你认为什么样的组织或公司会成为EOS的区块生产者?在未来,区块生产者会变成巨型数据中心吗?你是否决定联系一些大学或公司,让他们参与你们的项目,还是决定将EOS面向社区全面开放?

BM:很多机构联系过我们,包括一些主流交易所、区块链浏览器和Dapp开发者,尽管如此,我们依然决定完全向社区开放。你知道,我们已和一些大学合作,目前正在做一些智能合约方面的项目。

任何足够可信的节点(比如Google等大型知名公司,如果他们也做Dapp的话)都倾向运行全节点数据,不仅因为他们有能力生产或验证区块,还因为它们出面担任生产者不会有任何额外成本。

最终,那些在EOS上运行最大应用程序的人,会成为区块生产者。

问25:EOS主网会在六月上线吗?

BM:EOS主网上线的事不能确定,但可以确定的是我们公司的软件今年六月能用。

问26:你不能确定的理由是因为这事得取决于社区,而非你们公司吗?

BM:是的,社区才最终决定是否启动或运行软件,我们只负责生产开源软件。

问27:EOS选择在以太坊平台上发行ERC-20代币,这是你们公司为整个EOS项目筹资的方式吗?

插嘴:因为我们专栏还没来得及介绍“ERC-20代币”的概念,大过年的我们现在就把这件事给办了。

ERC-20是在2015年11月以太坊推出的代币标准,为的是方便ICO,任何ERC-20代币都能兼容以太坊钱包。假如没有ERC-20标准,那你每参与一次ICO都得跑去装一个专用钱包,那这样你的手机拎起来就会很重,不信你试试。

插完一嘴再敲次黑板:

“代币”指的是Token,但越来越多的人愿意把Token一词翻译成“通证”,我们专栏也倾向这种译法,因为Token本质上并不是钱,而是相当于让你的权限自由行走于系统内的证明文件,即:越多的Token对应着拥有系统内更多的计算能力或存储资源。译成“通证”更贴近本意。

这就好比译者去澳门,咬了牙、跺了脚换出500港币的筹码(Token)拽在手里,就不可能坐进贵宾厅,只配蹲在地上拉老虎机。

ICO火热那阵,项目方为了O出更多的Token,把Token当成“代币”叫卖,叫着喊着也就通俗起来。我们入乡随俗,就以“代币”相称,但你要知道,这其实不过是Token。

说来也巧,EOS的Token也叫“EOS”。但不是所有Token都和它们系统同名,比如以太坊的Token就叫以太币(ETH)。

BM:Ivan,我来回答你筹资方式的问题,事实并不是你说的那样,EOS在开发资金方面,有自己独立的筹资渠道。

发行ERC-20代币作为一种初始化权益的方式,类似于模拟采矿(simulated mining),我们认为用这种方式能把币分发给足够多的人。

其实不单EOS,每个区块链项目都会面临如何发币的问题。所以,用ERC-20的姿势发行EOS代币,代表社区努力让分配过程能更公平。

EOS的ICO收益不用于开发。

问28:那我是否可以这么理解?这是一种公平分配Token的方式,这就是为什么EOS的ICO要滴滴答答整整一年,这是让每个人都有时间买,而不是像其他ICO那样,只有一小撮人在几天内扒光所有的币。

BM:是这样的,而且当天所有人获得EOS的价格都一样。

问29:很多人想知道EOS将如何落地,毕竟现在它除了在交易所里买来买去外,什么都不是。换句话说,如果一个人跑去交易所买了EOS,那他是没办法通过私钥控制这些币的,那从ERC-20转换为EOS Token的过程如何实现呢?你说你不启动网络,那交易所里的那些ERC-20代币又起到什么作用呢?

BM:没什么作用。但很可能启动多个区块链,而这取决于那些在EOS上做项目的人,他们会决定这些ERC-20到时怎么用。

问30:是否可以这么认为,最好把我们原来放在交易所里的EOS Token取出来,因为这样能掌控私钥,避免交易所那头出问题?

BM:你说得对。我举个例子,你在交易所里有比特币,但如果交易所不打算支持你原本该有的分叉币,那么你就不会得到它。

说到这里,BM把屁股往前挪了两挪,强调:

The only way that you have any proof to the world in a decentralized way is if you control the private key. Otherwise, you're trusting the third party to hold that for you.

私钥,是以去中心化方式向世界证明你拥有财富的唯一证明,否则你就是在信任第三方为你持币。

第五段 

问31:我们知道如果弄丢比特币私钥,就等于弄丢了币,但听说EOS可以恢复账户,我认为这东西蛮好,是个特色,那你是怎么设计账户恢复功能的?

BM:对,是特色。账户恢复也是Steemit的特性,这么设计解决的就是人们弄丢私钥后的尴尬。

EOS有个帮你恢复账户的伙伴,系统默认是账户创建者,账户创建者可以用自己的账户和任何旧密钥一起,恢复访问权限。

EOS中,你应该有个能帮你恢复账户的伙伴,这个伙伴按照你的预设指令在必要时帮你恢复私钥。

比如你可以这么预设:如果账户处于非激活状态30天以上,就让伙伴帮你恢复,同时可以再设个恢复操作后的窗口期,比如7天,避免伙伴的道德风险。但如果你不想这么设置,也可以用你的私钥修改。

所以说,如果你可以证明你仍然拥有私钥,恢复伙伴是没办法从你手里夺走账户的。

此外,我相信未来在区块链的安全问题上,身份认证的作用会越来越重要。你的社交网络和家人朋友身份一旦被确认,这个去中心化系统会确保大家彼此认可对方的财产权利。

私钥代表人们对财富的控制权。如果你把加密货币的钱包掏出来拍桌上,即使有人冲出来从桌上抢走钱包,他也抢不走财富,你还是拥有这笔钱。

可如果你把比特币私钥抖了出来,一旦被人复制,那么这笔财富就也不再属于你。

看起来很好的系统,是吧,但我认为这并不能彻底保障我们生命、自由或财产,这只是个抄了近道的私钥系统,因为我们的理念是彻底地不去相信任何人。

但如果选择不去相信任何人,人们也没有能力管理自己的私钥,他们并不信任自己,这也不能怪他们,因为即使你是专家犯个小错也会弄丢私钥。

所以,你真正需要的安全是:知道你的账号或财产都必然属于你自己。于是,我们可以对那些财产本应的归属者恢复财产控制权。

译者补充:

既然BM聊到比特币的私钥难记,那我们就当场为你做个私钥出来,让你评评理:

KxqVS5Bs1T1MoNA5HG9kgFyF5wtNeWMRFUf55Bq2XAqjshWNw85d

不管你是新手还是熟客,都能一眼看出,私钥不是一个用正常人脑力可以记住的东西。那些存在硬盘里的私钥文本,很容易被黑客拿走。很多人自知脑子记不住,于是一笔一划写在纸上,贼一样地放进衣服口袋,但等衣服跑到洗衣机里卷一卷,就只剩衣服了。

还有些命不好的密钥纸:被风吹走、被老婆扔掉、或被遗忘在某个不知名的角落……甚至有的密码纸本身没丢,但字迹阴淡掉了,或者抄着抄着、抄兴奋了抄错一位,但不知道错在哪位,等要用时才独自开始拍大腿。

私钥是你在加密货币世界的肉身,意味着全部财富,但却难以保管,这是一个问题。

比特币或以太坊的密钥一旦丢失就别怀念了,安心睡吧。但EOS却可以恢复密钥,具体来说,可以使用30天内的任意旧密钥(注意即使被黑客换过也不怕)和预设的伙伴搭在一起,就能恢复。

伙伴不能单独恢复密钥,必须有原私钥持有者的共同参与。伙伴也不会参与日常交易,这样就让道德风险降低到零。

Ivan总结:这一点非常重要,也就是说,以后这种网站一瞧正脸是个普通网站,但绕到后台却可以发现,原来是去中心化运行、无人管理的网站,但却可以帮用户挂失密码、恢复账号……好高级。

(第31问翻译时存在一处重大误解: 译者没有分清私钥(private key)和账户密码(account keys)两者是不同的概念。 Ivan问起比特币的私钥(private key)一丢,就没法恢复,这是事实。BM谈到EOS用户账户的密码被偷(keys be stolen)可以恢复,这也是事实,但私钥(private key)和用户账户的密码(account keys)两者完全不同: 用户账户的密码(keys)指基于EOS架构下开发的Dapp账户的密码,可以换来换去,所以英文用复数keys。 keys并非指可以解锁某个地址上EOS Token的私钥(private key),因为对应一个地址有且只有一个私钥,不可更改。 所以说,保护EOS Token的方式和比特币一样,还是保管好对应地址的私钥。而EOS能保护Dapp的账户控制权:密码若被盗,你拿着原密码找恢复伙伴就行,怕忘原密码就设置一个简单密码123,同时设置几天窗口期缓冲恶意改密。 BM把Dapp账户的密码看成个人财产的一部分,EOS系统能帮你保障的是这一点,而EOS Token的私钥则无法找回。 这也许就是为什么BM在年初六的文章倒数第二问说他没币的潜在原因——可能他认为持有比特币并非最好的财产保有方式,因为私钥难管易丢。而Dapp上账户的密码是一个人生命、自由和财产的一部分,他会用代码倾力守护。)

问32:有种观点认为,以太坊因为用了Gas,所以在可用性方面出现很多问题。Steemit没做类似Gas的设计却跑得很好。那EOS是怎么做的?作为一个使用者,我只用等几秒就能发起一笔交易,那你用什么去对抗垃圾信息导致的网络堵塞呢?

BM:在模型里我们用到一个类似于分时享用(timeshare)的概念——你可以用的资源和你所持有权益的比例正相关。换句话说,如果你有1%的EOS token,你就可以使用1%的全网计算或存储资源,这是由系统保证的。

如果网络不拥堵,同时别人也不和你较真,那你就能搭便车,使用多于你原本能用的系统资源。

一旦网络拥堵,每个人能用的系统资源上限比例都会下降,下降到他们持有权益的份额比例。所以,这也意味着网络不可能被冲垮。

译者:试想你在EOS上做个去中心化的滴滴打车,用户向你抱怨系统卡顿,那最直接、最彪悍的解决方案就是去交易所拎两桶EOS回来,浇灌你的系统。

BM继续说:我们都看到了,养只猫就能把以太坊堵成狗,而ICO就更像洪水猛兽,把以太坊冲垮过好几次。

BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

图1 养了猫咪之后的以太坊 · 待确认交易数

但这种类似拒绝服务攻击(DoS)的网络拥堵,在EOS里是不可能的,Steem或Bitshare两个系统就是实例。

译者:拒绝服务攻击即是攻击者想办法让目标机器停止提供服务。比如对网络带宽进行的消耗性攻击。这就像你在我家隔壁开了家餐厅,为了攻击你我别出心裁地雇了20个小工坐满你的餐桌,点杯白开水,一坐一天。

Ivan:好,现在我们已经有惊人的(amazing)2000人围观直播了。如果你有亲朋好友也在币圈,赶紧点击按钮分享给他吧。

译者:Ivan肯定见识过李笑来或罗振宇平时在家面对动辄几万、几十万人的直播,才会说出amazing这样词汇。

是的,这么重量级的直播访谈居然只有惊人的2000人在看,最大的原因一定是BM不会说中文,这是他为数不多的不如Vitalic Buterin之处。

问33:很多人说以太坊最大用处是ICO,那EOS最终能干些什么,其实大多数人脑子里并没有概念,但你却能提前察觉到这项技术的潜力,请问你的自信是哪里来的?关于EOS的未来,有什么让你想想就能激动的事么?

BM:我认为基于EOS之上,会长出更好的交易所、更好的社交平台、更好的预测市场、更好的治理方案、更好的身份认证系统、更好的争议解决系统……

各种各样的应用都可以运行在EOS上。像DocuSign(电子签名行业领袖)这样的公司就很可能搬到EOS上做。另外,我们还可以在此基础上建立一种去中心化的社会,人们身处其间,彼此确保相互之间的生命、自由和财产不受侵犯。

基于EOS还可以做更好的ICO平台,因为它结合了更完备的身份认证和平台性能,还能在各种监管下执行合约,比如执行那些出于监管目的要求企业必须做的事。在EOS上交易具备更好的安全性,它完全有技术能力支持监管要求。

问34:Charles Hoskinson说过,Cardano在这方面也能做很多EOS能做的事,他说Cardano未来会成为一座通往金融系统的桥,能让人们更容易地遵从监管。

你曾说你和Charles Hoskinson有过合作, 那你和他是什么关系,那为什么不继续一起做Cardano或EOS,你为什么最终选择单飞?

BM:是我们不让Charles继续担任CEO的,他同意了,然后离开Invictus公司(做Bitshare的公司之一)。他做过几个像以太坊那样的项目,但是因为一些品行上的原因(moral reasons)让他不能继续待在那个位置上。

问35:你以前说过ADA币(Cardano)的Ouroboros抄袭你的DPOS,是这样吗?

BM:谈不上抄袭,他们只是在有些方面做的和我们有八分像而已,比如分块、区块生产者最终转向最长链等方面。

Ouroboros看起来不像DPOS的地方在于:他们小改了选择区块生产者的算法,变成基于持有权益者的随机抽样,而DPOS原来的样子是一人一票(approval voting)。

他们增加了区块生产者的数量,我认为这是基于Bitshares和Steemit开发经验而演生出的变化,但这种变化并不会达到原本预期。

BM说:They give the appearance of decentralization without actually decentralizing. They increase the latency of reaching consensus.Cardano的Oroboros在没必要分权时却分了权,并且延长了达成共识的时间。

而且,根据他们财富分配的原则,控制系统的人实际上更少。

DPOS一旦选出了21个区块生产者,即使其中一个获得的投票数是另一个人的10倍,但他们对区块生产的影响没什么两样。

但Cardano的Oroboros则不同,即使你有上千个区块的生产者。但如果一个人拥有10倍于别人的股份,他就可以生产51%的区块,

你放心,此时他们一定能生产51%的区块,特别是当他们缩小到只有一个时间窗口时,而这个时间内,别人正站在外面在傻乎乎地等确认。

That's the challenges some people suggested like just giving one vote for one producer per person. But that would be like running a company and saying each shareholder only gets to vote for one director rather than having all the shareholders vote on every director.

这是一些人提出的挑战:每个人只能投一票、并且只能投给一个生产者。但这好比一家公司,现在规定每位股东只能票选一个董事,而不是让所有股东投票给每个董事。

BM最后说:There's precedent in ways existing systems that worked for hundreds of years that the cryptocurrency community is ignoring. There is some lessons there that can be learned.

秦人不暇自哀而后人哀,后人哀之而不鉴,那就应该去上几节课。

第六段 

问36:俗话说:物以类聚,人以群分。你刚说Charles因为有点品行问题(moral reasons)导致你们无法合作,那最终使得你们团队协作不下去的到底是观念不相符、气味不相投、还是愿景不对头?

BM:呵呵

Ivan:好我懂了,我们都懂了。

问37:Cardano建立在Haskell上,我觉得他们会有一个函数编程语言(functional programming language)用来写智能合约。

有人说,现在的智能合约有安全方面的问题。但也有人说,用函数编程时你可以多做测试驱动的开发(test-driven development),智能合约的正式验证做起来很容易,从数学上也能证明,bug会更少,程序跑起来也更顺,不会终结于异常状态。

对于这个争论你怎么看?你是不是也很想在EOS里添加这种用函数方法来做智能合约呢?

BM:EOS引入Web Assembly,所以能编译任何编程语言,这就是说,你可以用Haskell写程序。

实际运行中,我们发现C++编译出来的代码更有效,在实用性方面这点极其重要。

但是,你同样可以把C++用在函数型范式(functional paradigm)上,模板元编程(template metaprogramming)的功能也很强,在编译的同时能进行大量检查,使得生成的代码能保持很好的一致性。

不仅如此,还有更多的库可以在C++中验证。

但有些人总觉得一定有人能写出完美的代码,而且这个人一定能够预知到后续的每一步都会缺哪些东西。而且,不管用任何语言写代码都能一帆风顺到没有bug。

这些人其实并不知道,实际上我们只能在一定假设范围内才能做成这些事,但这些假设可能并不一直都灵,掉根链子也是家常便饭。

所以,EOS总是采用这样的方法:当事情变坏时,会有一过程去纠正它,虽然不能修补所有的问题,但你至少还可以动动手,防止事情变得更糟。

对于系统安全性和用户来说,能够事后修复,才是头等要事。

问38:你不愿意带头部署网络的原因是什么?是法律原因,还是因为你只是想写趴在桌上写代码?

BM:原因有很多。

你先要搞清一件事,给交易所写代码和经营一家交易所是两回事。

所以,EOS项目把系统角色、功能职责和履约责任三者完全分开,因为如果把不同的功能都搅在一起,很容易出现一些本来可以避免的问题。

问39:几天前,福布斯杂志拉出一张榜单,上面写满了区块链世界里巨富名字,我们看到你、V神还有Charles Hoskinson都在。

我当时就在思考表上这些人所做项目的前景。BM你做出Bitshares,Bitshares跑到了今天;你做出Steemit,Steemit现在保养得也不错,而且我们也都觉得两样东西会一直运行下去。

但我觉得,这份名单上很多人做出的项目都没什么能落地可能性,估值都只依赖别人的预期,得靠讲故事活下去。你怎么看?

还有,你对ICO的前景怎么看?对人们常说的加密货币泡沫有什么看法?会不会搞到市场一片绝望时,项目还没落地?这个行业会不会遇到互联网2000年时那种级别的泡沫?

BM:我认为绝大多数的Token纯粹在投机。

如果你只看莱特币(LTC)、比特币(BTC)或比特币现金(BCH),他们在技术层面都是同质的,前景也就那样。

这些币的市值完全来源于代币分配(Token distribution)。他们整天惦念着未来总有人愿意买卖这代币,但对这种代币的实用性却从不关心。

那些项目甚至都不是ICO,都只是些单一功能的区块链,这些区块链自己都没法说清以后能做些什么事情。

他们对那些货币的估值都高到离谱,看起来所有的币都在争抢下一个储备货币的位置。

I believe Ethereum is behaving the same way Bitcoin has. It's broken from a technological perspective, but it's still viable as a currency in its own right.

我认为以太坊搞到最后会和比特币一样。从技术的角度来看,它已经烂掉了,但作为一种货币,它还是可以用用的。

基于此,没有理由说以太坊不能成为新的比特币,即使它不改进技术、不去变成人们希望它成为的样子,也能冲击更高的市值。

所以说,你要分清使用价值和投机价值这两个概念,我认为现在99%的币都在玩投机,只有1%在打磨实用性。

我认为Steemit和Bitshares的实用价值可能最高,但由于一些原因,它们的投机价值比较少。你要知道投机价值背后的驱动力是资本或既得利益集团。Bitshares和Steemit都是草根出身,所以我没有到处游说那些巨富到我们的项目中来。

Market cap is only an indication of how wealthy the people are, who are backing the project rather than the measure of the capability of the technology.

市值只是一个指标,这个指标可以衡量项目发起人的富有程度,但无法衡量技术能力。

问40:你现在做着EOS,万一你有了其他的想法,你会离开EOS去做另一个项目吗?当年你撇下社区、离开Bitshares和Steemit的一幕是否会重演?你对未来的计划是什么,你会在EOS项目上一直做下去吗?

BM:我有一个巨大的财务激励,让我能在EOS上一直做下去。

做公司是个大工程,我一个人可干不了。所以我得有合适的搭档,而我现在和Brendan Blumer还有block.one公司的其他同事一起。

我喜欢这个团队,我沉浸在EOS的开发里。万一以后我有了新的想法,就没必要去专门跑去造条新链,而是只要在EOS上部署就行

Steemit和Bitshare都有特定功能指向,如果我有一个新的想法,是不可能在这些平台上构建的。但因为EOS足够通用,我们所能设想到的一切都可以建在EOS上。

所以我不打算去别的地方。我喜欢和block.one的同事一起工作,我们所做的一切背后有着太多的动力。

问41:下一个问题是关于EOS上智能合约的编程语言,以前能用C++,你是否考虑使用其他语言,还是抛给社区决定?

BM:我相信C++是构建智能合同最好的编程语言,社区可以根据需要用其他语言。

事实上,创建语言最简单的办法可能是让该语言编译C++,然后用C++编译器将其编译为Web Assembly。

我们有一个很大的类库,你可以使用标准模板库,还有boost库等等,所有这些库都已经摆在那里,如果你换了种新语言,你就没办法一口气写出这些库。

我认为驱动语言的类库比什么都重要,EOS会使用C++。C++拥有最丰富、最好用的代码库,这就能快速构建任何东西,而这在任何其他平台上是没办法搞定的。

问42:那么接下来说说开发工具。例如,你会做一个自己的ID吗,还是用现有ID直接嵌入系统呢?

BM:你已经可以用现有ID了,这是用C++或CMake编译的,我们正在构建工具来增强一些功能,比如调试和测试。我们会做一些工具出来,让事情做起来更方便。

事实上,我觉得有人甚至已经建了Web界面,他可以在浏览器里完成一系列动作,比如构建、编译和部署C++智能合约。

所以,这些事情都能实现,我已经迫不及待地想去看看社区都想出哪些好点子。

终章 

问43:我正在比较其他平台,我们已经讨论过以太坊,那你认为NEO和Lisk这样平台怎么样?在EOS外,你认为有没有看得上的去中心化应用(Dapp)平台?

BM:Blockchain is a combination of technology and in community.

区块链是一种基于社区的技术组合。

EOS治下的社区在系统中的角色会非常独特,很多技术仍然离不开手续费,只要交易费用不可避免,我们就无法自由交易,所以我认为手续费是个根本问题。

如果长期不解决动不动就收费的问题,用户会失去兴趣。

译者:BM只谈了手续费问题,压根就没回答问题,可能他没听清,也可能忘了答,但更可能这就是答案。

问44:你们现在在和哪些项目有合作?我听说Everipedia这种类似于维基百科的项目正盼着EOS落地,他们派工程师日夜钻研EOS。那是否有其他项目也找过你,并希望将EOS用于他们的应用程序中?

BM:是的,每天都有很多建在以太坊的项目方找我们,希望转到EOS上,因为EOS速度快、费用低,而且还会贴周报。

所以很多人都想转过来,像Below-the-rador(电视制作公司)就在等今年六月上EOS,到时候他们就会公布一些消息。我们跟来的人都沟通过,他们都明白EOS是当前市场的唯一选择。

问45:下一个问题有关IOTA。

两周前,我们邀请IOTA的创始人David Sønstebø;上周我们邀请Richard Heart,在一个问题上他们的观点完全不同,就是IOTA项目是否能持续?

那你的观点呢?你如何看待加密货币的概念?你对IOTA的看法如何?

BM:IOTA被它的UTXO模型绑住了手脚。

它可以被当成货币用,它仍然需要用POW广播交易信息,但这只是“费用”的另外一个名字。谁如果用一些高性能设备就能用堵塞网络,而这会提升别人做POW的难度。

他们称此为物联网(Internet of Things, IoT),但是我没有看见实际上的物联网,因为所有这些东西都没有带宽(bandwidth)去处理或认证。

那么此时IOTA的Coordinator就会有问题。

译者:中间这段没听明白,因为以前没研究过,第45问下面的文字是硬着头皮翻出来的,如有问题,请留言斧正,我们很期待。

这里有些问题,一个区块链需要解决的首要问题是决定交易的顺序,IOTA在这些数据包中,他们都能决定交易顺序,但是第二个问题是如何评估这些交易,以获得确定的状态。

现在,如果你没有合适的计算模型或引擎,你的吞吐量就会有天花板。

因为我能以每秒100万次的速度完成所有以太坊的交易的排序,但并不意味着以太坊虚拟机有能力处理或获取这种状态,因为获取排序状态的速度可能跟不上。

同时,这里有个延迟,只有排好序才能接着做下去。评估速度快也没用,因为如果你不先排好序,你是没办法开始做评估交易的。

这就像如果我取出钱之后,在重新存入之前,我做了一个其他操作,而这个操作还得取决于这笔交易的处理能力。

所以说,像按照时间顺序建立交易顺序的哈希图。当定好顺序后,你必须有第二个阶段,用于确立有效性,而有效性的确立非常占用计算资源。所以说,

They introduce latency without actually enhancing security.

他们弄出了点时间延迟,却没有增加实际的安全性。

EOS的DPOS相对有效一些:每500毫秒生产一个区块,这样就能有最小的时间延滞和用最快的速度达成交易顺序的确定性。

当生成区块时,我们已经确定该区块内的所有内容都是有效的。至少根据产那个块的生产者,当其他所有生产者一见到那个区块时,他们就马上验证这个块,验证后签名确认这个块。一旦拥有了三分之二以上的确认,这个过程可能只要一秒钟。

所以,我们在一秒钟之后就获得了可逆性,一笔交易99%的可逆性可以在500毫秒内获得。

IOTA在时间延迟上无法接近DPOS的水平。

而这个时滞又极其重要,说到区块间的通信或分片(Sharding)时,如果你想要很多不同的区块链,链与链之间的通信延滞时长越短越好。在前一条链搞定所有事情之前,另一条链是无法接收到任何交易信息的。

所有这些动作都是交织在一起完成的,所以说:

While they're interesting from a technological perspetive, they are not practical from an application perspepctive.

尽管从技术角度看它们很有趣,但从应用角度看并不实用。

问46:你提到了系统冗余和区块间隔时间延滞的问题,那比特币会由于某些原因而造成堵塞么?其中一个原因是信息要通过网络传播,比如说,你有两个小的区块时间间隔,区块就会变老,这样传来的两个区块到底那个是正确的就有两个不同的版本。

那EOS如何解决这个问题?

BM:With DPOS, there is only one person who can produce at any given time.

DPOS中,任何给定时间内只有一个区块生产者。

想想比特币的产块过程:你有一个区块生产者生产,每10分钟产一个块。

如果你能提前知道谁可以产这个块,他们就可以在这段时间内每500毫秒生产一个块,而这个过程几乎没有迟滞。

对于时滞来说唯一重要的事就是从一个生产者传递给另一个生产者。

如果你实际需要传递的是500毫秒的交易信息总量,而不是10分钟的交易信息量,这整个过程会更平顺。

那么,如果你按照时间顺序、循环着选择区块生产者,在传输过程之间,始终能控制得非常接近,这样能缩短延滞时长。

所以,EOS中,我们设计了这个东西:以至于如果一个区块生产者为全网压低了故障停机时间,等价于在Steemit上错过了一个块。

这里有个6秒的间隙,没有任何的更新。然后,更新重新开始。

在以太坊中,区块生产者必须高度可靠(highly reliable),因为它是利益驱动的(politically motivated)。如果他们不是高度可靠,他们就会被投出局,然后系统应该非常稳定、安全,即使它的确认时间延滞非常低。

问47:所以,你提到了生产者他们有一个做好工作的激励因素,这样他们就有激励去买好设备去执行。

但是难道没有这样一个问题么?使用者和权益持有者常常需要知道,当前生产者的状态 ,这样就能时刻投票、时刻选出新的区块生产者。因为普通人有他们的生活、他们有很多其他的事情要做。

BM:You don't need everyone to pay attention. In fact, most people should probably just nominate a proxy voter who pay attention for them.

不需要每个人都专注于此。实际上,大多数人可以只是指定一台代理服务器作为投票人,由这台服务器负责做这件事。

根据所有的投票理论、甚至挖矿理论,大多数矿工并没有动机时刻关注矿池。因为只要矿工拿到报酬,这些都算不是成本。 

并没有什么财务激励驱使他们去检查日复一日的矿池行为。因为矿池通过增加检查工作量所获得的边际收益越来越少,于是边际效用递减(diminishing marginal utility)。

这时会弹出一个悖论,叫理性的无知(rational ignorance)。我猜,这就是我一直在找的词组。

The typical person has rational ignorance to where the cost of learning is greater than the value of the knowledge learned.

当学习成本大于知识价值时,就会出现理性的无知者。

理性的无知者悖论适用于所有系统,不管是POW还是POS。

但是,如果你把这种事交给代理服务器,这样代理服务器就会有很多影响力。在这一瞬间,收益会向参与投票方转移:

The benefit of voting is worth the cost of learning about what everyone is doing.

参与投票的收益会大于关注其他人所做之事的成本。

这就是为什么我们把生产者数量保持在一个相对小的水平上,否则这就只是在增加学习成本。

不仅如此,而且如果给系统设置了更多的生产者,那就得给更多的生产者支付酬劳,那这样的话报酬总额就越高。

所以说,如果你想把20个左右的区块生产者改成1000个,那就意味着你把实际费用抬高了50倍,或者说意味着更高的通货膨胀。

你看,参与者人数增加50倍,网络运营成本就跟着翻50倍,但是:

The marginal utility of the additional people is continually falling, because the probability that of conluusion is decaying rapidly.

每新增一个参与者的边际效用却在递减,因为共谋作恶的可能性在飞速递减。

采访视频 https://www.youtube.com/watch?v=o7HQlcl-LlQ

So, this is all just the economic equation supply and demand marginal utility to find the best spot.

所以,这就是用供给和需求边际效用的经济学等式找到最佳点

问48:这里有个叫宝弟(Paul.D)的观众问你对比特币双层解决方案(Layer 2 solutions)的看法,比如闪电网络(Lighting Network)、解决费用的问题、当前系统延时的问题。

BM:双层解决方案(Layer 2 solutions)要求连接的两端同时在线,这迫使所有普通用户都去使用“比特币银行”(Bitcoin banks),而非由用户本人直接控制比特币。

这种解决方案适用于某种特定类型的交易。

You could not implement a Steemit on a layer 2 protocal, because that's basically peer-to-peer transaction with only those two parties needed.

你无法在第二层协议上执行Steemit,因为这只需要纯粹的点对点交易。

但是,如果你有一个像面向大众的交易所或社交媒体(那种用户常常在那里看看投票结果的网站),那这是一个一对多的解决方案,但这种方案绝不可能运行在闪电网络中。

但我想说,实际上一对多的应用比一对一的应用多。

问49:放眼未来,你能看到那种类型的商业应用会用到加密货币?现在已经冒出一个“代币经济”(Token economy)的概念了。

在未来商业中是否会出现一些商店会在区块链上发行特定的Token?在未来的商业世界,你认为加密货币有什么用?

BM:Cryptocurrencies are just a new form of token, the new point of reward systems.

加密货币只是一种新型的Token形式,一种新型奖励系统。

这会衍生出一系列实际应用,比如:航班里程、信用卡积分、签到系统、债务融资工具、股票、债券等,那些数据库里有数字的应用都可以做到区块链上。

事实上,我相信每个多用户系统都可以做到区块链上。每个网站,不论是否是Facebook、Reddit或者IRS,都可以做到区块链上。这样,就会有更好的记录、更高的效率、更多的安全,因为:

You decentralize the authentication.

You decentralize the anthentication.

你创造出了一条不可破坏的审计线索,你可以使得企业间的沟通就像区块链之间的通信一样有效。

虽然现在看上去还是有很多不足,但是,如果你有个可扩展行的解决方案,那基于区块链的架构一定比传统架构好。

EOS系统就是用来解决这些问题的,你甚至都不用持有Token,你没有Token照样可以配置、运行网络,甚至可以被那些不想持有Token的企业使用。

在未来,Token会有无穷无尽的应用场景。

Everywhere we use units of account in any system today, will be used on blockchain in the future.

今天系统中用到计量单位的场景,未来都将用上区块链技术。 

问50:ERC-20 Token的注册是如何做的?注册过程是否完全不受你控制?

BM:注册过程仅仅是将公钥与你的以太坊地址配对,使得第三方可以配置区块链,而这种配置可以不必运行以太坊虚拟机,也不必验证账户的权限。

所以,这另一侧发生的事情事我们完全无法掌控的。

我们只是为你设计了一个注册流程,让人们可以与EOS和以太坊的地址通信,而这个地址完全受控于私钥。

Any blockchain that wants to recognize that private key can do whatever they want with that balance.

任何想识别私钥的区块链都能通过这种平衡来做任何他们想做的事情。

问51:在EOS上有没有可能造出一台像Golem那样的超级计算机,或者在以太坊上可能造出来么?

BM:Anything you do on Ethereum, you could do on EOS without fees. 

以太坊上能跑的任何程序,在EOS上都可以免费地执行。

问52:为什么美国公民不能参与ICO?是否只有法律层面的原因,或者其他原因?

BM:最主要的原因是监管上的不确定性,我们在这方面十分谨慎。

We don't believe the Tokens constitute a security or should be regulated.

我们不相信Tokens可以捏成一个证券,接受什么监管。

但环境非常不确定,我们想保持谨慎的态度,这对所有人都有好处。

问53:下面是个关于开发者的问题。

从以太坊或以太经典上迁移至EOS的最主要的激励因素是什么?我们现在谈谈开发工具和类库吧。

BM:C++的类库更丰富是一个重要原因。

但是更主要的原因是:

If you build an amazing application and you get a lot of users that Ethereum won't be able to handle it.

如果你在以太坊上建了一个超大型应用,以太坊一定扛不住。

Any application that has fees won't be usable. I have yet to se a user-friendly Ethereum application.

任何有费用的应用程序不会有用,我还没有看到过一个对用户友好的以太坊应用程序。

所以说,只要你确定你的用户规模在长期不会变得足够大,那你就可以把应用建在以太坊上。

It'd basically be a dead end.

它基本上是死路一条。

问54:现在做EOS项目的有多少人?你们团队有多少人?

BM:人数每周都会变。我们每周都会增加一些开发人员,我们正在招人,团队规模也越来越大,办公场地也已经不够用了。

问55:超过50人?超过100人?

BM:有次超过过50人,其中半数以上是开发者。

问56:今后你的路线图是什么?在主网发布之前,你们的日程表上有些什么内容?

BM:到今年六月的目标是实现一个单线程(a single-threaded implementation),它每秒可以处理几千笔交易,它充分体现我们所想要的基本功能。

设计时我们考虑了并行性,这意味着我们全力确保不排除使用并行算法来实现或处理事务的能力。

六月之后,我们讲致力于创建优化的并行执行版本,这些版本可以增加网络的容量,但不会导致硬分叉。

我们最大的目标就是设计这么一个系统,它能在没有硬分叉的情况下能进行扩展。

所以,从现在到六月要做的是就是确保这些特性完成并且能够稳定运行。

问57:如果我想开始在EOS上干活,我应该做些什么?是和你一起工作?还是用EOS技术开发一些小合约?你说说人们应该这么做吧?

BM:你可以访问我们的网站eos.io,或者去看看我们的Github。

同时,我们在Telegram开发者群里有几千人,这些人都会帮你,里面有很多游戏开发者,他们会告诉你如何在EOS上开发游戏。

所有这些人都可以为你提供正确的方向,我们正在为此类帮助提供更多帮助文档和社区论坛。

你得知道这个软件迭代速度会很快,所以那些帮助文档也很容易被扔进垃圾桶。

但是社区却足够牛逼,社区会加快你的成长速度。如果你不会用C++,你完全可以自学。你冲上来就能用C++部署智能合约。

从今天开始到今年六月,我们都有足够多的机会做一些小修补,另外我们会不断增强我们的类库。

从现在到6月底,你都可以在一些低级别的C API上试着编程。我们将拥有一个高级别的面向对象API,让你的工作更加容易。

所以你要做的事就是投入进来,然后尝试着做出一些东西,并且让我们知道。如果你有任何问题,或者你搞不下去了,可以和我们沟通,我在六月之前都会对系统进行修补。

所以说,如果你想确保你的应用程序在6月之后运行,那现在就参与进来吧,让我们知道你的需求,让我们帮助你做好应用。 

中间涉及6-7个技术性问题实在没法听懂,所以只能挂在墙上,琢磨清楚再和你分享。最后上两个八卦:

问58:你自己投资加密货币么?你现在都持有一些什么币?

BM:我虽然姓B,但是我没币。

以前有一小段时间屯过些比特币,但后来就没有了,我只有Bitshares和Steemit,没有其他任何加密货币。

如果一种投资,技术上存在严重质疑,那我的手是投不下去的。

问59:你除了编程之外还有什么别的爱好?

过去这几年里,加密货币的工作本身就是我的爱好。

但在那以前,我对可替代能源和独立运转的系统特别着迷,还有那些和尼古拉·特斯拉有关的事情,他做的事情我都喜欢,我也对科学和能源的潜力非常期待。

(原文标题:BM谈EOS)

BM谈EOS:在EOS上运行最大应用程序的人会成为区块生产者

该文章由WP-AutoPost插件自动采集发布

原文地址:http://www.jinse.com/blockchain/156561.html

声明:本网站登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。
新闻排行