點擊鏈接查看EOS創始人Daniel Larimer演講視頻:
視頻翻譯:PANews
1月31日EOS創始人Daniel Larimer參加了由Government Blockchain Association(GBA)在美國國會大廈舉行的主題會議,與會過程中發表了《貨幣、治理和法律的未來》主題演講。 GBA政府區塊鏈協會的願景希望在世界範圍將政府組織及各行各業進行聯結,以期有效、合理地推進區塊鏈技術應用。
本次主題會議由國會議員Darren Soto主持,主講嘉賓為DFJ創始合夥人Timothy Draper、Block.one CTO Daniel Larimer(BM)、區塊鏈技術創始人之一Scott Stornetta(中本聰所著比特幣白皮書曾三次引用其作品),與會人員包括國會代表Bill Rockwood、內閣成員Elizabeth Tanner、克羅地亞共和國稅務局財政部稅務風險分析主管Ksenija Cipek、紐約州議會議員Ron Kim、美國商品期貨交易委員會(CFTC)分佈式賬本技術主席Shawnna Hoffman、IMPACT數字經濟研究所所長Mihaela Ulieru等。 PANews為大家翻譯了Daniel Larimer部分演講內容。
Daniel Larimer部分演講稿翻譯:
區塊鏈似乎是當今最熱門的話題,我認為這是一個十分具有爭議性的話題,人們有很多不同的角度去解釋它到底是什麼,以及它的優點和缺點有哪些。今天,我想要告訴大家的是,區塊鍊是一種通用的技術,它從根本上改變著我們每一項業務的方方面面,我將向你們展示我們一直依賴的基礎設施,是如何被區塊鏈徹底變革的,以及我們為何需要區塊鏈。
在過去的二十五年裡,我們一直設計帶有服務器的系統,安全問題往往在事後才會考慮。我們為服務器添加密碼,也添加ssl,以防止人們在與服務器通信時獲得密碼,我們發現有人會入侵服務器並將密碼從數據庫中取出,因此,我們開始對密碼進行散裂化以還原數據庫,但這樣操作效果並不明顯,所以我們總是需要不斷更換密碼。
當有人進行暴力破解時,被入侵的數據庫密碼被修改,在黑客攻擊後我們不斷修復,試圖封堵最初的安全漏洞。
讓我們思考一下如今的系統應該如何設計,我們假設服務器是安全的,我們構建了一個web應用程序,web應用程序通常分為兩部分,首先你想好應用程序的邏輯,你是用PHP,還是用JS,或是java。然後你需要有一個數據庫,不管是你的Oracle,或是你的SQL之類的,應用服務器將與數據庫互聯,並使用密碼登錄,所有對數據庫的更改操作,都需要使用服務器的密碼。緊接著,用戶與應用程序服務器交互,向應用服務器提供憑證,應用程序開始與數據庫交互,但是並不一定匹配,如果是樣它對所有的改變都適用,服務器系統中沒有任何跟踪能力。
在任何時候,管理員都能修改數據庫,即便這個管理員是可信任的,那應用程序邏輯在那裡運行什麼代碼?這些代碼是否有備份?這些龐大的系統接收著所有用戶的信息輸入,我們無法複製和驗證它的合法性,這些問題給世界各地的企業帶來了巨大的安全隱患,數十億美金被用於解決這些問題,但始終不奏效,而區塊鏈正是解決方案。
但問題所在是,很多人認為區塊鏈的可擴展性不夠,使用起來太困難,或區塊鏈限制了他們應用的發展。不過,我還是想消除區塊鏈無所不能的神話,因為我相信如果你運營過多用戶網站或服務,無論是私人的還是公共的,需要基於區塊鏈建立,需要以硬件基礎秘鑰體系代替密碼,這就是未來。因此,我們不需要四處尋找區塊鏈到底能應用在哪裡,你所要做的問問你自己,你有數據庫嗎?你有超過一個用戶麼?如果是,你可能就需要區塊鏈。
許多關注區塊鏈的人認為這項技術對政府和企業是無價的,因為它們並不信任對方,但我今天想說的是區塊鏈的價值一直存在,即使它由一家獨立公司運營,即使它私屬於這家公司,它始終能提供價值。
讓我們來聊聊這些,如你們所知,區塊鏈不僅僅是一套代幣系統,也不僅是一套治理體系,在不同的用戶社區之間隨波逐流,它在你的業務中也是非常有用的。但你試圖構建一套傳統的數據庫應用程序時,有一種觀點認為區塊鏈不具備較強的可擴展性。
我退一步來講幾個例子,某次,當我登錄交易所,在進行交易時,我的賬戶被黑了,在某日清晨,我收到了一封電子郵件,這封郵件內說我的密碼正被修改,這很奇怪,因為我並沒有這麼做,但當我接到下一封電子郵件時,我的密碼已經被修改了,我想這可不是一個好兆頭,大約30秒後,我收到了另一封電子郵件,上面寫著有人試圖將我所有的比特幣從交易所賬戶提現,緊接著,又來了一封郵件,上面寫著已經成功授權賬戶內所有比特幣轉出,我的財產被盜了,損失了大約8萬美元的比特幣,這些幣原本存放在交易所中。
這件事是如何發生的?一開始,我認為我的電子郵件帳戶被黑了,我登錄谷歌,但谷歌顯示登錄電子郵箱的IP地址都是已知被記錄的。我的郵件到底是怎麼被黑的?或者我在交易所裡的資金是如何被盜的?事實證明,是交易所本身遭到了黑客攻擊,並非我的郵件被黑了,他們監聽了交易所發來的郵件,所以當交易所生成郵件發給我時,他們把驗證碼取出,然後再寄回去,當他們給我發短信的時候,他們把它從交易所數據庫中拿出來,再放回去,然後我的幣就丟了。幸運地是,交易所承認了這是他們的過失,因為我的電子郵件創建了多因素身份保護,他們承認錯誤並作出賠償方案。但是,當每個企業試圖對用戶進行身份驗證時,都會遇到相同的問題,當你試圖驗證你的用戶時,你希望確認這些授權是正規的。
想像一下你的不受控的推特賬戶,而正巧你是一名高管,忽然間,它自己發了一條推文,而推文的內容可能令市場走向非法。如果你是一家上市公司,你不能公開一些確定性事件,誰該受到責備?是發布信息的用戶麼?是不是推特內部有人黑進了數據庫並篡改了記錄?這就是我們依賴用密碼系統驗證身份總會遇到的問題,甚至使用多因素身份驗證系統時,無論是短信驗證、谷歌驗證或是任何我們如今開發出的驗證工具,都存在的問題是我們沒有不可篡改、可追踪的審計日誌,它包含每個用戶已簽名、已驗證的信息。當今現實中每套系統,你都可以將其想像成一張白紙人們在上面簽名授權,做各種各樣的事。給出一組符號語句按照它們接收與處理順序,結合確定性的業務邏輯,我們可以達成某些共識,我們可以預測什麼即將發生,什麼事不會發生。
區塊鏈的強大之處在於它將共識、確定性執行和可獨立驗證的簽名消息結合在一起,這些技術共同提供了我們需要的安全性,這種安全性確實存在,無論它是由單獨公司運營的區塊鏈系統,或是由多家公司共同運營的去中心化系統,無論是私鍊或是公開了哈希數據的鏈。
如果你有一套區塊鏈系統,記錄了每個用戶的操作信息,並且這些信息進行了簽名,你可以向任何人證明“誰在什麼時候做了這些”,現在你可以就應該發生的結果達成一致。
如果你想達到上述目標卻不通過區塊鏈系統呢?因為有很多人提出過觀點,因為有很多人提出過觀點稱“ 我們不需要區塊鏈”“ 我可以用傳統數據庫來達到這個目的”你當然可以使用傳統數據庫,你無時不刻不在登錄你的谷歌賬戶這難道不安全麼?真實情況是我們現有的所有技術,它們都驗證了與應用服務器的連接,但卻沒有提供可供審計的追溯體系,不然任何人都可以在事後證明你曾經對其授權,就像在俱樂部驗證你的身份信息時,對方表示“好了,你可以進去辦事了”,但沒人能證明事後發生了什麼。
就像你要去銀行,銀行櫃員要驗證你的身份,你說我想把一些錢從某個賬戶轉別的賬戶,櫃員在電腦中開會輸入信息來轉移資金,他們在系統中核實你的身份記錄。現在情況變得更糟了,因為銀行櫃員實際上並不只是轉移錢財,他們轉身去和佛羅里達的系統交互,也就是系統數據庫“嘿,數據庫”,將這個賬戶的餘額轉移到另外一個賬戶的餘額,即使你把你所有已知信息都記錄在數據庫裡,它只是跟踪讀取和寫入,並沒有跟踪系統中用戶的意圖,兩者間存在巨大差別。如果你試圖不通過區塊鏈創建一個系統,而你又想要可追溯性和可審計性,你需要使用確定性的代碼,這樣的代碼十分難以編寫,但這卻是區塊鏈開發者所擅長的。
但是,構建您的Web應用程序的傳統開發人員並不是這方面的專家,確定性代碼非常非常容易出錯。確定性代碼的目的是如果你使用相同的輸入,你會得到同樣的輸出,如果你的代碼是非確定性的,你將得到兩種不同的釋義,在一個數據庫中是顯示了我的賬戶餘額,另外的地方,我的賬戶餘額又不一樣了,有時候即使是微小的差異也會使許多行為變得非常不同,特別是當你在處理金融系統時,或交易所繫統等等,因此,編寫確定性代碼實際上是共識形成的核心部分。
共識由兩部分組成,首先是就事情的發生順序達成一致,然後就規則達成一致接著我們將使用這些規則來推導狀態。在某些情況下,這就是你的餘額,在其他情況下,如你在社交媒體上的花費,你又賺取了多少積分,又可能是一場拍賣會,看誰是第一個出價,也可能是你的學校、你的成績、你的榮譽證書,以及你的身份信息,所有這些東西都是根據人們提交數據的順序推導出來的,確定性代碼是至關重要的。但是如果你嘗試在現有框架內編寫確定性代碼,如果你要使用React 、Node.js或者java,開發人員允許他們的代碼接入任何信息,內存地址,隨機數,或是任何不是來自數據庫本身的東西,都會造成非確定性。
你無法根據用戶輸入重現計算結果從而得出一個可追踪的數據庫狀態,以提高審計能力,來自我驗證你的業務正按預期進行,因為我們所要做的,我們有業務,我們曾決定要以某種方式推進工作,現在我們要證明自己確實是按計劃進行的。然後,消耗了數十億美元後,我們明確知道這些錢在哪裡如何消耗了,當出現bug或某些東西不能正常運行時,你想找到原因,想復現出錯場景,如果你沒有記錄誰在何時說了什麼,你無法解決這些問題。數據庫出錯了,你手上的事情一團糟。
雖然你可能有擁有真正優秀的開發人員,來實現真正安全的數據庫解決方案,加密你所有密碼,加密你所有的鏈接,使你的業務邏輯具備確定性,記錄所有用戶的日誌,做了區塊鏈所有的事情,但這並不是區塊鏈。以種方式構建應用程序將會非常昂貴,我們Block.one開發的EOSIO軟件,使任何人都可以很容易地在數據庫上構建Web應用程序,而數據庫的執行效率很高,並且以確定性的方式運行,也會生成可追踪的審計信息,每個用戶操作都由私鑰簽名,這是一個“無密碼”的未來場景,也使終端用戶的操作更加簡單。
如果你的系統處理密碼問題,這件事本身就是有問題的,你已經走在了錯誤的方向。從第一個WEB應用程序開始,我們就在做密碼處理。這不是一個區塊鍊是否適用於我所處行業的問題,如果你有數據庫並且你有多個用戶,區塊鏈系統是100%有必要的,區塊鏈的可擴展性並不是問題,因為區塊鏈一定會增加可擴展性。如果你試圖繞過區塊鏈來得到區塊鏈的優勢,你需要做大量的工作,就像你要求開發人員重新開發自己的一套密碼系統,重新研發多因素身份驗證系統,重新開發一套加密體系,你不會樣做,因為裡面有大量的不必要工作,並且十分容易出錯。
我們要做的是使用區塊鏈,這樣做十分迅速, 樣你就能獲得區塊鏈的優勢,樣你就能獲得具備追踪能力的好處,即追踪能力,可審計性和易用性以及去中心化,如果你想得到這些,你不必重複造輪子,而且可以保護你係統的安全。
這是一項非常基礎的技術,如果這不是的話,在你將自己的系統轉移至區塊鏈的時候,當區塊鏈成為最佳解決方案時,這將成為一個大問題。
我在我看來,在未來如果企業的系統不採用區塊鏈技術,就像託管銀行不採用SSL協議而要在數據庫中直接輸入密碼一樣,將成為一種疏忽,一旦有了這種技術,而且我知道技術就在那裡,因為使用EOSIO系統,我們每秒鐘可以將成千上萬的用戶操作信息,我們已經準備好了開發環境,因此,不久你就可以構建和部署後端使用區塊鏈系統的大型數據庫服務,來創建WEB應用及移動端應用,比你現在所用的技術更快、成本更低。這是為何我認為這項技術正蓬勃發展的原因,也是為何我認為區塊鏈對於每一個關心其商業模式完整性的企業都是至關重要的,以及對自身行為負責。
區塊鏈還有其他特點,它可以讓你的企業更有效地與其他企業進行交互,如果你的企業給出了鏈上數據哈希,你就可以向其他企業進行證明,這就是我們所說的區塊鏈內部通信,當我能證明一筆交易是由我的公司簽署的,你就可以在你的公司裡使用它。還有一些簡單的事情,比如你想要證明自己具備某個學位,你需要去大學的官網上,然後把你的成績單副本寄給你的雇主,但是有了區塊鏈,我只需要提交鏈上記錄,就能證明我的學位,他們可以對記錄進行驗證,所以區塊鏈的基本功能可以用於,改善我們的投票系統,在財務上能改善會計系統及人力資源系統。我們今天使用的每個數據庫都可以從區塊鏈中受益,即使這些數據庫是完全私密的,也能從區塊鏈中受益。由公司內部或跨公司單部門或多部門協同管理,甚至採取完全公開或分佈式的結構,區塊鏈對其仍然能產生益處。