買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > XRP > Info

BLO:BM:為什么區塊鏈是更好的應用服務器/數據庫架構?_EOS Crash

Author:

Time:1900/1/1 0:00:00

(夜晚,梵高)

前言:傳統web應用架構存在安全性問題,為了確保更高程度的安全,企業耗費巨資,不過依然無法從根本上解決問題。而本文作者Daniel Larimer(也就是眾所周知的EOS的BM)則認為要解決這個問題,需要采用區塊鏈的架構來確保數據庫和用戶賬戶的安全,可以防止未經授權的訪問和防篡改,同時可以為采用區塊鏈技術的企業節省費用。BM認為區塊鏈是更好的應用服務器/數據庫架構,未來會成為很多企業的必備技術,這會是超級大的潛在市場嗎?大家如何看?本文由藍狐筆記的社群“DoTi”翻譯。

傳統的web應用基礎架構在設計時考慮了安全性,并且二十五年來,公司一直在試圖修補根本上存在不安全的體系架構。該架構設計的假設是服務器可以被信任和保護,但多年的經驗告訴我們,沒有服務器可以免受外部攻擊,更不用說內部的危險了。換言之,服務器從根本上是中心化的。

我們曾經把“安全問題”歸結為用戶和服務器之間的連接,因此,我們引入了SSL和HTTPS。但是,后來我們發現,黑客會破壞數據庫并竊取密碼。因此,我們開始存儲密碼的哈希值,但接下來我們又發現,在竊取哈希值后,黑客可以使用暴力破解密碼。隨后,我們引入密碼輪換,這樣在黑客進行暴力破解時,密碼會發生更改。如此這般的攻防,不斷上演。(藍狐筆記:SSL是為網絡通信提供安全的協議,SSL協議位于TCP/IP協議和應用層協議之間,對網絡連接進行加密。而HTTPS則是在HTTP的基礎上加入SSL。)

BM:EOS可像銀行擴展金銀一樣擴展比特幣:今日,針對網友提出的“如果BTC存在根本缺陷,這是否可使用EOS以某種方式擴展BTC?”一問,EOS創始人BM(Daniel Larimer)回答:“EOS與BTC和ETH一樣,在邏輯上是中心化的。它可以像銀行擴展黃金和白銀一樣擴展比特幣。”[2021/1/4 16:21:30]

企業花費數十億美元,試圖保護其服務器和數據庫,盡管付出這些努力,但依然沒有簡單方法來審計系統,且能確保企業按他們的意愿運行。

Block.one正在構建區塊鏈軟件以確保數據庫和用戶賬戶的安全,防止未經授權的訪問和未經說明的修改。使用區塊鏈時,用戶采用高度安全的私鑰,這些私鑰存儲在安全硬件,且私鑰用于簽名每個用戶交互,而不是簡單驗證與服務器的連接。(藍狐筆記:Block.one是開發EOSIO軟件的公司)

區塊鏈創建不可篡改的日志,它構建絕對和確定性的順序,接收用戶輸入,而智能合約提供確定性的商業邏輯,以確保所有系統的一致性。

未來的Block.one正在創建消除密碼和昂貴審計的方法,可為公司節省數十億美元,防止身份被竊取,并為所有人提供更高的可靠性和審計能力。我多年來堅定地認為,每個多用戶網站都可以因為采用區塊鏈后端而受益。與流行觀點相反,區塊鏈并不一定是緩慢的低效的數據庫,也不必一定在抗審查和開放訪問的基礎上運行。

即使區塊鏈完全由公司本身運營,且區塊鏈的所有內容都不公開,區塊鏈也能為公司在安全、審計能力、透明度以及業務流程完整性上提供巨大改進。本文旨在闡明區塊鏈在企業環境中的真正價值,并為區塊鏈行業指明前進方向。

BM:DPOS是基于簡單原則的社區決策 其他去中心化系統缺乏正式決策過程:EOS創始人Daniel Larimer(BM)今日發推表示,DPOS是基于簡單原則和設施的社區決策。其他去中心化系統缺乏正式的決策過程,但它們仍然通過未定義的流程“做出分叉決策”,這些流程主要由代幣持有者以外的人控制。更糟糕的是,當你因為現狀不佳而急需做出決定時,卻無法做出決定。[2020/3/8]

常見的誤解

在區塊鏈行業中,很多人的看法是,只有當區塊鏈將彼此不信任的各方連接起來時,區塊鏈才能帶來好處。他們認為,傳統數據庫技術已經可以完成確保業務完整性所需的一切。換句話說,他們認為有了傳統的數據庫復制和“數據完整性”保證就已經足夠。在此過程中,他們要么忽略要么不了解區塊鏈提供的根本不同的安全性和完整性保證:

對全球時間順序的承諾

業務邏輯的確定性執行

業務邏輯&數據完整性的緊耦合

在傳統的業務應用架構中,業務邏輯跟數據庫是分離的。通常有應用服務器,例如Node.js或J2EE,其提供了修改數據庫的密碼。Node.js服務器的作用是通過密碼或多因素身份驗證機制來實現對用戶的驗證。一旦應用服務器進行用戶身份驗證,它將發起會話令牌,該會話令牌用于驗證未來的用戶交互,直至會話超時或會話(如IP)的某些元素發生改變為止。

很顯然,這種傳統的設計通過由應用服務器管理的單個登錄名/密碼來執行所有數據庫操作。應用服務器負責用最終的終端使用來執行其自身的身份驗證方案。同樣,也很顯然,通常有多方可以訪問用戶名和密碼。數據庫管理員可以對多個不同的應用服務器和/或個人分配和撤銷憑證。

聲音 | BM:要創造一個“不能作惡”的系統,而非“不去作惡”:Block.one首席技術官Daniel Larimer(BM)在談及其2020年愿景時表示,他的主要關注點是誠信,區塊鏈的內在特質有助于通過設計來創造誠信。BM稱:“我們希望與生態系統中的每一個人合作,推動有利于社會誠信的技術發展。我們要創造一個我們‘不能作惡’的系統,而非‘不去作惡’。在加密貨幣領域有很多部落主義。但說到底,如果區塊鏈贏了,我們都贏了。”[2020/1/2]

先進的系統確保,在水平擴展的系統中每個應用服務器都有其自己的用戶名/密碼,且在某些情況下,它甚至可以使用公鑰基礎設施(PKI)和硬件安全模塊(HSM)。

然而,即使在這里,數據庫也僅對與應用服務器的連接進行驗證。為了提供審核日志,它必須記錄安全連接的整個數據流。然而,即使這個日志僅記錄應用服務器請求的“讀取和寫入”,該應用服務器已經丟失關于原始用戶意圖的所有信息。

審查這種系統的審核員無法知道應用服務器(如Node.js)是否遵循了正確的業務邏輯且正確驗證了終端用戶。Node.js進程可以將用戶操作“記錄”到數據庫中,便于審核員可以嘗試重現相同的計算,但這種記錄本身并非不可篡改,且并不附帶獨立可驗證的身份驗證,無法驗證最終用戶是否實際上授權了其記錄的操作。

可以嘗試記錄每個用戶的連接,但由于用戶經常通過這樣的連接傳輸密碼,因此,這些記錄最終會創建可能會導致泄露用戶身份憑證的蜜罐。(藍狐筆記:蜜罐意為黑客喜歡攻擊的豐盛之地)更負責的系統可能會對這些日志進行加密,以便只有審核員才能讀取。

聲音 | BM:我們新的CPU機制不依賴于出借CPU給REX的人:昨日,有人在推特上向 BB 和 BM 提問:當持有者可以通過 Defi 獲得 8% 收益時,他們為什么要把 EOS 存在 REX 中。BM 回復稱:我們新的 CPU 機制將不依賴于出借 CPU 給 REX 的人。

結合 Block.one 近期對代碼的更新,有成員猜測未來的 CPU 機制可能會變成:CPU 和 NET 由系統擁有(不再屬于 EOS 持有者),當需要 CPU 或 NET 時,可以從系統中租用它。EOS 不再必須借給 REX。但這實際上不會導致 REX 消失,租賃費是付給 REX 的,正確嗎?

BM 對此回復稱:是的,這或多或少是準確的。(MEET.ONE)[2019/12/17]

假設審核日志沒有被篡改,審核員必須通過應用邏輯跑出相同的操作序列,以驗證結果數據庫狀態是否匹配。這意味著應用服務器必須以確定性的方式來實現。

確定性計算是不容易的

盡管寫確定性代碼看起來“容易”,實際上,所有通用計算機語言都是非確定性的,因為它們允許開發者訪問存在數據庫中的外部數據。這可能是一些簡單的數據,如時間戳、內存地址、環境變量、IP地址、或其他更微妙的數據,例如硬件上的浮點行為或哈希表的插入順序。

在很多情況下,只是簡單地訪問長時間運行的應用服務器的內存中的變量就足以引入不確定性。啟動/停止應用服務器的實際操作必須被記錄和重現,否則在重放過程中每個本地內存訪問都可能是非確定性的。

事實真相是,對于在通用陷阱中受過訓練并積極尋找非確定性的最佳開發者來說,編寫確定性的代碼是具有挑戰性的。典型的商業應用開發者會發現以確定性方式編寫代碼很難或不切實際。

聲音 | BM:EOSIO的目標是成為最快、最通用的應用程序數據庫:Block.one CTO BM近日參加弗吉尼亞理工大學舉辦的 2019 Blocksburg 峰會時,在回答“單條 EOSIO鏈可以支持1-2千萬用戶嗎? 還是說需要多鏈解決方案?”這一問題時表示。單條鏈也是可以實現這個目標的,且和私有鏈和具體的架構有關。如果你唯一要做的是按照事件順序進行,如果你沒有運行任何智能合約,那么在只有處理交易的情況下,就可以在單鏈狀態下每秒完成20000個這樣的交易。而多鏈世界里,一家企業擁有許多不同的區塊鏈與性能分配。每一條區塊鏈并不需要為某個特定的應用而生,例如金融系統中,如果區塊鏈之間彼此互信,那么資金就可以在不同區塊鏈間轉賬。我對EOSIO的期待是成為最快的,最通用的應用程序數據庫,這樣一來和mySQL這類的傳統數據庫相比,你會更加想要使用EOSIO,因為你只需要使用相應的API接口即可訪問數據。(MEET.ONE)[2019/11/18]

如果我們走得更遠,并且假設應用代碼是確定性的,那么,應用忠實記錄用戶事件,我們依然還要面臨跟蹤在任何特定時間部署的代碼版本的挑戰。應用是動態的且頻繁更新的,因此,應用代碼自身也必須是數據庫狀態的一部分,且其更新必須跟用戶操作一樣以同等的安全性和可審計進行管理和記錄。之后,審核員需要所有應用服務器代碼的版本的拷貝,并需要根據每個版本的升級重放用戶輸入(并在過去每次重啟時重啟代碼)。

即使單個應用服務器在其實現和部署方面都能夠以確定性的方式運行,它仍然會面臨重大的可擴展性問題。應用服務器僅有一個實例能運行在數據庫上。通過復雜鎖來實現并行訪問,但即便是鎖上的競爭條件也必須被記錄和重現,否則具有不同本地變量的應用邏輯的兩個實例可能會產生非確定性的輸出。

在這一點上,人們可能會試圖完全拋棄確定性,但是,如果缺乏確定性,那么些許的差異就會隨時間推移而加劇,并最終導致數據集產生巨大差異。審核員將被迫使用模糊邏輯和近似匹配,并且每個人將不得不相信這個“模糊邏輯”足夠好。當然,否定編寫和部署確定性代碼的所有努力的唯一方法是,數據庫管理員直接修改代碼且神不知鬼不覺。

在某些情況下,用戶輸入日志和狀態的仔細更新可能會創建出兩個不同的數據庫狀態,每個都通過確定性測試,然而仍具有不同且不可調和的輸出。

例如,假設教授將一位學生的分數F提交到系統,然后該學生通過黑客入侵或賄賂方式進入數據庫,并更改其成績以及教授提交的日志。

更換密碼

任何關心完整性的多用戶系統的最終目標是確保用戶輸入不會被偽造。用戶名/密碼的使用,甚至其他多因素身份驗證(如SMS或谷歌雙重驗證)的使用都依賴于服務器得出這種結論:密碼匹配或輸入了正確的SMS碼/郵件鏈接/雙重驗證碼。很顯然,這對于系統的完整性來說是巨大的問題,我會提供一個真實案例,來說明這些系統的嚴重程度。

2016年,我在一個加密交易所的賬戶被黑客入侵,它允許黑客竊取數萬美元價值的比特幣。從我的視角,這種黑客行為先是顯示有一封“密碼重置”的電子郵件發送到我的電子郵箱,然后另外一封郵件顯示密碼已被成功重置。隨后,收到一封郵件,要求確認提取比特幣(附有代碼/鏈接)。最后,收到通知說提現已經完成。

乍一看,似乎是電子郵件被黑客入侵,但考慮到我在電子郵件中采用了多重因素登錄,不太不可能被入侵。快速瀏覽我的電子郵件安全頁面顯示,并沒有未經授權的訪問。我知道是因為谷歌記錄并顯示了所有訪問我電子郵件的IP/設備。

而這其中發生的事情是,攻擊者在郵件抵達我的郵箱之前截獲了交易所發送的郵件。應用服務器無法知道郵件已被攔截,因此只是基于攻擊者擁有應用服務器生成的一次性代碼,實現密碼重置和提現的授權。

針對SMS或其他任何依賴于非用戶控制私鑰的技術,都可能被相同方法利用。歸根結底,保障用戶賬戶安全的唯一方法是讓所有用戶都采用基于硬件的私鑰作為其登錄憑證,并且結合穩健且耗時的過程,以在硬件密鑰丟失時便于安全的重置。

在這一點上,多用戶業務應用現在可以使用用戶私鑰簽名每個用戶請求,將該簽名的請求記錄在數據庫中,并使用確定性代碼進行處理。即使這樣,也沒有提供人們期望的完整性,因為整個用戶請求依然可以被刪除也有副作用。想象一下,破解警察數據庫并刪除由警察在提交用戶票證時簽署的請求。

說到此處,精明的工程師會聲稱,每個我提出的問題都可以通過改變程序邏輯來解決。他說得沒錯,經驗豐富的應用開發者可以使用“傳統數據庫”、“傳統應用服務器”以及“通用加密原語”,并構建相對安全和可審計的系統。基于同樣的邏輯,精明的工程師可以聲稱數據庫是完全不必要的,相反,所有內容都應該直接構建在文件系統上。

而其他工程師可能會指出,可以通過從頭開始編寫所有代碼來提升性能,而不是依賴于諸如Node.js和J2EE這樣的應用服務器框架。幾乎所有東西都是由較低層級的技術構建的,我們不妨為實現最佳性能設計晶體管。(藍狐筆記:此處意為這些解決方案的成本極高)

我提出這一極端建議,是因為它突出了更高層級框架在加速和確保新應用開發安全方面的真正作用。很少有人編寫自己的密碼學庫或算法,而真正編寫的人要么是專家,要么是當系統被黑客入侵時充當警戒尾巴。從頭開始開發/重構一切會導致每個應用比基于成熟框架構建的應用成本更高。

區塊鏈應用程序/數據庫服務器的好處

諸如EOSIO這樣的區塊鏈和開發框架之所以存在,是為了將應用開發者從不得不重新發明“數據庫”以構建安全應用中解放出來。安全性和確定性很難,這就是為什么將技術構建在抽象細節的層上的原因。

EOSIO在同一進程中將確定性執行環境(WebAssembly)和快速數據庫結合起來。所有用戶操作均由其私鑰簽名,并記錄在復制的分布式的數據庫中,且具有向區塊頭做出公開承諾的能力。

像EOSIO這樣的框架達成傳統系統這般強大和易于開發,只是時間的問題。通過將應用邏輯(Web Assembly)放在與內存數據庫相同的處理空間中,EOSIO的體系結構在很多方面已經比傳統系統性能更高。

在未來幾年中,Block.one旨在添加工具和界面,以使得在區塊鏈上部署業務應用跟在傳統業務應用架構上部署應用一樣容易(或更容易)。

顯而易見,區塊鏈技術的采用將會是有責任防止欺詐和進行財務報告的政府機構、上市公司和企業的優先事項。我的看法是,未來不采用區塊鏈技術就像是現在的銀行不采用SSL技術一樣,一旦區塊鏈技術廣泛可用,不采用區塊鏈技術就可能被認為是過失。

今天到了該采取行動的時候了。如果沒有對當今應用構建方式的根本改變,業務和用戶是不安全的。每耽擱一天,業務面臨可能有被欺詐和被黑客入侵的風險。

------

風險警示:藍狐筆記所有文章都不能作為投資建議或推薦,投資有風險,投資應該考慮個人風險承受能力,建議對項目進行深入考察,慎重做好自己的投資決策。

Tags:區塊鏈EOSONEBLO區塊鏈dapp開發EOS CrashTeh Golden OneBLOKPAD

XRP
TCP:從“互聯網標準之爭”看數字貨幣的路線選擇_比特幣實時行情分析

自比特幣于2008年誕生已來,在略超10年的時間里,數字貨幣快速滲透到人們的日常交流中。2019年6月,Facebook推出數字貨幣Libra項目的白皮書,計劃于2020年6月正式落地.

1900/1/1 0:00:00
OKB:晚間必讀七篇 | 宿命與輪回:比特幣的減產時刻_Hidigital btc

1.OKEx宣布銷毀尚未發行的7億OKB 如此大動作背后有何深意?據OKEx數據顯示,OKB持續拉升,突破5 USDT關口,24小時漲超25%.

1900/1/1 0:00:00
加密貨幣:大型“真香”現場?盤點對央行數字貨幣態度翻轉的國家_CBD Coin

原題目《"打臉"太快,只是因為央行數字貨幣"真香"?》央行數字貨幣的“魔力”到底是什么?為什么許多國家前腳剛說不會發行,后腳便成立專項研究項目組?又是為什么有許多國家.

1900/1/1 0:00:00
NBS:火幣升級VIP權益 或啟動800萬HT潛在買盤?_USD

火幣升級VIP權益,或啟動800萬HT潛在買盤?2月13日,火幣全球站發布《Huobi用戶等級規則與VIP權益升級公告》,宣布升級用戶等級規則與VIP權益.

1900/1/1 0:00:00
區塊鏈:金色觀察 | 疫情下的比特幣挖礦產業_比特幣

疫情當前,綜觀整個區塊鏈產業,交易所、各大項目方、媒體等都可以實現分布式辦公,但是作為區塊鏈行業最具“實體”屬性的礦業,是否會受影響?江卓爾在2月4日晚發布微博說:我這有個偏遠郊區的礦場.

1900/1/1 0:00:00
COIN:Coinbase 前產品和法務負責人:個人代幣將催生互聯網原生個體經濟_COI

對多數人而言,唯一可以信賴的掙錢途徑是出賣時間,通常表現為通過上班拿到薪酬。現在,加密經濟有望對普通人將時間換成錢的方式實現革命性顛覆.

1900/1/1 0:00:00
ads