用一句話來定義eos,即:區塊鏈操做系統,支持在它之上構建dapp,支持智能合約、賬戶、身份驗證、數據庫、異步通訊和跨越數百個 CPU 內核或集羣的應用程序調度。簡單來講,eos是相似於windows、linux、安卓、ios這樣的底層操做系統,爲區塊鏈的去中心化應用(dapp)提供更加方便、安全的開發運行環境。linux
衆所周知,區塊鏈技術發展到如今,已經步入了區塊鏈3.0時代。ios
1.0時代開始於2009年,以比特幣(btc)爲表明的數字貨幣橫空出世,其去中心化、不可篡改的特性,給急需「信用」背書的金融市場帶來了新的生機。然而,單一的數字貨幣功能,並不能知足金融機構複雜的交易場景。全球複雜的政治經濟格局,也讓數字貨幣的應用落地舉步維艱。git
1.0時代的困局,也爲區塊鏈2.0時代帶來了新的機遇與挑戰。2014年,以以太坊(eth)爲標誌的、主打智能合約的區塊鏈2.0公鏈如雨後春筍般出現。智能合約,顧名思義,就是將咱們普通的紙質合約功能,以代碼的形式實現和執行,併發布到區塊鏈上。有了智能合約功能,咱們能夠很方便的爲一些交易場景定製特定的合約,知足必定的條件時,合約會自動執行;區塊鏈不可篡改、去中心化的特質,讓咱們徹底不用擔憂違約的問題出現。github
既然2.0時代已經完美的解決了金融市場的定製化解決方案的需求,那要3.0時代幹嗎?緣由很簡單:性能問題。由於要兼顧去中心化的特性,區塊鏈的系統設計使得每秒確認的交易數很是有限。btc每秒只能確認7筆交易,eth每秒也只能確認20~30筆交易。對於金融結算場景,好比天貓雙十一的消費場景,須要每秒百萬的交易確認數,1.0和2.0區塊鏈系統是遠遠達不到需求的。算法
因此,eos就瓜熟蒂落的誕生了。這個主打百萬tps的區塊鏈操做系統,做爲區塊鏈3.0時代的傑出表明,致力於讓區塊鏈系統真正的落地商業化。截止目前,eos的第一階段的開發已經結束,主網順利上線。按照社區以前的測試結果,eos單線程的性能達到每秒1000筆交易,比目前市面上的區塊鏈系統提高了幾十倍。多線程的開發會在下半年持續進行,能不能達到承諾的性能,讓咱們拭目以待。數據庫
稍微接觸過區塊鏈,應該都對共識機制有個大體的瞭解。區塊鏈系統,是一個分佈式的網絡,讓分散在不一樣國家、不一樣網絡環境、不一樣主機的人,能對一個結果的產生達成一致承認,共識機制功不可沒。windows
btc用的共識機制是pow算法,簡單的說,咱們會把交易廣播到網絡上,btc網絡出一道題,全部運行btc網絡的計算機,都在不停地作運算,誰先給出答案,誰就能產生一個區塊,區塊中打包了交易,一個一個區塊首尾相連,就造成了惟一一條區塊鏈。eth也用的是pow算法,大同小異。這個算法的優勢暫時不說了,缺點也很明顯,計算資源的嚴重浪費、每秒能確認的交易數不多等等。瀏覽器
而eos的共識機制是dpos算法,簡單的說,就是區塊鏈版人民表明大會制度。規則以下:eos打包交易和出塊的節點總共只有21個,將他們稱之爲超級節點,這裏的超級節點能夠是1臺計算機,也能夠是多臺計算機組成的集羣,集羣模式目前還在開發中。有一堆節點都想競選超級節點,每一個持有eos的人,均可以投票選本身心儀的節點。一個eos能夠投30個節點、每一個節點只能投1票。eos的共識機制,犧牲了部分去中心化的特色,換來了性能的大幅度提高。安全
eos共識機制詳細的參數:網絡
- 選舉21個超級節點做爲生產者,49個節點做爲備選,每一個生產者按順序輪流打包區塊。
- 打包126個塊(21個生產者,每人6個塊)算一輪,每輪選舉一次超級節點。生產者打包的順序,由15/21個生產者投票產生。平均出塊速度0.5s。一個交易從廣播到99%確認大約須要花0.25s,大約1s後可確認不可更改。
- BFT算法:容許生產者給區塊簽名,同一時間同一高度一個生產者不能給兩個區塊簽名,一旦一個區塊被15個以上的生產者簽名,即被認爲是不可逆的
憲法:爲了不超級節點做惡,以及其餘用戶做惡的行爲,eos建立了一個點對點的服務條款協議或者綁定用戶到一個合約,簡稱「憲法」。 憲法的內容定義了僅僅依靠代碼沒法在用戶間履行的義務,同時經過創建管轄權和可選的法律來解決相互間的爭端。「憲法」是採用李嘉圖合約編寫上鍊的,每一個用戶發交易都須要承認「憲法」內容並使用私鑰簽名確認。憲法的設計原則可參考block.one的副總裁thomas發佈的憲法設計原則,「憲法」內容比較多,能夠搜索thomas的發言記錄查看。
ECAF:爲了更大程度的履行「憲法」,防止做惡行爲。eos社區創建了ecaf仲裁機構,做用是選舉仲裁人,處理鏈上的交易糾紛、惡意盜幣、違憲等行爲。ecaf目前權力很大,社區對這個仲裁方式也頗有爭議,將來可能會使用智能合約取代ecaf的人爲治理方式。
講分成機制以前,先明確eos上的幾個角色:
- 超級節點:21個,由全部持有eos的人選舉產生,負責打包eos區塊
- 備選節點:49個,由全部持有eos的人選舉產生,做爲備用節點,一旦超級節點不可用,隨時替換21個節點做爲區塊打包者
- 查詢節點:不參與打包區塊,只同步eos區塊,做爲交易查詢使用
分成機制的詳細闡述:
- 超級節點打包區塊得到EOS,EOS每一年增發5%,1%歸超級節點和備選節點全部,4%歸基金會全部。1%的收益,其中25%分給超級節點,75%按照每一個節點得到的投票數進行分配。4%收入基金會的收益,可能會用於資助dapp的孵化,也可能被銷燬,目前還在討論中。
- 超級節點對外發布他們的可用的帶寬(net) 、計算能力 (cpu)、內存 (ram)。
- 其中,對於cpu和net資源,持有者能夠經過抵押EOS得到,好比抵押發行量1%的EOS,便可使用1%的net和cpu資源。抵押cpu和net的EOS能夠贖回,cpu和net若是用盡了,會在一天後恢復,關於具體的資源使用狀況,比較複雜,我會單寫一篇文章詳細闡述。
- 對於ram資源,則須要經過使用EOS買賣獲取,每次買賣都要收取1%的手續費。ram是不可恢復資源,用完了須要從新購買。
區塊鏈行業,截止目前爲止,最被人詬病的就是沒有一個商用的解決方案,被古典互聯網從業者認爲是割韭菜的利器。eos的出現,就是試圖打造一個通用化、高性能的公鏈,完全解決區塊鏈的商用落地問題。
筆者由於工做關係,接觸了很多區塊鏈項目,總結了一下目前區塊鏈可能的商用場景,以下:
- 跨境結算。目前的金融系統,因爲不一樣銀行之間沒有相互打通系統,跨境結算一筆交易,大概須要幾天的時間。基於區塊鏈打造的金融系統,可以保證交易的共識與不可篡改,能夠爲不一樣金融機構提供通用的結算解決方案。目前,致力於解決此場景的區塊鏈項目有:xrp、stellar、fabric超級帳本、zipper等。
- 資產上鍊。在這個信任缺失的社會,要證實你是你,都須要去派出所開證實。一旦涉及房產、資產糾紛,就須要法律流程介入、打官司,耗費很是多的財力物力。區塊鏈技術的信用機制、智能合約機制,能保證鏈上資產的歸屬公開透明、交易公開透明,大大減小資產糾紛。目前,致力於解決資產上鍊的項目有:btm等。
- 社交網絡。目前的互聯網社交產品,社交平臺的話語權很是大,內容的發佈、審覈、刪減都是平臺說了算。大部分收入也歸平臺全部,對優質內容的貢獻者,激勵也很是有限。針對這些問題,區塊鏈採用token經濟激勵,持有token的人能夠投票支持優質內容、發佈優質內容的做者也能夠得到token獎勵。因爲區塊鏈去中心化的特質,任何內容上鍊了都不可篡改,能夠避免平臺做惡、以及由於政府政策致使內容被屏蔽。目前,致力於解決社交問題的項目有:everipedia、steemit、幣乎、ono等
- 預言機。區塊鏈的不可篡改的特性,可以極大的保證交易數據的真實性,爲預測提供了強大的數據基礎。區塊鏈的智能合約功能,能經過代碼實現自動化的交易,爲預測場景的智能結算提供了重要保證。主要應用場景,好比對賭合約、基於預測的自動化交易、保險投顧等。目前基於此場景的項目有:oraclechain、FInsur等。
- 自治系統。總有理想主義者但願創建一個相似於蜂羣、蟻羣同樣的自治化社會,沒有中央集權,你們經過羣體意志決策,這樣的社會能保證最大程度的公平性,避免寡頭做惡,剝削民衆。目前,有不少區塊鏈項目在嘗試去中心化系統,例如:eosdac,fcoin、bitfinex等也在嘗試開發去中心化交易所。
eos因爲其優良的性能,單線程交易成交可達到1000tps/s,採用側鏈將來能夠達到百萬tps,以上的場景,都能在eos上獲得實現。將來,咱們能夠期待基於eos的dapp百花齊放。
由於篇幅有限,我只能介紹這麼多關於eos的信息。更多的信息,推薦幾個網站,你們能夠自取,畢竟知識的增加是一個主動學習的過程。
- eos github:eosio
- eos技術文檔:EOSIO Developer Portal
- 最先的eos論壇,有很多關於eos治理、開發、選舉的內容,block.one的核心成員常常會發布新觀點:eos go
- 公衆號,國內eos節點收集的社區信息:EOS引力區、HelloEOS社區、IMEOS
- 區塊瀏覽器:myeoskit、eoseco、eosmonitor