第一段
問1:歡迎Dan Larimer,我們的第一個問題是:你是如何與計算機科學和編程結緣的?
BM:我小學開始編程,是父親教我的,我們全家都用Mac系統(tǒng),而且一直用。中學開始我對編程感興趣,后來去佛吉尼亞理工學院讀計算機專業(yè),三年后畢業(yè)。
問2:我們年輕時,一些人在踢球,一些人在泡妞,可為什么你偏偏對編程技術情有獨鐘?
BM:創(chuàng)造新的東西和解決現(xiàn)有問題是我真正感興趣的兩件事。
我爸曾試著教我電氣工程方面的東西,但那要用很多電線,于是這就變成一個很燒錢的項目,實驗成本動不動就高到不可測,但編程就不一樣,在我眼里編程是最有效率的創(chuàng)新方式。
問3:剛開始編程的時候,你做的是什么項目?
BM:我剛開始做的是一款星際迷航的射擊類游戲,我爸和我一起做的。到高中時,我做過幾款冒險類游戲,還有俄羅斯方塊,后來我開始設計無人駕駛系統(tǒng)。
我在ACIC(美國陸軍能力集成中心)當過實習生,后來進入雷錫昂公司(美國最大的電子器械公司之一),在這兩家單位參與過一些無人飛行器和無人汽車項目。
大學時,我開始探索虛擬現(xiàn)實領域,試著通過虛擬環(huán)境實現(xiàn)協(xié)作通信,那時我遇到的第一個問題是:如何同步處于不同地理位置的虛擬環(huán)境。那時我不停地思考如何解決這個問題,懷揣這股沖勁,我一直想做自己的公司,而不僅僅是當個打工仔。
問4:你多大年紀?
答:35歲。
問5:和我們說說你從畢業(yè)后到發(fā)現(xiàn)加密貨幣這段時間的經(jīng)歷吧。
BM:2007年前后,我發(fā)現(xiàn)人們常常會感覺自己不被他人理解,比如人們會想:為什么我不能讓所有人都明白那些“我明白了的事情”?于是就很煩,但我開始想辦法。
我想能不能做個網(wǎng)站,讓人們把討論的東西放到這個網(wǎng)站上,促成人與人之間達成共識。
那段時間,我認識了羅恩.保羅(美國一位的自由派老議員,三次美國總統(tǒng)候選人,《終結美聯(lián)儲》一書作者),并且學到到我們國家經(jīng)濟和貨幣中的結構性問題,還接觸到了奧地利學派(自由主義經(jīng)濟學的代表)。
實際上,那時我就已經(jīng)開始探索自由主義之路了,我想獲得一些技能,可以讓自由市場來保障我們自己的自由和財產(chǎn)。
我認為如果要讓暴政或暴力消失,那我們就得再找一條路,這條路必須完全基于人與人之間的自愿協(xié)作。
而現(xiàn)在保障我們自由和財產(chǎn)的,是我們的政府,更準確地說,我們不得不指望他們來保護我們。
我意識到,解決這個問題的第一要務是我們必須從政府手里奪回貨幣。因為貨幣是國家管理者們控制我們最重要的手段,所以我想做一種數(shù)字貨幣,于是就上網(wǎng)找,結果一頭撞見比特幣,那是2009年,比特幣剛剛出現(xiàn)的時候。
當時我就被比特幣的完美震驚到了,并且確信它就是我要找的東西。所以我就整天研究它,我泡比特幣論壇,和中本聰討論……不亦樂乎。
問6:你是如何發(fā)現(xiàn)比特幣的?
BM:我用Google搜索“數(shù)字貨幣”和“數(shù)字貨幣系統(tǒng)”,當場就發(fā)現(xiàn)了它。比特幣并不是我從新聞里看出來的,只是我在尋找答案的過程中,順手發(fā)現(xiàn)了它。
問7:你和中本聰在論壇上有過溝通?
BM:是的。
2010年開始,我就特別擔心比特幣的可延展性和冗余問題,又如:交易確認需要多久?交易費用會有多高?
說實話,我隔著屏幕就能清楚地看見:比特幣絕不可能被用于小微支付。現(xiàn)在來看,這些預測都已經(jīng)應驗。
問8:你是否嘗試做你自己的系統(tǒng),有沒有試著讓比特幣社區(qū)相信你能把比特幣帶往更好的方向?
BM:那段時間我并沒有全職投入加密貨幣行業(yè),我還要賺錢吃飯,所以我只把這當成愛好,試著做了自己的區(qū)塊鏈并且運行它,這樣我可以把一些概念學得更好。
直到2013年我才全職挺進區(qū)塊鏈行業(yè),一開始做比特股(Bitshare),這是為了造一個去中心化的交易所。門頭溝(Mt Gox,人類歷史上丟幣最多的交易所)事件后,他們的賬戶被凍結。我意識到法幣交易所能夠讓人們帶著錢自由進出,而加密貨幣的交易所就偏偏不行,所以我就開始想辦法解決這個問題。
不知不覺中,我就發(fā)現(xiàn)了一個全新的領域,但這個領域的問題是比特幣根本解決不了的。因為我們需要極短的區(qū)塊間隔時間(比如1-3秒,而比特幣是10分鐘左右);我們需要極低的空塊率。為了增強實用性,還得把比特幣從地址系統(tǒng)硬扭成為賬戶系統(tǒng)……
所以,我并沒有花太多時間改變比特幣社區(qū)的理念,因為真正的解決方案與當前的比特幣相比,那是天壤之別。與此同時,比特幣背后的思想是如此的根深蒂固,我像只螞蟻一樣不可能撼動這棵樹。
問9:你如何找到你的團隊?
BM:那時我試著在bitcointalk.org上闡述我的觀點,于是就激起討論,我聯(lián)系了Adam Levine(搖滾歌手),他把我介紹給其他牛人,像Charles Hoskinson(數(shù)學家,科技創(chuàng)業(yè)者),我們一起研究比特幣白皮書,然后湊了50萬美元創(chuàng)立公司,去實現(xiàn)Bitshare背后的思想。
之后的經(jīng)歷,就像滾雪球一樣。
我們開始組織會議,人們從四面八方趕來幫我們,特別熱情地參與到這項工作中來。在這樣的公開討論中,我們的團隊自然而然地冒了出來。
問10:好,現(xiàn)在全世界已經(jīng)有超過1000人在看我們直播了。Bitshare是你參與加密數(shù)字貨幣后的第一個項目,很多人和你一樣,也想做類似Bitshare的系統(tǒng),但他們都沒有做成,那你認為這個項目遇到最大的挑戰(zhàn)是什么?
BM:Bitshare是一個橫跨幾乎所有領域的東西,從法律到政治,從哲學到科技,從社區(qū)治理到可用性,我們必須解決一連串問題。
那時,世界上只有三種幣:比特幣、克隆比特幣的幣以及瑞波幣(Ripple),除此之外沒有其他的區(qū)塊鏈應用,所以也更多經(jīng)驗可以借鑒。
Bitshare有過兩個版本。
第一版發(fā)布于2014年,這個版本的區(qū)塊間隔是10秒,但在可用性方面有很多不足,因為我仍然沿用比特幣的一些思想,比如。我也用過類似比特幣的數(shù)據(jù)庫技術,這就導致性能不太好。
不到六個月我就發(fā)現(xiàn),這一版并不能跑任何實際應用,所以我就坐下來重新設計架構,我想新架構必須基于一種新的狀態(tài)機模型,而這種模型必須與比特幣的UTXO完全不同。
這種新架構必須把所有東西載進內存,而非涮完一遍后裝進數(shù)據(jù)庫。
2015年6月前后,我們發(fā)布了石墨烯工具組,在此基礎上建立的Bitshare2.0是第一個間隔時間只有3秒的區(qū)塊鏈,每秒支持1萬筆交易,這也證明了在分布式環(huán)境下能實現(xiàn)我們原本設想的高性能。
我們第一次獲得了成功。但我認為,相比于基礎技術上收獲的經(jīng)驗,我們在政治經(jīng)濟上收獲的思考才更有意義。
第二段
問11:很多人都說POW耗電驚人,甚至要建很多電站,這樣消耗的能源會遠超我們的產(chǎn)能。
但是Andreas Antonopoulos(幣圈名人,比特幣早期布道者)卻說:POW有很多問題,比如說算力多者權力大,但POW卻是唯一對得起你消耗資源的共識算法(即一分辛勞一分回報)。
對于這些眾說紛紜,BM你怎么看?
BM:POW是種“誰力氣大誰說話”(might makes right)的算法,人們傾向消耗最多的資源以控制全網(wǎng),這種競爭要求經(jīng)年累月地投入能源,于是勢必形成礦池。
而最終幾家大礦池決定打包哪些交易,同時也是他們決定著不打包哪些交易。所以說,我們的交易本質上是遞給這些大礦池審查的。
很多人并沒有意識到,安全不是一個單維度問題,它至少涉及三方面:
1)是否有人能輕易修改規(guī)則?
2)是否有人能對抗審查?
3)是否有人會強行硬分叉?
這些問題看起來相互關聯(lián),但解決起來卻完全獨立,因為它們各自有不同的東西來保障。
POW下,保障區(qū)塊安全的方法是大規(guī)模復制,并向全網(wǎng)公開。每個人都遵守同樣的規(guī)則,任何人都能驗證區(qū)塊,同時每個區(qū)塊都按規(guī)則生產(chǎn),所以即使全網(wǎng)只有一名區(qū)塊生產(chǎn)者,依然能夠玩得轉。
可這種模式的軟肋在審查環(huán)節(jié):一些人總是手握事實上的審查權,我們看一眼POW礦池就會發(fā)現(xiàn):實際上只有3-4個礦池有權審查交易。
圖2 狗年初一 全球算力分布
數(shù)據(jù)來源:https://btc.com/stats/pool
而DPOS則不同,如果有人想扭曲事實,他得同時向21個節(jié)點行賄,而這些節(jié)點由系統(tǒng)隨機排序,這使得賄賂成功的可能性低到0。
DPOS仍然按規(guī)則生產(chǎn)區(qū)塊,并且區(qū)塊信息全公開,這些節(jié)點無法改變規(guī)則,因為有數(shù)以千計的全節(jié)點時刻都在驗證交易。
所以說:
Security is not a one-dimensional concept. It's not about the cost that goes into it. In fact, you wantthe best security for the least cost for things to be economically sustainable.
安全性不是一個單維度的概念,這和我們投入的成本無關,事實上你要的是用最小的成本實現(xiàn)最好的安全,并使得整套系統(tǒng)在經(jīng)濟上能持續(xù)運作。
另外,POW還有一個弱點,就是當幣價暴跌70%時,挖礦將不再有利潤、甚至虧本,此時原有的激勵制度會變味。
Ivan總結:POW雖然久經(jīng)考驗,但它依然具有中心化的特質,所以越來越多的加密貨幣從POW轉變?yōu)镻OS。
問12:你在開發(fā)Bitshare上投入那么多時間和精力,那是什么最終讓你離開Bitshare?
BM:兩個原因。
第一,錢燒完了。為了開發(fā)石墨烯工具箱,我們掏光了家底,最終雖然開發(fā)成功,但還要不斷升級,不斷投錢。
第二,我們引入了“工作者提議”(Worker Proposals)的理念:這使得社區(qū)掌握越來越多的決定權,比如社區(qū)有權決定是否通過投票籌款,是否停止通脹,是否停止為新項目募集資金等等。
那時我沒有工作,可是嘴巴需要吃飯,為了繼續(xù)開發(fā),我只能出售自己的股份,所以我的持股比例越來越少,話份也越來越輕,但即使這樣,我依然繼續(xù)開發(fā),埋頭打磨產(chǎn)品。
這時我意識到,開發(fā)者和社區(qū)的激勵因素并不一致。
而且,Bitshare在市場營銷方面也有很多問題,這些問題都是當時的我無法解決的。比如,如何向普通人展示一個區(qū)塊鏈?如何讓人們源源不斷地跑來注冊?
要解決這些問題,只有重建底層架構。于是,我決定離開Bitshare,重新投入另一個項目:Steemit
Steemit是一個去中心化的社交媒體網(wǎng)絡(類似于能賺錢的博客),當時我想用它來解決一個問題,即:降低人們進入加密貨幣領域的門檻。
我曾試著讓新用戶使用Bitshare,但Bitshare的宣傳文案卻似乎在說:嘿,你快把錢給我們吧,我們幫你投到高風險的加密貨幣中去吧。
對普通人來說,一開始學加密數(shù)字貨幣是很不容易。我們得這樣教育很多零基礎的人:聽好,你得先去學比特幣,然后去買幣,接著把幣轉去交易所,最后轉成其他幣……
普通人聽到這里腿會發(fā)抖,于是我想削平普通人的入行門檻。
另一方面,我認識到一個事實:人類的勞動是有價值的,就像POW挖礦也同樣有價值一樣。于是我在想,要做成Steemit,讓人們相信一件事就行,即:只要人們投入自己的時間就能賺到錢,就像他們投入自己的錢能賺到錢那樣。
但是,為了做Steemit,我還得解決另一個問題:手續(xù)費。因為沒有人愿意為點贊或轉發(fā)之類的小動作付費,可在這件事情的另一頭,內容生產(chǎn)者卻投入了時間,他們必須掙到錢。
怎么辦?
Steemit的理念是以寫博客的方式挖礦(mind by blogging),寫博客的人和比特幣礦工一樣,都有資格從勞動中獲得收入——這將產(chǎn)生數(shù)以百億美元的勞動收入。
這些錢用去獎勵內容生產(chǎn)者,與此同時,必須建一個超大規(guī)模的分布式系統(tǒng),用來消費這些內容,為這些內容提供資金,形成一種生態(tài)。
現(xiàn)在的Bitshare采用“工作者提議”(Worker Proposals),人們可以投票決定是否資助開發(fā)者去做哪個項目,但在現(xiàn)有技術架構下,很難產(chǎn)生真正有價值的提議。
這種花費并不是強制性的,當一部分人決定削減開支,這些人就會把代幣存起來,但他們很難弄明白“為了明天賺錢,今天必須花錢”的道理。
而另一撥人則反對通脹,他們是通縮派,為了壯大整個系統(tǒng),他們認為應該不斷地往生態(tài)系統(tǒng)里砸錢。
所以,Steemit一方面引入強制性的通貨膨脹,另一方面安排了強制性的支出、同時又設計了大規(guī)模的去中心化預算。
問13:談談你對社交網(wǎng)絡的認識。
BM:社交網(wǎng)絡屬于每個人,每個人都可以貢獻內容,每個人都有權對這些內容評頭論足,社交網(wǎng)絡在生產(chǎn)內容的同時會獎勵內容生產(chǎn)者,生產(chǎn)的內容能被Google搜索到,從而產(chǎn)生網(wǎng)絡效應。
這能從根本上鼓勵人們去注冊和使用,因為現(xiàn)在的宣傳文案已經(jīng)變成這樣:別給我們錢了,趕緊注冊吧,把你自己的生活告訴我們,這樣你就能賺到錢了。
換句話說,你現(xiàn)在在其他社交平臺上發(fā)的那些微博并不能獲得收入,但你只要把這些微博和博客移到Steemit上,就能賺到錢。
于是Steemit立馬流行起來,男女老少都自動變成Steemit的用戶。
Ivan:是的,比如我就每天在用Steemit,甚至有很多從沒聽說過區(qū)塊鏈技術的人都開始用Steemit,因為他們在Steemit上見到了美元符號,這些對于初次使用者來說非常有吸引力。
圖3 Steemit 頁面截圖——寫博客就能賺錢的網(wǎng)站
來源:https://steemit.com/trending
問14:既然Steemit運行得這么好,為什么還要離開它?另外,你離開Steemit后遇到過哪些問題?
BM:作為一個社交媒體應用,Steemit上的功能聚焦得非常狹窄,幾乎只能用來做社交。Bitshare和Steemit都是基于區(qū)塊鏈的應用,如果你想向區(qū)塊鏈添加新功能時,你必須讓所有參與方都達成共識,同時你必須做大規(guī)模的升級,其間無盡的爭議會極其地耗時。
所以,當看到比特幣和以太坊的硬分叉時,人們就明白了:你的想法不能離社區(qū)這個中心太遠,所以很難開拓出新方向,特別是你想搞區(qū)塊鏈層面的技術性巨變就更加不可能了,而所謂的“巨變”,在功能層面可能僅僅是在現(xiàn)有系統(tǒng)中添加一個小特性。
所以,其實我剛開始做Steemit那會兒,我就一直想建立一個更加通用的、可編程的區(qū)塊鏈。那時,我就在找CEO,后來找到了Ned,我問他:你是否認同我的理念?如果你認同,我想來讓你做Steemit的CEO。
Ned說:行~(Ned是Steemit的CEO和聯(lián)合創(chuàng)始人)
于是,即使當時我已打算去開發(fā)別的項目,但是我們依然在一起開發(fā)著Steemit,直到把這個東西做出來為止。
所以說,即使我離開,Steemit依然可以繼續(xù)運行、繼續(xù)提升性能,因為我已經(jīng)把結構框架搭好了,后面來的人只要把用戶界面做得好看點就行了,Steemit這個區(qū)塊鏈應用自己會自顧自地運行。
其他方面,就涉及到利益分配問題了(political lesson)。
社區(qū)對于這個系統(tǒng)應該如何運行有著自己的理解,社區(qū)基于他們自己的理解而采取行動,但社區(qū)并不一定非得理解這樣行動的后果。
所以,當你一旦觸及到利益問題,比如對于一些方向性問題開始投票時,如果資金募集者不愿意了,你根本沒辦法,因為你不能像個暴君一樣說:你應該走我讓你走的路,因為這是個去中心化的系統(tǒng),這些都已脫離我的控制。
我理想中的新系統(tǒng)應該有更好的治理架構以及權責利安排。為此,我研究了博弈論,學了人們在類似投票的博弈過程中的各種糾結心理,最后發(fā)現(xiàn)這一系列東西都應該被重塑,可現(xiàn)在每個人都已經(jīng)參與進這個系統(tǒng),于是我注定無法重塑它。
所以,我決定去創(chuàng)建我理想中的新系統(tǒng)。
問15:好的,我們來聊一些能搭建APP的平臺。以太坊上能搭建很多應用,但一些人說以太坊唯一的用處是ICO,那么你為什么不把Steemit建在以太坊上?
BM:把Bitshare或Steemit建在以太坊上,在技術上是不可行的。
一方面,Bitshare在以太坊發(fā)布之前就已鎖定募集,而Steemit雖然在以太坊之后才開始做,但以太坊的每步操作都要收費,如果在以太坊上做,那結果一定連點個贊都要收費,這對于用戶來說是不可思議的。
現(xiàn)在,Steemit上每天的交易量比以太坊的處理極限還多一倍,網(wǎng)絡擁堵時以太坊轉賬手續(xù)費會變高,但Steemit不會,因為Steemit有更多的峰值儲備,即使用戶數(shù)激增,也不會影響交易速度。
所以,不建議你在以太坊上搭建應用,因為如果你的用戶數(shù)激增,那以太坊注定是撐不住的。如果誰做了Raddit(國外時事新聞類app)這樣成功的應用,系統(tǒng)至少得支持每秒200筆的交易,但這個簡單的需求就已經(jīng)超過以太坊極限處理能力的10多倍。
除此之外,你必須關注實用性。以太坊每個新區(qū)塊有15秒延滯,這種延滯對于以太坊錢包來說可能沒什么影響,但對于發(fā)布文章或點贊這種功能來說,等15秒就太慢了。
所以,可用性是每個app開發(fā)者會關注的重要因素,你需要建立一個平臺,在這之上能夠運行像Steemit和Bitshare這樣的應用,否則我們并不會擁有一個真正的Dapp(去中心化的app)平臺。
第三段
問16:Vitalic Buterin正牽頭對以太坊動大手術,你怎么看待這場改進?目前他們計劃用Casper解決現(xiàn)存問題,你是否認為這會有效?
BM:Casper能影響的層面在于共識,對于執(zhí)行層面并沒有幫助。
以太坊注定要經(jīng)歷一個艱苦漫長的升級,因為手術涉及很多底層技術架構,包括計算資源管理和核心要素間的交互。
我認為把以太坊轉向全新架構的難度不亞于把Bitshare變成Steemit,Bitshare社區(qū)不會支持開發(fā)者,以太坊礦工也不會支持整個社區(qū)。
所以這幾乎不可能做成,因為以太坊的任何改動本質上涂著利益分配的底色。
如果這一系列事情不斷發(fā)酵,人們終將認識到:任何微小改動(比如比特幣區(qū)塊大小)都極其艱苦,就更別提修改共識、虛擬機或整個安全理念了。
問17:有人認為分片(Sharding)能將一種狀態(tài)切分為多種子狀態(tài),而這些子狀態(tài)相互間無需知曉彼此情況,這樣能增強以太坊的性能。你認為這種方式是否太過復雜,你有什么建議?
譯者:分片是把一個數(shù)據(jù)文件切分成的多個部分放到不同的數(shù)據(jù)庫上,從而提升單一數(shù)據(jù)文件的性能,相當于你把一周五天的課程表剪成五條,每天揣一條上學。
BM:分片在性能方面類似這樣的場景:
有人把一捆286處理器接到一個14K的調制解調器上,然后指著這說:“你看,這堆東西可牛逼了,性能可以媲美Intel的20核處理器,因為我們會做分片。”
分片容易,但分片后的通信卻很難。
即使理論上分片能提升交易處理性能,但卻面臨著一對內生矛盾:量和質。
也就是說,也許分片能增加某類交易的吞吐量,但是不可能增加交易的類別,而恰恰是交易類別的多樣性(即:質)才是Dapp開發(fā)者真正關心的東西。
反之,如果分片支持了交易類型的多樣性,那交易吞吐速度一定上不去,這就是一對不可調和的矛盾。
另外,分片之后,片與片之間的通信會大大降低處理速度。所以,我不認為分片(Sharding)是一個好辦法。
問18:以你做Bitshare和Steemit的經(jīng)驗,你看出以太坊的上述問題,這些問題是你做EOS的理由嗎,或者還有其他什么理由?
BM:我起步做EOS時的確有很多經(jīng)驗,我也知道去中心化系統(tǒng)開發(fā)者真正的需求。我學了很多模式和設計思路,不斷重復打磨。最終,我并不只想做Bitshare或者Steemit那樣功能單一的應用,我要做的是一個通用系統(tǒng),這就是我做EOS的緣由。
EOS是一個動態(tài)通用型區(qū)塊鏈平臺,能建類似于Bitshare和Steemit的應用。它匯集了我們之前所有的開發(fā)經(jīng)驗,EOS的性能水平更高,因為80%的功能都通過本地代碼實現(xiàn)。
此外,EOS還引入Web Assembly(由谷歌、微軟、蘋果等幾家大公司合作發(fā)起的項目,這個項目是面向Web的通用二進制文本格式,已在改變Web生態(tài)),這能讓開發(fā)者使用C++語言,而C++有著極其豐富的類庫,這樣你能實現(xiàn)你想到的任何功能,而這些都能被用到智能合約上來。
可如果用自有語言Solidity寫智能合約,你就得重頭開始自己寫類庫,重新發(fā)明一遍輪子。坦率地說,我們把EOS的代幣發(fā)布合約建在以太坊上,后來發(fā)現(xiàn)程序竟然不能超過300次迭代,因為Gas會被消耗完。
譯者插嘴:以太坊本為執(zhí)行智能合約而生,為了抵御黑客攻擊或被無限循環(huán)bug耗光全網(wǎng)資源,于是設計了gas的概念,即:執(zhí)行任何+、-、×、÷都要消耗幾兩gas,而gas是要論斤買的,于是表面上消滅了死循環(huán)的可能。
但沒想到按下葫蘆起了瓢,雨后春筍地冒出如山的問題,這一連串問題就像一個個青銅枷鎖一樣,套在以太坊的脖子上,BM所說的“無法多次迭代”問題只是其中之一。
BM總結:所以這些都注定以太坊上不可能建通用的大型應用,比如訂單系統(tǒng),因為它的語言和內存模型都難以支持簡單操作,比如索引或排序,即使能做也無法高效地做。
問19:EOS最為人矚目之處在于共識算法DPOS,談談你發(fā)明DPOS的經(jīng)過吧。
BM:我第一版做的DPOS鎖定了101個生產(chǎn)者,它們都經(jīng)投票選舉產(chǎn)生,Bitshare 2.0(以及石墨烯)把101這個數(shù)字調整為可由用戶自定義,以便當人們投票時,在通過票數(shù)上可以自由調節(jié)。
這讓我們觀察到一個社區(qū)真正能被票選的節(jié)點數(shù),我們發(fā)現(xiàn),當一個社區(qū)處于可控狀態(tài)時,可票選節(jié)點數(shù)通常在15個左右。所以在做Steemit時,我決定把這個數(shù)字設定為“略高于15”的21,這樣就能更加“去中心化”地運行。
在Bitshare最初的版本里有個問題:101個不同的生產(chǎn)者其實可能是同一個人,但社區(qū)無法審查這點。
所以,盡管理論上有101個節(jié)點,但實際參與產(chǎn)塊過程的最多也就其中20來個節(jié)點,而這20個節(jié)點的背后也就4-5個實際控制人。所以在做EOS的時候,我們敲定的節(jié)點數(shù)是21(投票節(jié)點必須是奇數(shù),否則會出現(xiàn)長期分叉)。
這21個節(jié)點的處塊順序選由系統(tǒng)隨機設定,并且隨時會變,這樣既能有效率地升級,同時也能避免硬分叉。
Ivan總結:我想現(xiàn)在大家都有點明白以太坊是如何工作的了:智能合約代碼需要在每個節(jié)點上執(zhí)行,于是這自然就不是一個可擴展的方案,更不用提當網(wǎng)絡變大、節(jié)點變多的情況了。那時每個節(jié)點需要和更多節(jié)點通信,如果有些代碼只能在這臺電腦上跑、卻無法在其他節(jié)點上運行跑,那就慘了。
問20:EOS上執(zhí)行代碼是不需要過所有節(jié)點的,因為如你所說,EOS只有21個節(jié)點,所以請解釋一下,一個本來跑在以太坊上的Dapp應用,如何在EOS上執(zhí)行?
BM:這里要糾正一下你的誤解:
21個指的是21個區(qū)塊生產(chǎn)者,但與此同時,全網(wǎng)有無數(shù)個驗證者,所有驗證者都運行全節(jié)點數(shù)據(jù)(run everything)。
問21:如果每個人都運行全節(jié)點數(shù)據(jù),那和以太坊相比,EOS的延展性如何?
BM:What we're trying to do is scale the decision-making over who's running everything, 我們做的是擴大有權決策者的規(guī)模,而不是運行全節(jié)點的人才有權拍板。
以POW為例,它的利益分配只會傾向于那些有錢、有算力的人,而錢和算力很容易獲取,比如政府補貼你一把就有了。但DPOS不同,每個持有權益者都有權投票,這使得全網(wǎng)很難被控制。
DPOS讓每個人對正在發(fā)生的事情都有發(fā)言權,因此控制力將更分散,從而使系統(tǒng)更具可擴展性。同時,票選出來的21個區(qū)塊生產(chǎn)者將更專業(yè),他們可以位于數(shù)據(jù)中心,這些數(shù)據(jù)中心擁有更高性能的硬件,甚至組成服務器集群。
我相信大多數(shù)成功的Dapp應用最終都將變成網(wǎng)站,就像Steemit。
所以說,正常情況是由一組服務器去支持一群輕節(jié)點,這樣的商業(yè)模式才能讓服務提供商有更高性能的硬件。
礦工投了幾十億美元在硬件上,而硬件除了哈希運算之外什么都不做,在這點上EOS的DPOS與比特幣的POW一樣——除了驗證區(qū)塊和輸出結果。
所以,EOS上的生產(chǎn)者即使掌握了算力資源也無法作惡,作惡也沒有任何收益,所以它并不會像POW的系統(tǒng)那樣最終走向中心化。
第四段
問22:你看看你,你一說EOS只有21個區(qū)塊生產(chǎn)者,網(wǎng)上就有很多人跳出來說你小,沒想到EOS居然是個中心化的東西,這個問題你怎么回答?
BM:中心化很多時候是必然的,這就像做任何事都有成本一樣。中心化不是目的,只是解決問題的方法之一。去中心化也不是目的,而是反審查、保持網(wǎng)絡不被外界權力關閉的一種手段。
現(xiàn)在的去中心化已不僅僅停留在概念層面,而且已越來越變成現(xiàn)實。
如果節(jié)點數(shù)從1到2,數(shù)量翻番,分散程度就提高一倍。如果你想再提升一倍分散程度,那你就得把節(jié)點數(shù)變成4個。當然沒必要無限擴增節(jié)點數(shù),你必須衡量出一個合理的規(guī)模,保障數(shù)據(jù)最終能傳向全網(wǎng)。
從這個角度望過去,你會發(fā)現(xiàn)Steemit、Bitshare和EOS的分散程度比比特幣高兩三倍,因為你只要看一眼比特幣的全網(wǎng)礦池數(shù)量就能明白(詳見年初一的文章插圖2,比特幣前十大礦池占總算力的98.7%),而比比特幣更集中的是以太坊。
問23:推特上有人問你:DPOS是否會產(chǎn)生少數(shù)非常有錢、非常有控制權的人,最終演變成寡頭壟斷?
BM:這要看你說的壟斷是相對于什么而言。相對于礦工的控制力么、相對于礦池的統(tǒng)治力么,還是相對于那些比特幣圈牛人的影響力?
如果這些人牽著比特幣走錯方向,社區(qū)根本無法討到說法,因為追索成本太高,POW一旦形成壟斷它將強大無比,壟斷力量一旦站在他自己利益一邊時,根本不會跟你講道理。
站回DPOS區(qū)塊生產(chǎn)者的角度看,他們只賺薄薄一層利潤,區(qū)塊生產(chǎn)者更像賺取蠅頭小利的普通商販,混著一口飯吃而已。
社區(qū)對他們按勞計酬,任何東西都可以被納入社區(qū)的福利合同中,就像發(fā)工資那樣,由權益持有者發(fā)給區(qū)塊生產(chǎn)者,這類似于Steemit通過制造內容的動作給內容生產(chǎn)者發(fā)錢一樣。
所以如果你是DPOS的權益持有者,就可以大規(guī)模地分配資金余額,但這只是你在向那些為社區(qū)提供價值的人支付酬勞而已。
因此,和其他任何系統(tǒng)相比,DPOS一定不會產(chǎn)生寡頭壟斷。
問24:你認為什么樣的組織或公司會成為EOS的區(qū)塊生產(chǎn)者?在未來,區(qū)塊生產(chǎn)者會變成巨型數(shù)據(jù)中心嗎?你是否決定聯(lián)系一些大學或公司,讓他們參與你們的項目,還是決定將EOS面向社區(qū)全面開放?
BM:很多機構聯(lián)系過我們,包括一些主流交易所、區(qū)塊鏈瀏覽器和Dapp開發(fā)者,盡管如此,我們依然決定完全向社區(qū)開放。你知道,我們已和一些大學合作,目前正在做一些智能合約方面的項目。
任何足夠可信的節(jié)點(比如Google等大型知名公司,如果他們也做Dapp的話)都傾向運行全節(jié)點數(shù)據(jù),不僅因為他們有能力生產(chǎn)或驗證區(qū)塊,還因為它們出面擔任生產(chǎn)者不會有任何額外成本。
最終,那些在EOS上運行最大應用程序的人,會成為區(qū)塊生產(chǎn)者。
問25:EOS主網(wǎng)會在六月上線嗎?
BM:EOS主網(wǎng)上線的事不能確定,但可以確定的是我們公司的軟件今年六月能用。
問26:你不能確定的理由是因為這事得取決于社區(qū),而非你們公司嗎?
BM:是的,社區(qū)才最終決定是否啟動或運行軟件,我們只負責生產(chǎn)開源軟件。
問27:EOS選擇在以太坊平臺上發(fā)行ERC-20代幣,這是你們公司為整個EOS項目籌資的方式嗎?
插嘴:因為我們專欄還沒來得及介紹“ERC-20代幣”的概念,大過年的我們現(xiàn)在就把這件事給辦了。
ERC-20是在2015年11月以太坊推出的代幣標準,為的是方便ICO,任何ERC-20代幣都能兼容以太坊錢包。假如沒有ERC-20標準,那你每參與一次ICO都得跑去裝一個專用錢包,那這樣你的手機拎起來就會很重,不信你試試。
插完一嘴再敲次黑板:
“代幣”指的是Token,但越來越多的人愿意把Token一詞翻譯成“通證”,我們專欄也傾向這種譯法,因為Token本質上并不是錢,而是相當于讓你的權限自由行走于系統(tǒng)內的證明文件,即:越多的Token對應著擁有系統(tǒng)內更多的計算能力或存儲資源。譯成“通證”更貼近本意。
這就好比譯者去澳門,咬了牙、跺了腳換出500港幣的籌碼(Token)拽在手里,就不可能坐進貴賓廳,只配蹲在地上拉老虎機。
ICO火熱那陣,項目方為了O出更多的Token,把Token當成“代幣”叫賣,叫著喊著也就通俗起來。我們入鄉(xiāng)隨俗,就以“代幣”相稱,但你要知道,這其實不過是Token。
說來也巧,EOS的Token也叫“EOS”。但不是所有Token都和它們系統(tǒng)同名,比如以太坊的Token就叫以太幣(ETH)。
BM:Ivan,我來回答你籌資方式的問題,事實并不是你說的那樣,EOS在開發(fā)資金方面,有自己獨立的籌資渠道。
發(fā)行ERC-20代幣作為一種初始化權益的方式,類似于模擬采礦(simulated mining),我們認為用這種方式能把幣分發(fā)給足夠多的人。
其實不單EOS,每個區(qū)塊鏈項目都會面臨如何發(fā)幣的問題。所以,用ERC-20的姿勢發(fā)行EOS代幣,代表社區(qū)努力讓分配過程能更公平。
EOS的ICO收益不用于開發(fā)。
問28:那我是否可以這么理解?這是一種公平分配Token的方式,這就是為什么EOS的ICO要滴滴答答整整一年,這是讓每個人都有時間買,而不是像其他ICO那樣,只有一小撮人在幾天內扒光所有的幣。
BM:是這樣的,而且當天所有人獲得EOS的價格都一樣。
問29:很多人想知道EOS將如何落地,畢竟現(xiàn)在它除了在交易所里買來買去外,什么都不是。換句話說,如果一個人跑去交易所買了EOS,那他是沒辦法通過私鑰控制這些幣的,那從ERC-20轉換為EOS Token的過程如何實現(xiàn)呢?你說你不啟動網(wǎng)絡,那交易所里的那些ERC-20代幣又起到什么作用呢?
BM:沒什么作用。但很可能啟動多個區(qū)塊鏈,而這取決于那些在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有個幫你恢復賬戶的伙伴,系統(tǒng)默認是賬戶創(chuàng)建者,賬戶創(chuàng)建者可以用自己的賬戶和任何舊密鑰一起,恢復訪問權限。
EOS中,你應該有個能幫你恢復賬戶的伙伴,這個伙伴按照你的預設指令在必要時幫你恢復私鑰。
比如你可以這么預設:如果賬戶處于非激活狀態(tài)30天以上,就讓伙伴幫你恢復,同時可以再設個恢復操作后的窗口期,比如7天,避免伙伴的道德風險。但如果你不想這么設置,也可以用你的私鑰修改。
所以說,如果你可以證明你仍然擁有私鑰,恢復伙伴是沒辦法從你手里奪走賬戶的。
此外,我相信未來在區(qū)塊鏈的安全問題上,身份認證的作用會越來越重要。你的社交網(wǎng)絡和家人朋友身份一旦被確認,這個去中心化系統(tǒng)會確保大家彼此認可對方的財產(chǎn)權利。
私鑰代表人們對財富的控制權。如果你把加密貨幣的錢包掏出來拍桌上,即使有人沖出來從桌上搶走錢包,他也搶不走財富,你還是擁有這筆錢。
可如果你把比特幣私鑰抖了出來,一旦被人復制,那么這筆財富就也不再屬于你。
看起來很好的系統(tǒng),是吧,但我認為這并不能徹底保障我們生命、自由或財產(chǎn),這只是個抄了近道的私鑰系統(tǒng),因為我們的理念是徹底地不去相信任何人。
但如果選擇不去相信任何人,人們也沒有能力管理自己的私鑰,他們并不信任自己,這也不能怪他們,因為即使你是專家犯個小錯也會弄丟私鑰。
所以,你真正需要的安全是:知道你的賬號或財產(chǎn)都必然屬于你自己。于是,我們可以對那些財產(chǎn)本應的歸屬者恢復財產(chǎn)控制權。
譯者補充:
既然BM聊到比特幣的私鑰難記,那我們就當場為你做個私鑰出來,讓你評評理:
KxqVS5Bs1T1MoNA5HG9kgFyF5wtNeWMRFUf55Bq2XAqjshWNw85d
不管你是新手還是熟客,都能一眼看出,私鑰不是一個用正常人腦力可以記住的東西。那些存在硬盤里的私鑰文本,很容易被黑客拿走。很多人自知腦子記不住,于是一筆一劃寫在紙上,賊一樣地放進衣服口袋,但等衣服跑到洗衣機里卷一卷,就只剩衣服了。
還有些命不好的密鑰紙:被風吹走、被老婆扔掉、或被遺忘在某個不知名的角落……甚至有的密碼紙本身沒丟,但字跡陰淡掉了,或者抄著抄著、抄興奮了抄錯一位,但不知道錯在哪位,等要用時才獨自開始拍大腿。
私鑰是你在加密貨幣世界的肉身,意味著全部財富,但卻難以保管,這是一個問題。
比特幣或以太坊的密鑰一旦丟失就別懷念了,安心睡吧。但EOS卻可以恢復密鑰,具體來說,可以使用30天內的任意舊密鑰(注意即使被黑客換過也不怕)和預設的伙伴搭在一起,就能恢復。
伙伴不能單獨恢復密鑰,必須有原私鑰持有者的共同參與。伙伴也不會參與日常交易,這樣就讓道德風險降低到零。
Ivan總結:這一點非常重要,也就是說,以后這種網(wǎng)站一瞧正臉是個普通網(wǎng)站,但繞到后臺卻可以發(fā)現(xiàn),原來是去中心化運行、無人管理的網(wǎng)站,但卻可以幫用戶掛失密碼、恢復賬號……好高級。
(第31問翻譯時存在一處重大誤解:譯者沒有分清私鑰(privatekey)和賬戶密碼(accountkeys)兩者是不同的概念。Ivan問起比特幣的私鑰(privatekey)一丟,就沒法恢復,這是事實。BM談到EOS用戶賬戶的密碼被偷(keysbestolen)可以恢復,這也是事實,但私鑰(privatekey)和用戶賬戶的密碼(accountkeys)兩者完全不同:用戶賬戶的密碼(keys)指基于EOS架構下開發(fā)的Dapp賬戶的密碼,可以換來換去,所以英文用復數(shù)keys。keys并非指可以解鎖某個地址上EOSToken的私鑰(privatekey),因為對應一個地址有且只有一個私鑰,不可更改。所以說,保護EOSToken的方式和比特幣一樣,還是保管好對應地址的私鑰。而EOS能保護Dapp的賬戶控制權:密碼若被盜,你拿著原密碼找恢復伙伴就行,怕忘原密碼就設置一個簡單密碼123,同時設置幾天窗口期緩沖惡意改密。BM把Dapp賬戶的密碼看成個人財產(chǎn)的一部分,EOS系統(tǒng)能幫你保障的是這一點,而EOSToken的私鑰則無法找回。這也許就是為什么BM在年初六的文章倒數(shù)第二問說他沒幣的潛在原因——可能他認為持有比特幣并非最好的財產(chǎn)保有方式,因為私鑰難管易丟。而Dapp上賬戶的密碼是一個人生命、自由和財產(chǎn)的一部分,他會用代碼傾力守護。)
問32:有種觀點認為,以太坊因為用了Gas,所以在可用性方面出現(xiàn)很多問題。Steemit沒做類似Gas的設計卻跑得很好。那EOS是怎么做的?作為一個使用者,我只用等幾秒就能發(fā)起一筆交易,那你用什么去對抗垃圾信息導致的網(wǎng)絡堵塞呢?
BM:在模型里我們用到一個類似于分時享用(timeshare)的概念——你可以用的資源和你所持有權益的比例正相關。換句話說,如果你有1%的EOS token,你就可以使用1%的全網(wǎng)計算或存儲資源,這是由系統(tǒng)保證的。
如果網(wǎng)絡不擁堵,同時別人也不和你較真,那你就能搭便車,使用多于你原本能用的系統(tǒng)資源。
一旦網(wǎng)絡擁堵,每個人能用的系統(tǒng)資源上限比例都會下降,下降到他們持有權益的份額比例。所以,這也意味著網(wǎng)絡不可能被沖垮。
譯者:試想你在EOS上做個去中心化的滴滴打車,用戶向你抱怨系統(tǒng)卡頓,那最直接、最彪悍的解決方案就是去交易所拎兩桶EOS回來,澆灌你的系統(tǒng)。
BM繼續(xù)說:我們都看到了,養(yǎng)只貓就能把以太坊堵成狗,而ICO就更像洪水猛獸,把以太坊沖垮過好幾次。
圖1 養(yǎng)了貓咪之后的以太坊 · 待確認交易數(shù)
但這種類似拒絕服務攻擊(DoS)的網(wǎng)絡擁堵,在EOS里是不可能的,Steem或Bitshare兩個系統(tǒng)就是實例。
譯者:拒絕服務攻擊即是攻擊者想辦法讓目標機器停止提供服務。比如對網(wǎng)絡帶寬進行的消耗性攻擊。這就像你在我家隔壁開了家餐廳,為了攻擊你我別出心裁地雇了20個小工坐滿你的餐桌,點杯白開水,一坐一天。
Ivan:好,現(xiàn)在我們已經(jīng)有驚人的(amazing)2000人圍觀直播了。如果你有親朋好友也在幣圈,趕緊點擊按鈕分享給他吧。
譯者:Ivan肯定見識過李笑來或羅振宇平時在家面對動輒幾萬、幾十萬人的直播,才會說出amazing這樣詞匯。
是的,這么重量級的直播訪談居然只有驚人的2000人在看,最大的原因一定是BM不會說中文,這是他為數(shù)不多的不如Vitalic Buterin之處。
問33:很多人說以太坊最大用處是ICO,那EOS最終能干些什么,其實大多數(shù)人腦子里并沒有概念,但你卻能提前察覺到這項技術的潛力,請問你的自信是哪里來的?關于EOS的未來,有什么讓你想想就能激動的事么?
BM:我認為基于EOS之上,會長出更好的交易所、更好的社交平臺、更好的預測市場、更好的治理方案、更好的身份認證系統(tǒng)、更好的爭議解決系統(tǒng)……
各種各樣的應用都可以運行在EOS上。像DocuSign(電子簽名行業(yè)領袖)這樣的公司就很可能搬到EOS上做。另外,我們還可以在此基礎上建立一種去中心化的社會,人們身處其間,彼此確保相互之間的生命、自由和財產(chǎn)不受侵犯。
基于EOS還可以做更好的ICO平臺,因為它結合了更完備的身份認證和平臺性能,還能在各種監(jiān)管下執(zhí)行合約,比如執(zhí)行那些出于監(jiān)管目的要求企業(yè)必須做的事。在EOS上交易具備更好的安全性,它完全有技術能力支持監(jiān)管要求。
問34:Charles Hoskinson說過,Cardano在這方面也能做很多EOS能做的事,他說Cardano未來會成為一座通往金融系統(tǒng)的橋,能讓人們更容易地遵從監(jiān)管。
你曾說你和Charles Hoskinson有過合作, 那你和他是什么關系,那為什么不繼續(xù)一起做Cardano或EOS,你為什么最終選擇單飛?
BM:是我們不讓Charles繼續(xù)擔任CEO的,他同意了,然后離開Invictus公司(做Bitshare的公司之一)。他做過幾個像以太坊那樣的項目,但是因為一些品行上的原因(moral reasons)讓他不能繼續(xù)待在那個位置上。
問35:你以前說過ADA幣(Cardano)的Ouroboros抄襲你的DPOS,是這樣嗎?
BM:談不上抄襲,他們只是在有些方面做的和我們有八分像而已,比如分塊、區(qū)塊生產(chǎn)者最終轉向最長鏈等方面。
Ouroboros看起來不像DPOS的地方在于:他們小改了選擇區(qū)塊生產(chǎn)者的算法,變成基于持有權益者的隨機抽樣,而DPOS原來的樣子是一人一票(approval voting)。
他們增加了區(qū)塊生產(chǎn)者的數(shù)量,我認為這是基于Bitshares和Steemit開發(fā)經(jīng)驗而演生出的變化,但這種變化并不會達到原本預期。
BM說:They give the appearance of decentralization without actually decentralizing. They increase the latency of reaching consensus.Cardano的Oroboros在沒必要分權時卻分了權,并且延長了達成共識的時間。
而且,根據(jù)他們財富分配的原則,控制系統(tǒng)的人實際上更少。
DPOS一旦選出了21個區(qū)塊生產(chǎn)者,即使其中一個獲得的投票數(shù)是另一個人的10倍,但他們對區(qū)塊生產(chǎn)的影響沒什么兩樣。
但Cardano的Oroboros則不同,即使你有上千個區(qū)塊的生產(chǎn)者。但如果一個人擁有10倍于別人的股份,他就可以生產(chǎn)51%的區(qū)塊,
你放心,此時他們一定能生產(chǎn)51%的區(qū)塊,特別是當他們縮小到只有一個時間窗口時,而這個時間內,別人正站在外面在傻乎乎地等確認。
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.
這是一些人提出的挑戰(zhàn):每個人只能投一票、并且只能投給一個生產(chǎn)者。但這好比一家公司,現(xiàn)在規(guī)定每位股東只能票選一個董事,而不是讓所有股東投票給每個董事。
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.
秦人不暇自哀而后人哀,后人哀之而不鑒,那就應該去上幾節(jié)課。
第六段
問36:俗話說:物以類聚,人以群分。你剛說Charles因為有點品行問題(moral reasons)導致你們無法合作,那最終使得你們團隊協(xié)作不下去的到底是觀念不相符、氣味不相投、還是愿景不對頭?
BM:呵呵
Ivan:好我懂了,我們都懂了。
問37:Cardano建立在Haskell上,我覺得他們會有一個函數(shù)編程語言(functional programming language)用來寫智能合約。
有人說,現(xiàn)在的智能合約有安全方面的問題。但也有人說,用函數(shù)編程時你可以多做測試驅動的開發(fā)(test-driven development),智能合約的正式驗證做起來很容易,從數(shù)學上也能證明,bug會更少,程序跑起來也更順,不會終結于異常狀態(tài)。
對于這個爭論你怎么看?你是不是也很想在EOS里添加這種用函數(shù)方法來做智能合約呢?
BM:EOS引入Web Assembly,所以能編譯任何編程語言,這就是說,你可以用Haskell寫程序。
實際運行中,我們發(fā)現(xiàn)C++編譯出來的代碼更有效,在實用性方面這點極其重要。
但是,你同樣可以把C++用在函數(shù)型范式(functional paradigm)上,模板元編程(template metaprogramming)的功能也很強,在編譯的同時能進行大量檢查,使得生成的代碼能保持很好的一致性。
不僅如此,還有更多的庫可以在C++中驗證。
但有些人總覺得一定有人能寫出完美的代碼,而且這個人一定能夠預知到后續(xù)的每一步都會缺哪些東西。而且,不管用任何語言寫代碼都能一帆風順到?jīng)]有bug。
這些人其實并不知道,實際上我們只能在一定假設范圍內才能做成這些事,但這些假設可能并不一直都靈,掉根鏈子也是家常便飯。
所以,EOS總是采用這樣的方法:當事情變壞時,會有一過程去糾正它,雖然不能修補所有的問題,但你至少還可以動動手,防止事情變得更糟。
對于系統(tǒng)安全性和用戶來說,能夠事后修復,才是頭等要事。
問38:你不愿意帶頭部署網(wǎng)絡的原因是什么?是法律原因,還是因為你只是想寫趴在桌上寫代碼?
BM:原因有很多。
你先要搞清一件事,給交易所寫代碼和經(jīng)營一家交易所是兩回事。
所以,EOS項目把系統(tǒng)角色、功能職責和履約責任三者完全分開,因為如果把不同的功能都攪在一起,很容易出現(xiàn)一些本來可以避免的問題。
問39:幾天前,福布斯雜志拉出一張榜單,上面寫滿了區(qū)塊鏈世界里巨富名字,我們看到你、V神還有Charles Hoskinson都在。
我當時就在思考表上這些人所做項目的前景。BM你做出Bitshares,Bitshares跑到了今天;你做出Steemit,Steemit現(xiàn)在保養(yǎng)得也不錯,而且我們也都覺得兩樣東西會一直運行下去。
但我覺得,這份名單上很多人做出的項目都沒什么能落地可能性,估值都只依賴別人的預期,得靠講故事活下去。你怎么看?
還有,你對ICO的前景怎么看?對人們常說的加密貨幣泡沫有什么看法?會不會搞到市場一片絕望時,項目還沒落地?這個行業(yè)會不會遇到互聯(lián)網(wǎng)2000年時那種級別的泡沫?
BM:我認為絕大多數(shù)的Token純粹在投機。
如果你只看萊特幣(LTC)、比特幣(BTC)或比特幣現(xiàn)金(BCH),他們在技術層面都是同質的,前景也就那樣。
這些幣的市值完全來源于代幣分配(Token distribution)。他們整天惦念著未來總有人愿意買賣這代幣,但對這種代幣的實用性卻從不關心。
那些項目甚至都不是ICO,都只是些單一功能的區(qū)塊鏈,這些區(qū)塊鏈自己都沒法說清以后能做些什么事情。
他們對那些貨幣的估值都高到離譜,看起來所有的幣都在爭搶下一個儲備貨幣的位置。
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.
我認為以太坊搞到最后會和比特幣一樣。從技術的角度來看,它已經(jīng)爛掉了,但作為一種貨幣,它還是可以用用的。
基于此,沒有理由說以太坊不能成為新的比特幣,即使它不改進技術、不去變成人們希望它成為的樣子,也能沖擊更高的市值。
所以說,你要分清使用價值和投機價值這兩個概念,我認為現(xiàn)在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.
市值只是一個指標,這個指標可以衡量項目發(fā)起人的富有程度,但無法衡量技術能力。
問40:你現(xiàn)在做著EOS,萬一你有了其他的想法,你會離開EOS去做另一個項目嗎?當年你撇下社區(qū)、離開Bitshares和Steemit的一幕是否會重演?你對未來的計劃是什么,你會在EOS項目上一直做下去嗎?
BM:我有一個巨大的財務激勵,讓我能在EOS上一直做下去。
做公司是個大工程,我一個人可干不了。所以我得有合適的搭檔,而我現(xiàn)在和Brendan Blumer還有block.one公司的其他同事一起。
我喜歡這個團隊,我沉浸在EOS的開發(fā)里。萬一以后我有了新的想法,就沒必要去專門跑去造條新鏈,而是只要在EOS上部署就行。
Steemit和Bitshare都有特定功能指向,如果我有一個新的想法,是不可能在這些平臺上構建的。但因為EOS足夠通用,我們所能設想到的一切都可以建在EOS上。
所以我不打算去別的地方。我喜歡和block.one的同事一起工作,我們所做的一切背后有著太多的動力。
問41:下一個問題是關于EOS上智能合約的編程語言,以前能用C++,你是否考慮使用其他語言,還是拋給社區(qū)決定?
BM:我相信C++是構建智能合同最好的編程語言,社區(qū)可以根據(jù)需要用其他語言。
事實上,創(chuàng)建語言最簡單的辦法可能是讓該語言編譯C++,然后用C++編譯器將其編譯為Web Assembly。
我們有一個很大的類庫,你可以使用標準模板庫,還有boost庫等等,所有這些庫都已經(jīng)擺在那里,如果你換了種新語言,你就沒辦法一口氣寫出這些庫。
我認為驅動語言的類庫比什么都重要,EOS會使用C++。C++擁有最豐富、最好用的代碼庫,這就能快速構建任何東西,而這在任何其他平臺上是沒辦法搞定的。
問42:那么接下來說說開發(fā)工具。例如,你會做一個自己的ID嗎,還是用現(xiàn)有ID直接嵌入系統(tǒng)呢?
BM:你已經(jīng)可以用現(xiàn)有ID了,這是用C++或CMake編譯的,我們正在構建工具來增強一些功能,比如調試和測試。我們會做一些工具出來,讓事情做起來更方便。
事實上,我覺得有人甚至已經(jīng)建了Web界面,他可以在瀏覽器里完成一系列動作,比如構建、編譯和部署C++智能合約。
所以,這些事情都能實現(xiàn),我已經(jīng)迫不及待地想去看看社區(qū)都想出哪些好點子。
終章
問43:我正在比較其他平臺,我們已經(jīng)討論過以太坊,那你認為NEO和Lisk這樣平臺怎么樣?在EOS外,你認為有沒有看得上的去中心化應用(Dapp)平臺?
BM:Blockchain is a combination of technology and in community.
區(qū)塊鏈是一種基于社區(qū)的技術組合。
EOS治下的社區(qū)在系統(tǒng)中的角色會非常獨特,很多技術仍然離不開手續(xù)費,只要交易費用不可避免,我們就無法自由交易,所以我認為手續(xù)費是個根本問題。
如果長期不解決動不動就收費的問題,用戶會失去興趣。
譯者:BM只談了手續(xù)費問題,壓根就沒回答問題,可能他沒聽清,也可能忘了答,但更可能這就是答案。
問44:你們現(xiàn)在在和哪些項目有合作?我聽說Everipedia這種類似于維基百科的項目正盼著EOS落地,他們派工程師日夜鉆研EOS。那是否有其他項目也找過你,并希望將EOS用于他們的應用程序中?
BM:是的,每天都有很多建在以太坊的項目方找我們,希望轉到EOS上,因為EOS速度快、費用低,而且還會貼周報。
所以很多人都想轉過來,像Below-the-rador(電視制作公司)就在等今年六月上EOS,到時候他們就會公布一些消息。我們跟來的人都溝通過,他們都明白EOS是當前市場的唯一選擇。
問45:下一個問題有關IOTA。
兩周前,我們邀請IOTA的創(chuàng)始人David S?nsteb?;上周我們邀請Richard Heart,在一個問題上他們的觀點完全不同,就是IOTA項目是否能持續(xù)?
那你的觀點呢?你如何看待加密貨幣的概念?你對IOTA的看法如何?
BM:IOTA被它的UTXO模型綁住了手腳。
它可以被當成貨幣用,它仍然需要用POW廣播交易信息,但這只是“費用”的另外一個名字。誰如果用一些高性能設備就能用堵塞網(wǎng)絡,而這會提升別人做POW的難度。
他們稱此為物聯(lián)網(wǎng)(Internet of Things, IoT),但是我沒有看見實際上的物聯(lián)網(wǎng),因為所有這些東西都沒有帶寬(bandwidth)去處理或認證。
那么此時IOTA的Coordinator就會有問題。
譯者:中間這段沒聽明白,因為以前沒研究過,第45問下面的文字是硬著頭皮翻出來的,如有問題,請留言斧正,我們很期待。
這里有些問題,一個區(qū)塊鏈需要解決的首要問題是決定交易的順序,IOTA在這些數(shù)據(jù)包中,他們都能決定交易順序,但是第二個問題是如何評估這些交易,以獲得確定的狀態(tài)。
現(xiàn)在,如果你沒有合適的計算模型或引擎,你的吞吐量就會有天花板。
因為我能以每秒100萬次的速度完成所有以太坊的交易的排序,但并不意味著以太坊虛擬機有能力處理或獲取這種狀態(tài),因為獲取排序狀態(tài)的速度可能跟不上。
同時,這里有個延遲,只有排好序才能接著做下去。評估速度快也沒用,因為如果你不先排好序,你是沒辦法開始做評估交易的。
這就像如果我取出錢之后,在重新存入之前,我做了一個其他操作,而這個操作還得取決于這筆交易的處理能力。
所以說,像按照時間順序建立交易順序的哈希圖。當定好順序后,你必須有第二個階段,用于確立有效性,而有效性的確立非常占用計算資源。所以說,
They introduce latency without actually enhancing security.
他們弄出了點時間延遲,卻沒有增加實際的安全性。
EOS的DPOS相對有效一些:每500毫秒生產(chǎn)一個區(qū)塊,這樣就能有最小的時間延滯和用最快的速度達成交易順序的確定性。
當生成區(qū)塊時,我們已經(jīng)確定該區(qū)塊內的所有內容都是有效的。至少根據(jù)產(chǎn)那個塊的生產(chǎn)者,當其他所有生產(chǎn)者一見到那個區(qū)塊時,他們就馬上驗證這個塊,驗證后簽名確認這個塊。一旦擁有了三分之二以上的確認,這個過程可能只要一秒鐘。
所以,我們在一秒鐘之后就獲得了可逆性,一筆交易99%的可逆性可以在500毫秒內獲得。
IOTA在時間延遲上無法接近DPOS的水平。
而這個時滯又極其重要,說到區(qū)塊間的通信或分片(Sharding)時,如果你想要很多不同的區(qū)塊鏈,鏈與鏈之間的通信延滯時長越短越好。在前一條鏈搞定所有事情之前,另一條鏈是無法接收到任何交易信息的。
所有這些動作都是交織在一起完成的,所以說:
While they're interesting from a technological perspetive, they are not practical from an application perspepctive.
盡管從技術角度看它們很有趣,但從應用角度看并不實用。
問46:你提到了系統(tǒng)冗余和區(qū)塊間隔時間延滯的問題,那比特幣會由于某些原因而造成堵塞么?其中一個原因是信息要通過網(wǎng)絡傳播,比如說,你有兩個小的區(qū)塊時間間隔,區(qū)塊就會變老,這樣傳來的兩個區(qū)塊到底那個是正確的就有兩個不同的版本。
那EOS如何解決這個問題?
BM:With DPOS, there is only one person who can produce at any given time.
DPOS中,任何給定時間內只有一個區(qū)塊生產(chǎn)者。
想想比特幣的產(chǎn)塊過程:你有一個區(qū)塊生產(chǎn)者生產(chǎn),每10分鐘產(chǎn)一個塊。
如果你能提前知道誰可以產(chǎn)這個塊,他們就可以在這段時間內每500毫秒生產(chǎn)一個塊,而這個過程幾乎沒有遲滯。
對于時滯來說唯一重要的事就是從一個生產(chǎn)者傳遞給另一個生產(chǎn)者。
如果你實際需要傳遞的是500毫秒的交易信息總量,而不是10分鐘的交易信息量,這整個過程會更平順。
那么,如果你按照時間順序、循環(huán)著選擇區(qū)塊生產(chǎn)者,在傳輸過程之間,始終能控制得非常接近,這樣能縮短延滯時長。
所以,EOS中,我們設計了這個東西:以至于如果一個區(qū)塊生產(chǎn)者為全網(wǎng)壓低了故障停機時間,等價于在Steemit上錯過了一個塊。
這里有個6秒的間隙,沒有任何的更新。然后,更新重新開始。
在以太坊中,區(qū)塊生產(chǎn)者必須高度可靠(highly reliable),因為它是利益驅動的(politically motivated)。如果他們不是高度可靠,他們就會被投出局,然后系統(tǒng)應該非常穩(wěn)定、安全,即使它的確認時間延滯非常低。
問47:所以,你提到了生產(chǎn)者他們有一個做好工作的激勵因素,這樣他們就有激勵去買好設備去執(zhí)行。
但是難道沒有這樣一個問題么?使用者和權益持有者常常需要知道,當前生產(chǎn)者的狀態(tài) ,這樣就能時刻投票、時刻選出新的區(qū)塊生產(chǎn)者。因為普通人有他們的生活、他們有很多其他的事情要做。
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.
不需要每個人都專注于此。實際上,大多數(shù)人可以只是指定一臺代理服務器作為投票人,由這臺服務器負責做這件事。
根據(jù)所有的投票理論、甚至挖礦理論,大多數(shù)礦工并沒有動機時刻關注礦池。因為只要礦工拿到報酬,這些都算不是成本。
并沒有什么財務激勵驅使他們去檢查日復一日的礦池行為。因為礦池通過增加檢查工作量所獲得的邊際收益越來越少,于是邊際效用遞減(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.
當學習成本大于知識價值時,就會出現(xiàn)理性的無知者。
理性的無知者悖論適用于所有系統(tǒng),不管是POW還是POS。
但是,如果你把這種事交給代理服務器,這樣代理服務器就會有很多影響力。在這一瞬間,收益會向參與投票方轉移:
The benefit of voting is worth the cost of learning about what everyone is doing.
參與投票的收益會大于關注其他人所做之事的成本。
這就是為什么我們把生產(chǎn)者數(shù)量保持在一個相對小的水平上,否則這就只是在增加學習成本。
不僅如此,而且如果給系統(tǒng)設置了更多的生產(chǎn)者,那就得給更多的生產(chǎn)者支付酬勞,那這樣的話報酬總額就越高。
所以說,如果你想把20個左右的區(qū)塊生產(chǎn)者改成1000個,那就意味著你把實際費用抬高了50倍,或者說意味著更高的通貨膨脹。
你看,參與者人數(shù)增加50倍,網(wǎng)絡運營成本就跟著翻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.
所以,這就是用供給和需求邊際效用的經(jīng)濟學等式找到最佳點。
問48:這里有個叫寶弟(Paul.D)的觀眾問你對比特幣雙層解決方案(Layer 2 solutions)的看法,比如閃電網(wǎng)絡(Lighting Network)、解決費用的問題、當前系統(tǒng)延時的問題。
BM:雙層解決方案(Layer 2 solutions)要求連接的兩端同時在線,這迫使所有普通用戶都去使用“比特幣銀行”(Bitcoin banks),而非由用戶本人直接控制比特幣。
這種解決方案適用于某種特定類型的交易。
You could not implement a Steemiton a layer 2 protocal, because that's basically peer-to-peer transaction with only those two parties needed.
你無法在第二層協(xié)議上執(zhí)行Steemit,因為這只需要純粹的點對點交易。
但是,如果你有一個像面向大眾的交易所或社交媒體(那種用戶常常在那里看看投票結果的網(wǎng)站),那這是一個一對多的解決方案,但這種方案絕不可能運行在閃電網(wǎng)絡中。
但我想說,實際上一對多的應用比一對一的應用多。
問49:放眼未來,你能看到那種類型的商業(yè)應用會用到加密貨幣?現(xiàn)在已經(jīng)冒出一個“代幣經(jīng)濟”(Token economy)的概念了。
在未來商業(yè)中是否會出現(xiàn)一些商店會在區(qū)塊鏈上發(fā)行特定的Token?在未來的商業(yè)世界,你認為加密貨幣有什么用?
BM:Cryptocurrencies are just a new form of token, the new point of reward systems.
加密貨幣只是一種新型的Token形式,一種新型獎勵系統(tǒng)。
這會衍生出一系列實際應用,比如:航班里程、信用卡積分、簽到系統(tǒng)、債務融資工具、股票、債券等,那些數(shù)據(jù)庫里有數(shù)字的應用都可以做到區(qū)塊鏈上。
事實上,我相信每個多用戶系統(tǒng)都可以做到區(qū)塊鏈上。每個網(wǎng)站,不論是否是Facebook、Reddit或者IRS,都可以做到區(qū)塊鏈上。這樣,就會有更好的記錄、更高的效率、更多的安全,因為:
You decentralize the authentication.
You decentralize the anthentication.
你創(chuàng)造出了一條不可破壞的審計線索,你可以使得企業(yè)間的溝通就像區(qū)塊鏈之間的通信一樣有效。
雖然現(xiàn)在看上去還是有很多不足,但是,如果你有個可擴展行的解決方案,那基于區(qū)塊鏈的架構一定比傳統(tǒng)架構好。
EOS系統(tǒng)就是用來解決這些問題的,你甚至都不用持有Token,你沒有Token照樣可以配置、運行網(wǎng)絡,甚至可以被那些不想持有Token的企業(yè)使用。
在未來,Token會有無窮無盡的應用場景。
Everywhere we use units of account in any system today, will be used on blockchain in the future.
今天系統(tǒng)中用到計量單位的場景,未來都將用上區(qū)塊鏈技術。
問50:ERC-20 Token的注冊是如何做的?注冊過程是否完全不受你控制?
BM:注冊過程僅僅是將公鑰與你的以太坊地址配對,使得第三方可以配置區(qū)塊鏈,而這種配置可以不必運行以太坊虛擬機,也不必驗證賬戶的權限。
所以,這另一側發(fā)生的事情事我們完全無法掌控的。
我們只是為你設計了一個注冊流程,讓人們可以與EOS和以太坊的地址通信,而這個地址完全受控于私鑰。
Any blockchain that wants to recognize that private key can do whatever they want with that balance.
任何想識別私鑰的區(qū)塊鏈都能通過這種平衡來做任何他們想做的事情。
問51:在EOS上有沒有可能造出一臺像Golem那樣的超級計算機,或者在以太坊上可能造出來么?
BM:Anything you do on Ethereum, you could do on EOS without fees.
以太坊上能跑的任何程序,在EOS上都可以免費地執(zhí)行。
問52:為什么美國公民不能參與ICO?是否只有法律層面的原因,或者其他原因?
BM:最主要的原因是監(jiān)管上的不確定性,我們在這方面十分謹慎。
We don't believe the Tokens constitute a security or should be regulated.
我們不相信Tokens可以捏成一個證券,接受什么監(jiān)管。
但環(huán)境非常不確定,我們想保持謹慎的態(tài)度,這對所有人都有好處。
問53:下面是個關于開發(fā)者的問題。
從以太坊或以太經(jīng)典上遷移至EOS的最主要的激勵因素是什么?我們現(xiàn)在談談開發(fā)工具和類庫吧。
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.
任何有費用的應用程序不會有用,我還沒有看到過一個對用戶友好的以太坊應用程序。
所以說,只要你確定你的用戶規(guī)模在長期不會變得足夠大,那你就可以把應用建在以太坊上。
It'd basically be a dead end.
它基本上是死路一條。
問54:現(xiàn)在做EOS項目的有多少人?你們團隊有多少人?
BM:人數(shù)每周都會變。我們每周都會增加一些開發(fā)人員,我們正在招人,團隊規(guī)模也越來越大,辦公場地也已經(jīng)不夠用了。
問55:超過50人?超過100人?
BM:有次超過過50人,其中半數(shù)以上是開發(fā)者。
問56:今后你的路線圖是什么?在主網(wǎng)發(fā)布之前,你們的日程表上有些什么內容?
BM:到今年六月的目標是實現(xiàn)一個單線程(a single-threaded implementation),它每秒可以處理幾千筆交易,它充分體現(xiàn)我們所想要的基本功能。
設計時我們考慮了并行性,這意味著我們全力確保不排除使用并行算法來實現(xiàn)或處理事務的能力。
六月之后,我們講致力于創(chuàng)建優(yōu)化的并行執(zhí)行版本,這些版本可以增加網(wǎng)絡的容量,但不會導致硬分叉。
我們最大的目標就是設計這么一個系統(tǒng),它能在沒有硬分叉的情況下能進行擴展。
所以,從現(xiàn)在到六月要做的是就是確保這些特性完成并且能夠穩(wěn)定運行。
問57:如果我想開始在EOS上干活,我應該做些什么?是和你一起工作?還是用EOS技術開發(fā)一些小合約?你說說人們應該這么做吧?
BM:你可以訪問我們的網(wǎng)站eos.io,或者去看看我們的Github。
同時,我們在Telegram開發(fā)者群里有幾千人,這些人都會幫你,里面有很多游戲開發(fā)者,他們會告訴你如何在EOS上開發(fā)游戲。
所有這些人都可以為你提供正確的方向,我們正在為此類幫助提供更多幫助文檔和社區(qū)論壇。
你得知道這個軟件迭代速度會很快,所以那些幫助文檔也很容易被扔進垃圾桶。
但是社區(qū)卻足夠牛逼,社區(qū)會加快你的成長速度。如果你不會用C++,你完全可以自學。你沖上來就能用C++部署智能合約。
從今天開始到今年六月,我們都有足夠多的機會做一些小修補,另外我們會不斷增強我們的類庫。
從現(xiàn)在到6月底,你都可以在一些低級別的C API上試著編程。我們將擁有一個高級別的面向對象API,讓你的工作更加容易。
所以你要做的事就是投入進來,然后嘗試著做出一些東西,并且讓我們知道。如果你有任何問題,或者你搞不下去了,可以和我們溝通,我在六月之前都會對系統(tǒng)進行修補。
所以說,如果你想確保你的應用程序在6月之后運行,那現(xiàn)在就參與進來吧,讓我們知道你的需求,讓我們幫助你做好應用。
中間涉及6-7個技術性問題實在沒法聽懂,所以只能掛在墻上,琢磨清楚再和你分享。最后上兩個八卦:
問58:你自己投資加密貨幣么?你現(xiàn)在都持有一些什么幣?
BM:我雖然姓B,但是我沒幣。
以前有一小段時間屯過些比特幣,但后來就沒有了,我只有Bitshares和Steemit,沒有其他任何加密貨幣。
如果一種投資,技術上存在嚴重質疑,那我的手是投不下去的。
問59:你除了編程之外還有什么別的愛好?
過去這幾年里,加密貨幣的工作本身就是我的愛好。
但在那以前,我對可替代能源和獨立運轉的系統(tǒng)特別著迷,還有那些和尼古拉·特斯拉有關的事情,他做的事情我都喜歡,我也對科學和能源的潛力非常期待。
-
編程
+關注
關注
88文章
3637瀏覽量
93908 -
Mac
+關注
關注
0文章
1109瀏覽量
51608 -
無人汽車
+關注
關注
0文章
19瀏覽量
12680
發(fā)布評論請先 登錄
相關推薦
評論