你所關心的EOS、POS、Cosmos、Cardano、Filecoin、Casper本文均有涉及。包括:共識算法介紹,POW、POS、POR ;POS共識詳解;EOS選舉相關邏輯和參數介紹。git
你們好,今天晚上主要給你們介紹一下POS相關的事情。很高興你們能參與到這個分享當中來。github
我先簡單自我介紹一下。我叫嶽利鵬,以前的是從事期貨之類的金融科技相關的東西,而後2016年全職參與到區塊鏈工做中來,當時看中的是智能合約的這個概念,到杭州參與謝晗劍的祕猿科技,從事聯盟鏈相關的開發工做。算法
當時參與的是中鈔區塊鏈研究院數字票據聯盟鏈相關的項目。以後我就離開了聯盟鏈的領域,全職參與公有鏈這個行業。安全
當時作的一個社區叫因特鏈社區,域名是chainx.org,可能有些人上過。一開始是主要關注cosmos和polkdot的這兩個項目。網絡
後來公有鏈這個領域爆發了項目愈來愈多,咱們的研究就擴散到了一些其餘的公有鏈上去。就包括EOS、Cardano、Filecoin、Dfinity之類。工具
再日後的話就是今年年初,我和比原的核心開發者光華啓動了一個新的項目——鏈池(chainpool.io),是一個爲未來優質的公有鏈項目提供礦池服務的平臺。性能
上一個時代的區塊鏈的是POW的區塊鏈,下一代的話就是會慢慢的轉向POS。以前其實早就有POS鏈出來了,包括比特股之類的,但那些共識並無獲得用戶大規模參與,因此不是太算POS。學習
但如今這個時代,就最近,你們也比較活躍參與的:EOS節點選舉這個事情。你們就對POS比較關注起來了,同時六月份會有幾條大的公鏈出來,他們都是選用的POS算法。區塊鏈
爲何比較看好POS領域呢,由於目前區塊鏈其實還屬於很基礎的打地基的階段。不少愛西歐都在說本身要作什麼鏈或者作什麼應用,其實如今一個基礎的底層鏈還不存在。因此上層應用是很遠的一件事情,而鏈的維持是要須要一個共識的存在,共識來保證鏈的安全,才能把它打形成一個沒有中心化機構控制,能夠承載大量價值以及應用的的平臺。網站
POW算法
POW以極其簡單的方式來達到了一個在去中心化系統裏進行記帳權爭奪的一個功能。一個帳本能夠有不少的正確的副本,可是哪個副本纔是被你們共識就須要進行記帳權的爭奪。
好比說,我有一個很難的計算題,誰算得出來誰就有權去記這個帳。那他爲何要去費很大勁計算這個難題?由於它會有個激勵,每出一個塊會有一個獎勵,好比獎勵記帳人幾十個幣,激勵他們參與到這個系統當中來,是一個既競爭又合做的系統。
但POW發展了這麼多年,從比特幣的最簡單的sha256,到以太坊或者Zcash的POW。說是改的愈來愈去中心化,但本質上的問題仍是沒有被解決,由於它的性能比較低,爲何低?
他要在一個沒有人組織的狀況下達到記帳權的爭奪,就是說誰來記這個賬是隨機出來的,你們去看誰的運氣好,一個是你有算力,另外一個你要有運氣。因此它會有一個比較長的週期。
好比說比特幣的十分鐘,以太坊最快的話就到十五秒,這個過程當中全球某一我的會隨機出來一個數字,它正好可以知足那個難題,而後這個區塊他要留有必定的時間進行全球性的廣播,因此一個時間點,不能有不少的區塊出來。這樣的話他就留了很大一部分的時間去大規模的去計算那個隨機數,只有不多的時間纔會去計算真正的交易以及去打包區塊。你會發現同步一條鏈實際上是很快的,可是那個鏈自己的出塊速度倒是很慢的。
POS算法
POS這個算法呢,它說這個隨機性不要你們去搶了,這個鏈經過全民投票的方式投出幾個大的驗證人或者說叫礦池,指定大家幾我的去出塊那就沒有特別大的爭搶的空間了。你們按照某種順序,或者說某種隨機性就能夠去直接出塊,就不存在爭搶的空間,那大部分的時間均可以去用於打包交易。
POS之因此說有更高的性能,意思是POS更大比例的時間能夠去進行區塊打包而不是進行無心義的計算。同時POS能夠達到更高的去中心化程度。
POW無論你怎麼去設計那個算法。他計算算法的機器都是由某一個大型的廠家去生產的,不可能每一個人都去生產這個機器,POW本質上徹底就是一箇中心化的東西。
同時POS能夠達到更高的安全性,這個怎麼理解呢:一個鏈他的安全性是多少,是在於一個礦工參與到這個鏈他的獎勵和懲罰的比例。
好比說比特幣:每一個區塊或者說天天產出的塊的市值是多少,那對應這個市值的是後面付出的礦機的折舊成本以及電費。
對礦工來說,他要麼是損失這一部分的出塊獎勵。POW礦工的獎勵就是得到這一部分的出塊獎勵,他的損失是他的電費。因此對於POW鏈的話它的攻擊成本就有在於這一天出塊的價值,因此一個大戶他能夠去賄賂礦工,能夠去用高於今天出塊價值的資金,讓這些礦工進行百分之五十一的攻擊,能夠去把一條區塊鏈分叉,抹掉一部分的交易,並且POW自己他是直接按照最長鏈的這個標準去選擇最優的鏈的。
但於對於POS來說,它仍然是會有一個獎勵,這個獎勵是來源於通脹,但他的懲罰會高的多。你要參與這個共識,你須要把你的幣抵押進來,若是你進行分叉-短程或者長程的分叉攻擊的話,系統對你的懲罰是很是嚴厲的,相似因而直接燒掉了你的礦機,而不是說僅僅浪費了一天的電這麼簡單。你所須要抵押的幣多是很是高的,你的年化收益可能才只有一點點,可是若是你作惡的話,你的本金就會被直接沒收。
POS還有一個更好的好處的是他能夠直接聯合自身的用戶。POW礦工以及持幣用戶實際上是兩類的羣體,這兩類羣體的利益其實不一致的。比特幣是被比特大陸系的礦工控制的,比特幣的持幣者並不能決定這條鏈上的參數,好比說擴容或者閃電網絡之類的。
POR算法
除了POW,POS的話,還有一些新的共識出來,好比說Filecoin的POR,Proof of resource-資源共識。這個資源共識不是玩客幣之類的中心化的共識,而是在一個去中心化的系統裏進行。叫存儲功率共識。
存儲功率共識的意思是,我做爲網絡的參與者,我能夠提供多大的存儲空間而且提供給你存多長時間,同時提供多少次的讀取服務,這三個參數加在一塊兒會造成一個存儲功率,你們拼的是誰的存儲功率更強,才能決定這個鏈的出塊,因此Filecoin實際上是與POW類似的,他提供的是一種服務性質上的競爭。
今年第三季度是POS落地的爆發期。
比較有名的就是EOS,是6月2號落地。Comos最近的聲明是五月底,Filecoin的落地日期不肯定,Casper一直這麼多年具體日期也不肯定。Cardano的ADA那條鏈的話聲明的也是第三季度。
POS算法遲遲不能落地的緣由有不少。就簡單來理解的話,POS共識是我付出了一點什麼東西,而後我相應的得到了一樣程度的安全性的保證。好比說我付出了電費以及礦機這類的資源是不可再生的,而POS鏈徹底不須要消耗這類能源。他直接在本身一個普通的機器上能夠任意的簽名出塊,沒有一個不可再生的東西做爲保證的話。這個鏈的分叉會很是多。
這個學術上的一個算法叫Nothing at stake-短程攻擊。好比說,對於某一高度上的塊,輪到我出塊的,我究竟是出哪個塊,我能夠出一個塊也能夠出十個塊,同時下一我的面對的是同一高度上十個塊,由於上一我的出十個塊至關於徹底沒有成本。
跟數字簽名的成本相關,POW出塊的成本是他要去計算那個難度,它只有到了那個難度才能夠出一個塊,他的成本是很高的。這個就叫作短程攻擊,一個出塊人我可讓這個鏈產生不少的叉,同時讓後面的出塊人更加迷茫,他應該在哪一個塊上,或者說哪一個叉上進行後續的挖礦。
還有個問題叫長程攻擊,就是說,若是一個POS礦池聯盟掌握了這個系統大部分的幣,那他能夠在某一個時間點,把他的這些幣所有賣掉落袋爲安。但在一個月以前,他的幣仍然是佔百分之五十一的,同時那他就能夠從那個時間點從新挖一條鏈出來,並且他是能夠在一分鐘以內直接造出一個月這麼長鏈的區塊,這樣他的幣又回來了,他就能夠從新再賣一次。
這就引出了POS裏面的一些邏輯,叫作代幣鎖按期,就是若是我參與一個POS鏈的出塊的話,我須要抵押本身的幣。只要你這個幣抵押進去的話,你是很長時間不能再提出來了,不然的話你就能夠來回移動你的幣量到不一樣的帳戶裏,而後仍然能夠對這個鏈進行一些大規模的分叉。
正常的代幣鎖按期的話,通常的是要求在六個月,Cosmos和Casper都是這麼一個概念。爲何六個月呢,這裏引入到一個檢查點的概念,由於長程攻擊本質上是沒法預防的,因此引入一個半中心化的解決方案叫檢查點的概念。
你們共識出來某一個高度,就你們定死一個星期以前的那個塊,咱們直接指定在那個點上就不可再分叉了,咱們會直接把那個區塊哈希硬編碼進源代碼裏面去,這個東西就叫作檢查點。
若是新用戶再下載源碼的話,他就不會再被引導到錯誤的鏈上去。正常狀況下,爲了給用戶留下足夠的下載客戶端的時間,通常檢查點就會設置在幾個月以前。
上面是POS一些基本概念,而後具體到今年6月1號或者6月2號EOS那條鏈怎麼起。
首先呢,他不存在一個搶的概念,那這個鏈前期啓動的時候是由中心化機構啓動的。什麼意思,就是由社區有威望的社區領導機構。他們去前期預先去選擇50個甚至100個驗證節點由他們來進行報名以及進行KYC,而後前期會進行一個隨機。
好比說EOS這條鏈,他是設定了本身有21個驗證的人,那他會隨機出來22我的,由其中的一我的進行創世區塊的書寫,其餘的二十一我的進行前期的出塊,這21我的啓動起來之後它不是爲了支持這條鏈進行進行轉帳交易,這個時間點的鏈是不能轉帳的,只能進行選舉類的交易和選舉類的操做。
而後用戶如今就開始選舉這些我的,好比你有一萬個幣。你須要抵押本身的1000幣,而後把會生成1000票,這1000票你能夠去投票給聲明想當驗證的人的節點。
EOS目前的是你能夠最多挑30個節點去投。因此他這個方案叫作一票30投。最終會造成一個前21名得票的21個節點。 他們會在一個月的以後選舉出來,而後正式的移交給直接選舉出來的21人進行整個鏈的出塊,這個時候區塊鏈就能夠進行轉帳了,同時EOS還會在這期間進行憲法的選舉。
EOS鏈上會聚集成一兩套憲法。這個憲法包含這個鏈不一樣的邏輯,須要用戶進行選擇。整個一套流程事後這個鏈纔是真正的起來。而後用戶才能夠進行普通的轉賬交易以和交易合約部署。
EOS選舉分兩種,一種是直選,就是普通用戶直接去選舉節點。
另一類,EOS有一個代理選舉的概念,由於21個節點普通用戶是沒有辦法對他進行深入的瞭解,可是你日常接觸到的一些KOL,你是比較信任它的。你能夠把你的票交給那些你信任的人,再由他們去進行21個節點的選舉以及調查。
第21我的出來之後呢,EOS是輪流出塊的。其餘的共識算法會有一些隨機性的邏輯在裏頭。這個是採用多方安全計算的數據算法,就是每一塊誰出是徹底不肯定的事,每個塊必定的。
EOS這種輪流算法的話,它既有好處有壞處,好處就是它比較簡單,網絡延遲就比較低,壞處的話就是她比較肯定更傾向於中心化以及在某一輪已經很是清楚的知道哪一個塊就是你出了,在這個狀況下之下的話就會有些做弊空間。
至於POS的獎勵的話,有個通脹的概念,這個通脹的概念還不是說比特幣之類的每一個區塊給你發多少幣,比特幣它有個上限。可是POS的之類鏈它是沒有上限的。他通常是沒有上限的。
好比說EOS如今的本身定的這個通脹率是百分之五,這百分之五包含了好多個部分。並非直接發給節點的。前期會進行一個選舉,就是讓21個節點去提出一個百分比。這個百分比乘上百分之五,好比說這些人選出來的百分比是百分之二十,那就是百分之一,纔是交給節點的獎勵,另外百分之四,是進入一個就是應用以及應應用的激勵池。
這1%的出塊獎勵還分兩部分,一半是平分給21個驗證人,另一半是分給後續100個後部驗證人。因此EOS目前的這個通脹率是比較低的。對於參與投票的用戶,他的獎勵也比較低,吸引力也比較低,但同時EOS這條鏈他少了懲罰的邏輯,因此用戶的選擇是比較中性的。而後他選擇代幣鎖按期也比較短,是三天的鎖按期。
這兩天你們一直在討論這個賄選的概念。就是說出塊獎勵應不該該分給驗證人,應不該該分給用戶。這個的話官方的考慮就是用戶其實偏向自私選擇的,他只管本身得到的利益有多少,無論總體的網絡的健壯性以及健康性。官方怕出現卡特爾聯盟,而後出現幾個大節點控制一條鏈的狀況,因此他們說EOS這條鏈不分成。
用戶參與EOS這條鏈的選舉的話,其實徹底是一種友情參與。節點自己的可能纔會採起一些間接的方式進行分成,就好比說我這個節點,我收到這百分之一的通脹。我會把它們組成一個基金。一方面覆蓋我這個成本另一方面去投我能接觸到的一些應用,這些應用發了幣的話,我能夠再分給用戶。
其實有些人一直在混淆叫DPOS以及POS概念,其實全部的POS都會有這個D,都會是個代理,不會是用戶直接參與節點投票,就是這個市場必定會產生收斂。
收斂到幾大專業節點專業出塊。就包括POW自己他並無規定這個鏈上的出塊節點有多少,可是最終會造成好比說前幾大礦池控制這條鏈75%的算力。他都會產生這麼一個選舉的概念,POW礦池也有選舉,礦工會選擇一個礦池,他本身不直接去出塊,由於他本身出不來那塊,只有你們抱團纔可以進行穩定出塊。
若是節點把獎勵給用戶一部分叫「賄選」的話,那POW礦池都是在賄選。因此其實不存在這個「賄選」的概念。
只不過EOS它是一種比較傾向於人治的系統,而不是傾向於代碼之類的系統。他中間嚴重依賴於21節點的KYC。但願他們可以就是無縫的合做來達到這個鏈穩定高效的出塊,因此沒有懲罰的概念,只有一點弱獎勵的概念。
若是這個鏈的某一些驗證人有一些錯誤的舉措或者惡意的舉措的話,這個鏈上有個概念叫仲裁:某一我的能夠去提起一個仲裁說另外一個驗證人做惡了,那要扣他多少錢或者直接把他踢掉都是能夠靈活決定的。
EOS共識,你們都是比較傾向於把它認爲成一種比較中心化的共識,或者說並非那麼學術嚴謹的經濟學上的共識。更加傾向因而一種人治的共識。
六月份要出來另一個項目的話就要Cosmos。Cosmos他們的在激勵的這塊的話作到就會更加詳細點,Cosmos是有明確的獎勵及懲罰機制,以及分成機制的,Cosmos給本身定的年化通脹率是百分之七到百分之二十,是100節點。
並且他的目標抵押,比例是百分之六十七,就是他但願三分之二的人所有把本身的幣抵押到這個系統當中來。抵押的越多,它這個系統的安全性也就越高,同時他有明確的懲罰機制。包括在同一高度進行雙籤以及多長時間不出話。同時解鎖日期爲六個月。Cosmos沒有中介人代理的角色,所有都是直投。
不一樣項目有各自不一樣的關注點。EOS簡化了共識,可以達到更高的性能以及更簡單的機制,能夠徹底發揮它WASM虛擬機的威力,這個虛擬機的目前是一個比較好的解決方案,用戶能夠直接在上面用C++去開發程序。同時能夠直接去調用C++成熟的那些庫。Cosmos自己沒有虛擬機,它上面的hub自己就是一個多資產交易的一條鏈。
其餘的共識就包括Cardano的共識,他們設計的比較複雜,由於它是衝着多鏈去設計的。它也沒有明確的驗證人的上限,並且是有分成的,但分成會愈來愈低。
Filecoin的礦池,衆籌了百分之十,剩下百分之九十都是要靠挖出來的,因此他大量的幣是須要去分發的。這中間也會有一個礦池的角色,礦池會把存儲的任務進行切分,同時把出塊的獎勵給普通的硬盤和帶寬貢獻者去分發。
對於EOS,如今節點選舉這件事情,如今你們社區裏比較熱,國際上有幾大節點,國內的話也有一些節點,咱們鏈池也是參與了這件事情。
鏈池最大的不同的地方鏈池是一個多鏈礦池,咱們不只是爲了給EOS提供服務。咱們還會給就剛纔說的一些POS的鏈和POW的鏈提供服務,因此咱們會作一個PC版的頁面,這個頁面上會統計你們在各個鏈上的投票以及收益狀況,會是一個相似於交易所體驗的一個網站。
單純參與某一條鏈的共識要想得到收益的話,能夠直接在錢包裏進行參與,可是你想有一個比較各個鏈收益率的工具的話,就須要一個多鏈的礦池給你們提供這個服務。礦池類的服務呢,在目前這個階段咱們以爲是比較剛需的一個服務。
區塊鏈目前自己還在打這個地基。鏈自己是第一層基礎設施,第二層之上就是礦池類的基礎設施。只有把這個共識作好,鏈才能是一個安全的環境,你們才能夠安心的在上面託管本身的資產以及作價值類的應用。
今天大概就分享這麼多,謝謝你們。
本文內容來源於:EOS原力
做者:嶽利鵬(口述)
如下是咱們的社區介紹,歡迎各類合做、交流、學習:)
HiBlock區塊鏈社區更多活動點擊**「閱讀原文」**查看