寫在前面:本文作者為EOS創始人DanielLarimer。他在文章中分析了傳統互聯網中的數據庫等基礎架構和設計的缺陷并指出區塊鏈是最好的解決方案:諸如EOSIO之類的區塊鏈開放式框架使得開發者無需為了構建安全的應用程序而重新創建“數據庫”,因為所有用戶使用私鑰對自己的行為簽名,可追溯和查證。未來B1的一個目標是添加工具和接口,促使在區塊鏈上部署業務的過程和傳統互聯網上部署業務相似。
傳統的網頁應用程序基礎結構在設計時將安全性作為事后考慮事項,在過去的25年中,許多公司一直在試圖修補一個根本不安全的架構。這種架構在設計時就預設服務器是可以被信任和保護的,但是多年的經驗告訴我們,沒有服務器是安全的,更不用說內部的攻擊了。換句話說,服務器基本上是中心化的。
我們過去認為“問題”在于用戶和服務器之間的連接,因此我們引入了SSL和HTTPS。但后來我們發現,黑客會破壞數據庫并竊取密碼。所以我們開始存儲密碼的哈希值,但后來我們發現黑客會在盜取哈希值后強行破解密碼。然后,我們引入了密碼切換機制,以便在暴力破解時更改密碼,諸如此類的措施還有很多。
為了保護服務器和數據庫,企業需要花費數十億美元,盡管付出了所有努力,但仍然沒有簡單的方法來審查系統并確保企業按預期運行。
BM:EOS可以完全消除GameStop和Robinhood所揭示的問題:EOS創始人BM(Daniel Larimer)發推稱, ProFi和EOS可以完全消除GameStop和Robinhood所揭示的問題。金融系統需要轉移到可即時結算的智能合約(SmartContracts)上。此前消息,由于美股GameStop(GME)市場上演逼空事件,Robinhood、TD Ameritrade和Schwab等幾個交易平臺已宣布暫停買入GME股票,且僅允許出售來限制GME市場。[2021/1/31 18:31:01]
Block.one正在構建區塊鏈軟件,以保持數據庫和用戶賬戶的安全,防止未經授權的訪問和未予解釋的修改。有了區塊鏈,用戶可以使用高度安全的私鑰,這些密鑰存儲在安全的硬件中,用于對每個用戶交互進行簽名,而不是簡單地進行服務器連接的身份驗證。區塊鏈創建了一個不可更改的記錄,建立了接收用戶輸入的絕對和確定性的順序,而智能合約提供了確定性的業務邏輯,確保了所有系統之間的一致性。
未來的Block.one正在消除密碼和昂貴的審計,為企業節省數十億美元,防止身份盜竊,并提供更高的可靠性和可審計能力。
多年來,我一直認為每個多用戶網站都可以從區塊鏈后端中獲益。和很多人的認知不同,區塊鏈不必是緩慢、低效的數據庫,也不必在抗審查、開放的基礎上運行。區塊鏈可以在安全性、審計能力、透明度和業務流程的完整性方面提供重要的改進,即使區塊鏈完全由公司自己操作,其中的所有內容都不會公開。本文旨在揭示區塊鏈在企業環境中的真正價值,并為區塊鏈行業的發展指明方向。
BM:仍在尋找為EOS社區做貢獻的方法:今日,對于推特網友詢問BM(Daniel Larimer)是否還會嘗試在EOS上進行構建,BM回復道:“我仍然在尋找為EOS社區做貢獻的方法,并提供我們許多人想要的自由和去中心化。”此前消息,1月11日消息,EOS創始人BM辭去Block.one首席技術官一職。[2021/1/16 16:18:37]
常見的誤解
在區塊鏈行業中,許多人認為區塊鏈只有在將互不信任的參與方連接起來時才會創造優勢。他們認為,傳統的數據庫技術已經可以完成確保業務所需的所有工作。換句話說,他們認為傳統的數據庫復制和“數據完整性”保證就足夠了。在這個過程中,他們要么忽視要么無視區塊鏈所提供的完全不同的安全性和完整性保證:
1.對全局事件序列的承諾
2.業務邏輯的確定性執行
3.業務邏輯和數據完整性的緊密耦合
4.消除密碼
在傳統的業務應用程序架構中,業務邏輯與數據庫是分離的。通常有一個應用服務器,如Node.js或J2EE,提供了修改數據庫的密碼。Node.js服務器的作用是通過密碼或多因素認證機制對用戶進行身份驗證。一旦應用服務器對用戶進行了身份驗證,它就會發出一個會話令牌,用于對未來的用戶交互進行身份驗證,直到超時或會話的某些元素發生更改。
顯然,這種傳統設計通過應用服務器管理的單次登錄/密碼執行所有數據庫操作。通過最終用途,應用服務器負責部署身份認證機制。顯然,通常有多個用戶可以訪問用戶名和密碼。數據庫管理員可以向許多不同的應用服務器或個人分配和撤銷憑據。
聲音 | BM:穩定幣不能空投,必須通過購買的方式獲得:據 IMEOS 報道,BM今晨現身電報群,與社區成員進行熱烈的討論,以下是重要內容綜述: 1. B1沒有開發穩定幣,我只是說出了我想法,想讓社區收益; 2. B1將在6月份揭示未來的發展方向,MAS還需要某種穩定的記賬單位; 3. 穩定幣不能空投,用戶必須通過購買的方式獲得,這是因為穩定幣是一種債務性資產,他需要實際資產作為支撐; 4. 提問:USD沒有任何實際資產做支撐,他難道不是穩定幣嗎?BM:USD是相對穩定,但與黃金相比,USD是不穩定的。[2019/4/29]
高級系統確保在橫向擴展的系統中,每個應用服務器都有自己的用戶名和密碼,在某些情況下甚至可以使用公鑰基礎設施和硬件安全模塊。但是,即使在這里,數據庫也只認證應用服務器的連接。為了提供審計日志,它必須記錄安全連接的整個數據流。但是,即使這個日志也只能記錄應用程序服務器請求的“讀寫操作”,而應用程序服務器已經丟失了最初用戶意圖的所有信息。
審查這樣一個系統的審計師無法知道應用服務器是否遵循正確的業務邏輯,是否正確地驗證了最終用戶的身份。Node.js進程可以將用戶操作記錄到數據庫中,方便審計師復制同樣的計算,但這樣的記錄并非不可篡改,而且沒有獨立認證驗證,無法了解終端用戶真的授權了某一行為。
可以嘗試記錄每個用戶的連接,但是由于用戶經常通過連接傳輸他們的密碼,這些記錄最終會成為一個泄露用戶信息的蜜罐。更復雜的系統可以對這些記錄進行加密,這樣只有審計人員才能讀取它們。
聲音 | BM:EOS比ETH、BTC更加多中心化:BM在電報群中表示,EOS是多中心化的,因為它凌亂、雜亂無章、決策緩慢。如果EOS是中心化的,那么它的運行就應該非常順利。EOS比ETH、BTC更加多中心化。[2018/7/17]
假設審計日志沒有被篡改,審計人員將不得不通過應用程序邏輯運行相同的操作序列,以驗證最終數據庫狀態是否匹配。這意味著應用服務器必須以確定性的方式實現。
確定性計算很難
雖然編寫確定性代碼似乎很簡單,但實際上所有常見的計算機語言都是非確定性的,因為它們允許開發人員獲取存儲在數據庫以外的數據。可以是一些簡單的東西,如時間戳、內存地址、環境變量、IP地址,也可以是一些更微妙的東西,如硬件上的浮點行為或哈希表的插入順序。在許多情況下,訪問長時間運行的應用程序服務器的內存變量就足以引入不確定性。啟動/停止應用程序服務器的動作必須被記錄和復制,否則在重放期間每個本地內存訪問可能是不確定的。
事實是,編寫確定性代碼對于受過常見誤區培訓、積極尋找非確定性的最佳開發人員來說是一個挑戰。典型的企業應用程序開發人員會發現以確定性的方式編寫代碼是困難的或不切實際的。
如果我們進一步假設應用程序代碼是確定性的,應用程序如實記錄用戶事件,那么我們仍然面臨跟蹤部署的代碼版本的挑戰。應用程序是動態的,并且經常更新,因此應用程序代碼本身也必須是數據庫狀態的一部分,并且其更新的管理和記錄與用戶操作的安全性和可審計性相同。然后,審計人員需要擁有應用服務器代碼的所有版本的副本,并根據需要通過每次版本升級來重放用戶輸入。
聲音 | BM:只要3個礦池就能讓以太坊網絡癱瘓:EOS首席技術官Daniel Larimer(BM)近期發布推特稱,只要有三個礦池拒絕處理交易和區塊,以太坊網絡就會停止運作。他認為EOS并不是中心化問題最嚴重的項目。[2018/6/27]
即使單個應用程序服務器在安裝和部署方面都能夠以確定的方式進行操作,它仍然會遇到一個主要的可擴展性問題。只有一個應用服務器實例可以在數據庫進行操作。并行訪問可以通過復雜的鎖實現,但是即使鎖上的競爭條件也必須被記錄和復制,或者兩個具有不同本地變量的應用程序邏輯實例也可能產生不確定的輸出。
此時人們可能會完全放棄確定性,但是確定性在缺席之后,會逐步在最終數據集累積大量的偏差。審計人員將被迫使用模糊邏輯和近似匹配,每個人都必須相信“模糊邏輯”已經夠好了。
當然,要否定編寫和部署確定性代碼所付出的所有努力,唯一要做的就是讓數據庫管理員直接修改數據庫而不進行跟蹤。在某些情況下,對用戶輸入日志和狀態的仔細更新可能會創建兩個不同的數據庫狀態,每個狀態都通過了確定性測試,但仍然具有不同的和不可調和的輸出。例如,假設一個教授向系統提交了一個學生的成績為F,然后這個學生可以通過黑客或賄賂的方式進入數據庫來更改他的成績和教授提交的記錄。
消除密碼
任何重視完整性的多用戶系統的最終目標都是確保不能偽造用戶輸入。用戶名/密碼或其他主觀的多因素認證的使用依賴于服務器來判斷密碼是否匹配,或者是否輸入了正確的SMS代碼/電子郵件鏈接/驗證碼。很明顯,這對系統的完整性來說是一個巨大的問題,我將提供一個真實的例子來說明這些系統有多糟糕。
2016年,我在一家加密貨幣交易所開設了一個賬戶,后來這家遭到黑客攻擊,黑客竊取了價值數萬美元的比特幣。我當時一共收到了4封郵件,第一封是“密碼重置”郵件,然后是另一封表明我的密碼已成功重置的郵件。然后我收到一封要求確認我的比特幣提取的郵件。然后我收到了一個通知,說我的提幣手續已經辦完了。
乍一看,我的郵箱似乎被黑了,但這是不可能的,因為我采用了多因素認證。我的郵箱安全頁面顯示,沒有未經授權的訪問。我也能看出來,因為谷歌會記錄并顯示所有訪問我郵箱的IP和設備。
事實上,攻擊者在郵件到達我的郵箱之前就截獲了郵件。應用服務器無法知道郵件被截獲,因此就算攻擊者只有應用服務器生成的一次性代碼,其還是能獲得密碼重置和提幣的授權。
同樣的漏洞也可用于SMS或依賴于用戶控制的私鑰以外的其他技術。真正安全的用戶賬戶是為所有用戶采用基于硬件的私鑰作為他們的登錄憑證,在硬件密鑰丟失的情況下,采用一個穩健的和費時的過程來促進安全復位。
此時,多用戶業務應用程序可以使用用戶的私鑰對每個用戶請求簽名,將這個簽名的請求記錄到數據庫中,并使用確定性代碼處理它。即使這樣也不能提供人們所期望的完整性,因為用戶請求仍然可能被刪除,同時還會產生副作用。想象一下,當一名警官提交了你的罰單,然后所有的州都產出了這個請求,你就可以入侵警察數據庫并刪除他簽署的請求。
此時,精明的工程師會宣稱,我提出的每個問題都可以通過更改應用程序邏輯來解決。他是對的,一個成熟的應用程序開發人員可以使用傳統的數據庫、傳統的應用程序服務器和常見的密碼原語來構建一個相對安全且可審計的系統。根據同樣的邏輯,一個精明的工程師可以聲稱數據庫是完全不必要的,所有的東西都應該直接構建在文件系統上。也有工程師可能會指出,我們可以從頭開始編寫代碼,不再依賴于Node.js和J2EE等應用服務器框架,這樣就能提高性能。這就好像所有的東西都是由低水平的技術制造出來的,我們也可以設計出性能最佳的晶體管。
我之所以指出這個極端,是因為它強調了了高級框架在加速和保護新應用程序開發方面的真正效用。很少有人編寫自己的密碼庫或算法,而編寫這些庫或算法的人要么是專家,要么在自己的系統遭到黑客攻擊時成為了反面教材。從頭開始開發/重新開發所有東西的成本可能會使每個應用程序都比在經過驗證的框架上構建更昂貴。
區塊鏈應用和數據服務器的優勢
區塊鏈和EOSIO這樣的開發框架之所以存在,是為了讓應用程序開發人員不必為了構建安全的應用程序而重新創建“數據庫”。安全性和確定性很難實現,這就是為什么技術構建在抽象細節的層中。EOSIO在同一過程中將確定性執行環境與快速數據庫相結合。所有的用戶操作都由他們自己的私鑰簽名,并記錄在一個復制和分布式的數據庫中,該數據庫具有對區塊頭進行公開承諾的能力。
EOSIO這樣的框架變得與傳統的不安全系統一樣強大且易于開發,只是時間問題。在許多方面,EOSIO的架構已經比傳統系統具有更高的性能,這是因為它將應用程序邏輯放在與內存數據庫相同的進程空間中。這就創建了確定性存儲過程。
在未來的幾年里,Block.one的目標是添加工具和接口,使在區塊鏈上部署企業應用程序就像在傳統企業應用架構上部署同類應用一樣容易。
很明顯,采用區塊鏈技術應該成為政府機構、上市公司和有責任防止欺詐或進行財務報告的企業的優先事項。在我看來,未來幾年不采用區塊鏈技術就像銀行不采用SSL,一旦該技術得到廣泛使用,不使用區塊鏈技術就會被認為是疏忽。
是時候開始行動了。如果應用程序的構建方式沒有根本性的改變,你的企業和用戶就不會安全。每耽擱一天,你的生意就會面臨欺詐或黑客攻擊的風險。
Tags:區塊鏈EOS穩定幣IME區塊鏈工程專業學什么課程好leos幣雷石鏈usda穩定幣是傳銷嗎Santiment Network Token
原文來源:Bitcoinexchangeguide 編譯:區塊律動 灰度投資基金的加密產品交易近日出現了極高的溢價.
1900/1/1 0:00:00減半行情的威力有多大?先來看看,四大減半幣2020年至今的漲幅,單位為美元。BTC,由6871上漲至10270,漲幅約50%。BCH,由191上漲至471,漲幅約147%.
1900/1/1 0:00:00美SEC委員HesterPeirce在本月初提出了為合法的加密項目提供3年寬限期的“安全港”提案的想法。周二她在加密媒體Coindesk撰文詳述了自己的想法并尋求業內的反饋.
1900/1/1 0:00:00本文來源:未央網,原題《病“吹哨人”計劃:建設區域基層聯動預警網絡》 作者:黃銳 2020年2月7日上午,武漢市政府網站發布公告:武漢中心醫院李文亮醫生,因感染新型肺炎.
1900/1/1 0:00:00灰度是加密貨幣領域中最大的機構資產管理者,目前持有約277,000個比特幣,價值28.66億美元.
1900/1/1 0:00:00來源:CointelegraphChina編者注:原標題為《迪拜對全球企業敞開大門,建立第一個區塊鏈KYC平臺》 迪拜國際金融中心和Mashreq銀行于3月1日宣布推出新的區塊鏈數據共享平臺.
1900/1/1 0:00:00