寫在前面:本文作者為EOS創始人DanielLarimer。他在文章中分析了傳統互聯網中的數據庫等基礎架構和設計的缺陷并指出區塊鏈是最好的解決方案:諸如EOSIO之類的區塊鏈開放式框架使得開發者無需為了構建安全的應用程序而重新創建“數據庫”,因為所有用戶使用私鑰對自己的行為簽名,可追溯和查證。未來B1的一個目標是添加工具和接口,促使在區塊鏈上部署業務的過程和傳統互聯網上部署業務相似。
傳統的網頁應用程序基礎結構在設計時將安全性作為事后考慮事項,在過去的25年中,許多公司一直在試圖修補一個根本不安全的架構。這種架構在設計時就預設服務器是可以被信任和保護的,但是多年的經驗告訴我們,沒有服務器是安全的,更不用說內部的攻擊了。換句話說,服務器基本上是中心化的。
我們過去認為“問題”在于用戶和服務器之間的連接,因此我們引入了SSL和HTTPS。但后來我們發現,黑客會破壞數據庫并竊取密碼。所以我們開始存儲密碼的哈希值,但后來我們發現黑客會在盜取哈希值后強行破解密碼。然后,我們引入了密碼切換機制,以便在暴力破解時更改密碼,諸如此類的措施還有很多。
為了保護服務器和數據庫,企業需要花費數十億美元,盡管付出了所有努力,但仍然沒有簡單的方法來審查系統并確保企業按預期運行。
聲音 | BM:EOSIO將縮短LIB時間,顯著提升EOS帶寬:有社區成員在推特表示希望 EOSIO 能將 LIB 時間縮短至 3 秒,這會大大提升用戶體驗,對此 BM 回復到:我們正在為商業鏈開發中,這將會實現。對于 EOS 而言,它將顯著提升帶寬速度,我們在考慮各種方案。出于所有實用性目的,一個塊將可以在 6 秒或 1 個 conf 后被同等生產者所依賴。 (MEET.ONE)[2020/1/15]
Block.one正在構建區塊鏈軟件,以保持數據庫和用戶賬戶的安全,防止未經授權的訪問和未予解釋的修改。有了區塊鏈,用戶可以使用高度安全的私鑰,這些密鑰存儲在安全的硬件中,用于對每個用戶交互進行簽名,而不是簡單地進行服務器連接的身份驗證。區塊鏈創建了一個不可更改的記錄,建立了接收用戶輸入的絕對和確定性的順序,而智能合約提供了確定性的業務邏輯,確保了所有系統之間的一致性。
未來的Block.one正在消除密碼和昂貴的審計,為企業節省數十億美元,防止身份盜竊,并提供更高的可靠性和可審計能力。
多年來,我一直認為每個多用戶網站都可以從區塊鏈后端中獲益。和很多人的認知不同,區塊鏈不必是緩慢、低效的數據庫,也不必在抗審查、開放的基礎上運行。區塊鏈可以在安全性、審計能力、透明度和業務流程的完整性方面提供重要的改進,即使區塊鏈完全由公司自己操作,其中的所有內容都不會公開。本文旨在揭示區塊鏈在企業環境中的真正價值,并為區塊鏈行業的發展指明方向。
聲音 | BM:REX 并不是空了 只是觸發了保險防御機制:今日,BM 更新推特動態,大體整理如下:
1、我對區塊鏈是低效數據庫的觀點提出了質疑。在我看來,與Postgres或MySQL相比,eosio 是一個高效、高性能的數據庫。Eosio 3將進一步證明這一點!
2、社區用戶提問是否了解當前主網的現狀,REX都空了。BM表示,主網并沒啥問題,tps依舊完勝其他公鏈,REX 空了是當前REX的參數限制所致。
(TP 科普 : 當前REX合約中設置了一個20%的EOS可用租賃下限,若 EOS 可用租賃量占EOS 已租賃量的20%,則REX無法再借出。用戶可進去TP錢包查看REX總覽信息。)
3、BM 認為他當初設置 20% 的安全防御措施有點過分保守了,有考慮去除這個限制。
(ps:針對該 20% 的參數限制,已有社區用戶在Github提交了降低為0%的請求,同時BPs也有展開相關討論)
4、BM認為抱怨當前主網的CPU緊缺狀態是沒必要的,這就跟抱怨Uber用車高峰期打不到車/車費溢價的道理一樣。
不要抱怨市場通過提高價格來平衡供求,要關注實際總供給。[2019/11/6]
常見的誤解
在區塊鏈行業中,許多人認為區塊鏈只有在將互不信任的參與方連接起來時才會創造優勢。他們認為,傳統的數據庫技術已經可以完成確保業務所需的所有工作。換句話說,他們認為傳統的數據庫復制和“數據完整性”保證就足夠了。在這個過程中,他們要么忽視要么無視區塊鏈所提供的完全不同的安全性和完整性保證:
聲音 | BM:EOS Authenticator 只是一個更安全的 LastPass:據 IMEOS 報道,BM 在電報群與社區激勵討論,社區成員在討論很多錢包的 IOS 版本都下架了眾多 DApp,甚至連 DApp 瀏覽器的入口都沒有了。BM 回答道:EOS Authenticator 是安全的因為它沒有內置瀏覽器,這是它的設計基礎。EOS Authenticator 只是一個更安全的 LastPass。[2019/7/19]
1.對全局事件序列的承諾
2.業務邏輯的確定性執行
3.業務邏輯和數據完整性的緊密耦合
4.消除密碼
在傳統的業務應用程序架構中,業務邏輯與數據庫是分離的。通常有一個應用服務器,如Node.js或J2EE,提供了修改數據庫的密碼。Node.js服務器的作用是通過密碼或多因素認證機制對用戶進行身份驗證。一旦應用服務器對用戶進行了身份驗證,它就會發出一個會話令牌,用于對未來的用戶交互進行身份驗證,直到超時或會話的某些元素發生更改。
顯然,這種傳統設計通過應用服務器管理的單次登錄/密碼執行所有數據庫操作。通過最終用途,應用服務器負責部署身份認證機制。顯然,通常有多個用戶可以訪問用戶名和密碼。數據庫管理員可以向許多不同的應用服務器或個人分配和撤銷憑據。
高級系統確保在橫向擴展的系統中,每個應用服務器都有自己的用戶名和密碼,在某些情況下甚至可以使用公鑰基礎設施和硬件安全模塊。但是,即使在這里,數據庫也只認證應用服務器的連接。為了提供審計日志,它必須記錄安全連接的整個數據流。但是,即使這個日志也只能記錄應用程序服務器請求的“讀寫操作”,而應用程序服務器已經丟失了最初用戶意圖的所有信息。
聲音 | BM:Voice 1.5 億美元是預估預算:據TP錢包消息,今日,BM 在電報表示,Block.one 團隊正在重新設計黑客馬拉松的形式。 另外,有社區成員詢問 BM :“ Voice 是否耗資 1.5 億美元? ” BM 表示:“ 1.5 億美元只是預估預算! ”[2019/6/7]
審查這樣一個系統的審計師無法知道應用服務器是否遵循正確的業務邏輯,是否正確地驗證了最終用戶的身份。Node.js進程可以將用戶操作記錄到數據庫中,方便審計師復制同樣的計算,但這樣的記錄并非不可篡改,而且沒有獨立認證驗證,無法了解終端用戶真的授權了某一行為。
可以嘗試記錄每個用戶的連接,但是由于用戶經常通過連接傳輸他們的密碼,這些記錄最終會成為一個泄露用戶信息的蜜罐。更復雜的系統可以對這些記錄進行加密,這樣只有審計人員才能讀取它們。
假設審計日志沒有被篡改,審計人員將不得不通過應用程序邏輯運行相同的操作序列,以驗證最終數據庫狀態是否匹配。這意味著應用服務器必須以確定性的方式實現。
確定性計算很難
雖然編寫確定性代碼似乎很簡單,但實際上所有常見的計算機語言都是非確定性的,因為它們允許開發人員獲取存儲在數據庫以外的數據。可以是一些簡單的東西,如時間戳、內存地址、環境變量、IP地址,也可以是一些更微妙的東西,如硬件上的浮點行為或哈希表的插入順序。在許多情況下,訪問長時間運行的應用程序服務器的內存變量就足以引入不確定性。啟動/停止應用程序服務器的動作必須被記錄和復制,否則在重放期間每個本地內存訪問可能是不確定的。
聲音 | EOS創始人BM:目前LN的框架內存在“一系列其他問題”:據Bitcoin Exchange Guide報道,在Reddit全球密碼社區最近的一次交流中,EOS創始人Dan Larimer表示,閃電網絡的目的是“劫持比特幣的核心協議”。在其看來,目前LN的框架內存在“一系列其他問題”,但由于“時間的限制”,拒絕對此進行詳細闡述。此外,Larimer并不是唯一持這種觀點的人。密碼專家Peter Ruzin也在Medium上發表了一篇博客,強調與第2層擴展解決方案相關的一些主要問題。[2019/4/8]
事實是,編寫確定性代碼對于受過常見誤區培訓、積極尋找非確定性的最佳開發人員來說是一個挑戰。典型的企業應用程序開發人員會發現以確定性的方式編寫代碼是困難的或不切實際的。
如果我們進一步假設應用程序代碼是確定性的,應用程序如實記錄用戶事件,那么我們仍然面臨跟蹤部署的代碼版本的挑戰。應用程序是動態的,并且經常更新,因此應用程序代碼本身也必須是數據庫狀態的一部分,并且其更新的管理和記錄與用戶操作的安全性和可審計性相同。然后,審計人員需要擁有應用服務器代碼的所有版本的副本,并根據需要通過每次版本升級來重放用戶輸入。
即使單個應用程序服務器在安裝和部署方面都能夠以確定的方式進行操作,它仍然會遇到一個主要的可擴展性問題。只有一個應用服務器實例可以在數據庫進行操作。并行訪問可以通過復雜的鎖實現,但是即使鎖上的競爭條件也必須被記錄和復制,或者兩個具有不同本地變量的應用程序邏輯實例也可能產生不確定的輸出。
此時人們可能會完全放棄確定性,但是確定性在缺席之后,會逐步在最終數據集累積大量的偏差。審計人員將被迫使用模糊邏輯和近似匹配,每個人都必須相信“模糊邏輯”已經夠好了。
當然,要否定編寫和部署確定性代碼所付出的所有努力,唯一要做的就是讓數據庫管理員直接修改數據庫而不進行跟蹤。在某些情況下,對用戶輸入日志和狀態的仔細更新可能會創建兩個不同的數據庫狀態,每個狀態都通過了確定性測試,但仍然具有不同的和不可調和的輸出。例如,假設一個教授向系統提交了一個學生的成績為F,然后這個學生可以通過黑客或賄賂的方式進入數據庫來更改他的成績和教授提交的記錄。
消除密碼
任何重視完整性的多用戶系統的最終目標都是確保不能偽造用戶輸入。用戶名/密碼或其他主觀的多因素認證的使用依賴于服務器來判斷密碼是否匹配,或者是否輸入了正確的SMS代碼/電子郵件鏈接/驗證碼。很明顯,這對系統的完整性來說是一個巨大的問題,我將提供一個真實的例子來說明這些系統有多糟糕。
2016年,我在一家加密貨幣交易所開設了一個賬戶,后來這家遭到黑客攻擊,黑客竊取了價值數萬美元的比特幣。我當時一共收到了4封郵件,第一封是“密碼重置”郵件,然后是另一封表明我的密碼已成功重置的郵件。然后我收到一封要求確認我的比特幣提取的郵件。然后我收到了一個通知,說我的提幣手續已經辦完了。
乍一看,我的郵箱似乎被黑了,但這是不可能的,因為我采用了多因素認證。我的郵箱安全頁面顯示,沒有未經授權的訪問。我也能看出來,因為谷歌會記錄并顯示所有訪問我郵箱的IP和設備。
事實上,攻擊者在郵件到達我的郵箱之前就截獲了郵件。應用服務器無法知道郵件被截獲,因此就算攻擊者只有應用服務器生成的一次性代碼,其還是能獲得密碼重置和提幣的授權。
同樣的漏洞也可用于SMS或依賴于用戶控制的私鑰以外的其他技術。真正安全的用戶賬戶是為所有用戶采用基于硬件的私鑰作為他們的登錄憑證,在硬件密鑰丟失的情況下,采用一個穩健的和費時的過程來促進安全復位。
此時,多用戶業務應用程序可以使用用戶的私鑰對每個用戶請求簽名,將這個簽名的請求記錄到數據庫中,并使用確定性代碼處理它。即使這樣也不能提供人們所期望的完整性,因為用戶請求仍然可能被刪除,同時還會產生副作用。想象一下,當一名警官提交了你的罰單,然后所有的州都產出了這個請求,你就可以入侵警察數據庫并刪除他簽署的請求。
此時,精明的工程師會宣稱,我提出的每個問題都可以通過更改應用程序邏輯來解決。他是對的,一個成熟的應用程序開發人員可以使用傳統的數據庫、傳統的應用程序服務器和常見的密碼原語來構建一個相對安全且可審計的系統。根據同樣的邏輯,一個精明的工程師可以聲稱數據庫是完全不必要的,所有的東西都應該直接構建在文件系統上。也有工程師可能會指出,我們可以從頭開始編寫代碼,不再依賴于Node.js和J2EE等應用服務器框架,這樣就能提高性能。這就好像所有的東西都是由低水平的技術制造出來的,我們也可以設計出性能最佳的晶體管。
我之所以指出這個極端,是因為它強調了了高級框架在加速和保護新應用程序開發方面的真正效用。很少有人編寫自己的密碼庫或算法,而編寫這些庫或算法的人要么是專家,要么在自己的系統遭到黑客攻擊時成為了反面教材。從頭開始開發/重新開發所有東西的成本可能會使每個應用程序都比在經過驗證的框架上構建更昂貴。
區塊鏈應用和數據服務器的優勢
區塊鏈和EOSIO這樣的開發框架之所以存在,是為了讓應用程序開發人員不必為了構建安全的應用程序而重新創建“數據庫”。安全性和確定性很難實現,這就是為什么技術構建在抽象細節的層中。EOSIO在同一過程中將確定性執行環境與快速數據庫相結合。所有的用戶操作都由他們自己的私鑰簽名,并記錄在一個復制和分布式的數據庫中,該數據庫具有對區塊頭進行公開承諾的能力。
EOSIO這樣的框架變得與傳統的不安全系統一樣強大且易于開發,只是時間問題。在許多方面,EOSIO的架構已經比傳統系統具有更高的性能,這是因為它將應用程序邏輯放在與內存數據庫相同的進程空間中。這就創建了確定性存儲過程。
在未來的幾年里,Block.one的目標是添加工具和接口,使在區塊鏈上部署企業應用程序就像在傳統企業應用架構上部署同類應用一樣容易。
很明顯,采用區塊鏈技術應該成為政府機構、上市公司和有責任防止欺詐或進行財務報告的企業的優先事項。在我看來,未來幾年不采用區塊鏈技術就像銀行不采用SSL,一旦該技術得到廣泛使用,不使用區塊鏈技術就會被認為是疏忽。
是時候開始行動了。如果應用程序的構建方式沒有根本性的改變,你的企業和用戶就不會安全。每耽擱一天,你的生意就會面臨欺詐或黑客攻擊的風險。
寫在前面:本文作者為AmitiUttarwar,是BitcoinCore開發者,就職于Xapo,曾是Coinbase的軟件工程師.
1900/1/1 0:00:00作者:EdwardIftody 譯者:平川 來源:區塊鏈前哨 導語:?如果我在21世紀初就進行了合理規模的投資,那么我早就退休了.
1900/1/1 0:00:00原創:五火球教主 最近幾天,仿佛又讓人找回2019年初時的感覺,各大平臺蓄勢待發,大餅毫無動靜。非常巧合的是,這次,又是幣安率先"出招",熟悉的配方,熟悉的味道.
1900/1/1 0:00:00來源:數鏈評級 編者注:原標題為《烏克蘭反洗錢法即將生效,FATF浪潮下中國何去何從》文章分3個部分:首先介紹烏克蘭加密政策和現況;然后闡述從烏克蘭到韓國、土耳其等國制定新的以加密貨幣為重點的反.
1900/1/1 0:00:00在上一期的減半介紹文中 大星給新來的同學拋出了知識點比特幣減半造成影響最大的一群人 可能就是礦工了對于個體礦工來說 減半意味著 首先,區塊獎勵減少了 其次.
1900/1/1 0:00:00近期Steem社區與波場創始人孫宇晨之間的斗爭,引發了加密貨幣社區的巨震,很多人也把矛頭對準了DPoS甚至是PoS算法,然后假設如果是PoW就不會出現這樣的事情,那真的如此嗎?本文試圖解釋.
1900/1/1 0:00:00