btc和eth共識機制
比特幣和以太坊是pow算力挖礦。ipfs是存儲即挖礦,新型模式。
2. 區塊鏈的共識機制
一、區塊鏈共識機制的目標
區塊鏈是什麼?簡單而言,區塊鏈是一種去中心化的資料庫,或可以叫作分布式賬本(distributed ledger)。傳統上所有的資料庫都是中心化的,例如一間銀行的賬本就儲存在銀行的中心伺服器里。中心化資料庫的弊端是數據的安全及正確性全系於資料庫運營方(即銀行),因為任何能夠訪問中心化資料庫的人(如銀行職員或黑客)都可以破壞或修改其中的數據。
而區塊鏈技術則容許資料庫存放在全球成千上萬的電腦上,每個人的賬本通過點對點網路進行同步,網路中任何用戶一旦增加一筆交易,交易信息將通過網路通知其他用戶驗證,記錄到各自的賬本中。區塊鏈之所以得其名是因為它是由一個個包含交易信息的區塊(block)從後向前有序鏈接起來的數據結構。
很多人對區塊鏈的疑問是,如果每一個用戶都擁有一個獨立的賬本,那麼是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬個賬本又如何保證記賬的一致性? 解決記賬一致性問題正是區塊鏈共識機制的目標 。區塊鏈共識機制旨在保證分布式系統里所有節點中的數據完全相同並且能夠對某個提案(proposal)(例如是一項交易紀錄)達成一致。然而分布式系統由於引入了多個節點,所以系統中會出現各種非常復雜的情況;隨著節點數量的增加,節點失效或故障、節點之間的網路通信受到干擾甚至阻斷等就變成了常見的問題,解決分布式系統中的各種邊界條件和意外情況也增加了解決分布式一致性問題的難度。
區塊鏈又可分為三種:
公有鏈:全世界任何人都可以隨時進入系統中讀取數據、發送可確認交易、競爭記賬的區塊鏈。公有鏈通常被認為是「完全去中心化「的,因為沒有任何人或機構可以控制或篡改其中數據的讀寫。公有鏈一般會通過代幣機制鼓勵參與者競爭記賬,來確保數據的安全性。
聯盟鏈:聯盟鏈是指有若干個機構共同參與管理的區塊鏈。每個機構都運行著一個或多個節點,其中的數據只允許系統內不同的機構進行讀寫和發送交易,並且共同來記錄交易數據。這類區塊鏈被認為是「部分去中心化」。
私有鏈:指其寫入許可權是由某個組織和機構控制的區塊鏈。參與節點的資格會被嚴格的限制,由於參與的節點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊、並且能夠做到身份認證等金融行業必須的要求。相比中心化資料庫,私有鏈能夠防止機構內單節點故意隱瞞或篡改數據。即使發生錯誤,也能夠迅速發現來源,因此許多大型金融機構在目前更加傾向於使用私有鏈技術。
二、區塊鏈共識機制的分類
解決分布式一致性問題的難度催生了數種共識機制,它們各有其優缺點,亦適用於不同的環境及問題。被眾人常識的共識機制有:
l PoW(Proof of Work)工作量證明機制
l PoS(Proof of Stake)股權/權益證明機制
l DPoS(Delegated Proof of Stake)股份授權證明機制
l PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯演算法
l DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯演算法
l SCP (Stellar Consensus Protocol ) 恆星共識協議
l RPCA(Ripple Protocol Consensus Algorithm)Ripple共識演算法
l Pool驗證池共識機制
(一)PoW(Proof of Work)工作量證明機制
1. 基本介紹
在該機制中,網路上的每一個節點都在使用SHA256哈希函數(hash function) 運算一個不斷變化的區塊頭的哈希值 (hash sum)。 共識要求算出的值必須等於或小於某個給定的值。 在分布式網路中,所有的參與者都需要使用不同的隨機數來持續計算該哈希值,直至達到目標為止。當一個節點的算出確切的值,其他所有的節點必須相互確認該值的正確性。之後新區塊中的交易將被驗證以防欺詐。
在比特幣中,以上運算哈希值的節點被稱作「礦工」,而PoW的過程被稱為「挖礦」。挖礦是一個耗時的過程,所以也提出了相應的激勵機制(例如向礦工授予一小部分比特幣)。PoW的優點是完全的去中心化,其缺點是消耗大量算力造成了的資源浪費,達成共識的周期也比較長,共識效率低下,因此其不是很適合商業使用。
2. 加密貨幣的應用實例
比特幣(Bitcoin) 及萊特幣(Litecoin)。以太坊(Ethereum) 的前三個階段(Frontier前沿、Homestead家園、Metropolis大都會)皆採用PoW機制,其第四個階段 (Serenity寧靜) 將採用權益證明機制。PoW適用於公有鏈。
PoW機制雖然已經成功證明了其長期穩定和相對公平,但在現有框架下,採用PoW的「挖礦」形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運算來保證工作量公平,並沒有其他的存在意義。而目前BTC所能達到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區塊GAS總額的上限,所能達到的交易頻率大約是25TPS,與平均千次每秒、峰值能達到萬次每秒處理效率的VISA和MASTERCARD相差甚遠。
3. 簡圖理解模式
(ps:其中A、B、C、D計算哈希值的過程即為「挖礦」,為了犒勞時間成本的付出,機制會以一定數量的比特幣作為激勵。)
(Ps:PoS模式下,你的「挖礦」收益正比於你的幣齡(幣的數量*天數),而與電腦的計算性能無關。我們可以認為任何具有概率性事件的累計都是工作量證明,如淘金。假設礦石含金量為p% 質量, 當你得到一定量黃金時,我們可以認為你一定挖掘了1/p 質量的礦石。而且得到的黃金數量越多,這個證明越可靠。)
(二)PoS(Proof of Stake)股權/權益證明機制
1.基本介紹
PoS要求人們證明貨幣數量的所有權,其相信擁有貨幣數量多的人攻擊網路的可能性低。基於賬戶余額的選擇是非常不公平的,因為單一最富有的人勢必在網路中佔主導地位,所以提出了許多解決方案。
在股權證明機制中,每當創建一個區塊時,礦工需要創建一個稱為「幣權」的交易,這個交易會按照一定比例預先將一些幣發給礦工。然後股權證明機制根據每個節點持有代幣的比例和時間(幣齡), 依據演算法等比例地降低節點的挖礦難度,以加快節點尋找隨機數的速度,縮短達成共識所需的時間。
與PoW相比,PoS可以節省更多的能源,更有效率。但是由於挖礦成本接近於0,因此可能會遭受攻擊。且PoS在本質上仍然需要網路中的節點進行挖礦運算,所以它同樣難以應用於商業領域。
2.數字貨幣的應用實例
PoS機制下較為成熟的數字貨幣是點點幣(Peercoin)和未來幣(NXT),相比於PoW,PoS機制節省了能源,引入了" 幣天 "這個概念來參與隨機運算。PoS機制能夠讓更多的持幣人參與到記賬這個工作中去,而不需要額外購買設備(礦機、顯卡等)。每個單位代幣的運算能力與其持有的時間長成正相關,即持有人持有的代幣數量越多、時間越長,其所能簽署、生產下一個區塊的概率越大。一旦其簽署了下一個區塊,持幣人持有的幣天即清零,重新進入新的循環。
PoS適用於公有鏈。
3.區塊簽署人的產生方式
在PoS機制下,因為區塊的簽署人由隨機產生,則一些持幣人會長期、大額持有代幣以獲得更大概率地產生區塊,盡可能多的去清零他的"幣天"。因此整個網路中的流通代幣會減少,從而不利於代幣在鏈上的流通,價格也更容易受到波動。由於可能會存在少量大戶持有整個網路中大多數代幣的情況,整個網路有可能會隨著運行時間的增長而越來越趨向於中心化。相對於PoW而言,PoS機制下作惡的成本很低,因此對於分叉或是雙重支付的攻擊,需要更多的機制來保證共識。穩定情況下,每秒大約能產生12筆交易,但因為網路延遲及共識問題,需要約60秒才能完整廣播共識區塊。長期來看,生成區塊(即清零"幣天")的速度遠低於網路傳播和廣播的速度,因此在PoS機制下需要對生成區塊進行"限速",來保證主網的穩定運行。
4.簡圖理解模式
(PS:擁有越多「股份」權益的人越容易獲取賬權。是指獲得多少貨幣,取決於你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。)
(在純POS體系中,如NXT,沒有挖礦過程,初始的股權分配已經固定,之後只是股權在交易者之中流轉,非常類似於現實世界的股票。)
(三)DPoS(Delegated Proof of Stake)股份授權證明機制
1.基本介紹
由於PoS的種種弊端,由此比特股首創的權益代表證明機制 DPoS(Delegated Proof of Stake)應運而生。DPoS 機制中的核心的要素是選舉,每個系統原生代幣的持有者在區塊鏈裡面都可以參與選舉,所持有的代幣余額即為投票權重。通過投票,股東可以選舉出理事會成員,也可以就關系平台發展方向的議題表明態度,這一切構成了社區自治的基礎。股東除了自己投票參與選舉外,還可以通過將自己的選舉票數授權給自己信任的其它賬戶來代表自己投票。
具體來說, DPoS由比特股(Bitshares)項目組發明。股權擁有著選舉他們的代表來進行區塊的生成和驗證。DPoS類似於現代企業董事會制度,比特股系統將代幣持有者稱為股東,由股東投票選出101名代表, 然後由這些代表負責生成和驗證區塊。 持幣者若想稱為一名代表,需先用自己的公鑰去區塊鏈注冊,獲得一個長度為32位的特有身份標識符,股東可以對這個標識符以交易的形式進行投票,得票數前101位被選為代表。
代表們輪流產生區塊,收益(交易手續費)平分。DPoS的優點在於大幅減少了參與區塊驗證和記賬的節點數量,從而縮短了共識驗證所需要的時間,大幅提高了交易效率。從某種角度來說,DPoS可以理解為多中心系統,兼具去中心化和中心化優勢。優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。缺點:投票積極性不高,絕大部分代幣持有者未參與投票;另整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
DPoS機制要求在產生下一個區塊之前,必須驗證上一個區塊已經被受信任節點所簽署。相比於PoS的" 全民挖礦 ",DPoS則是利用類似" 代表大會 "的制度來直接選取可信任節點,由這些可信任節點(即見證人)來代替其他持幣人行使權力,見證人節點要求長期在線,從而解決了因為PoS簽署區塊人不是經常在線而可能導致的產塊延誤等一系列問題。 DPoS機制通常能達到萬次每秒的交易速度,在網路延遲低的情況下可以達到十萬秒級別,非常適合企業級的應用。 因為公信寶數據交易所對於數據交易頻率要求高,更要求長期穩定性,因此DPoS是非常不錯的選擇。
2. 股份授權證明機制下的機構與系統
理事會是區塊鏈網路的權力機構,理事會的人選由系統股東(即持幣人)選舉產生,理事會成員有權發起議案和對議案進行投票表決。
理事會的重要職責之一是根據需要調整系統的可變參數,這些參數包括:
l 費用相關:各種交易類型的費率。
l 授權相關:對接入網路的第三方平台收費及補貼相關參數。
l 區塊生產相關:區塊生產間隔時間,區塊獎勵。
l 身份審核相關:審核驗證異常機構賬戶的信息情況。
l 同時,關繫到理事會利益的事項將不通過理事會設定。
在Finchain系統中,見證人負責收集網路運行時廣播出來的各種交易並打包到區塊中,其工作類似於比特幣網路中的礦工,在採用 PoW(工作量證明)的比特幣網路中,由一種獲獎概率取決於哈希算力的抽彩票方式來決定哪個礦工節點產生下一個區塊。而在採用 DPoS 機制的金融鏈網路中,通過理事會投票決定見證人的數量,由持幣人投票來決定見證人人選。入選的活躍見證人按順序打包交易並生產區塊,在每一輪區塊生產之後,見證人會在隨機洗牌決定新的順序後進入下一輪的區塊生產。
3. DPoS的應用實例
比特股(bitshares) 採用DPoS。DPoS主要適用於聯盟鏈。
4.簡圖理解模式
(四)PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯演算法
1. 基本介紹
PBFT是一種基於嚴格數學證明的演算法,需要經過三個階段的信息交互和局部共識來達成最終的一致輸出。三個階段分別為預備 (pre-prepare)、准備 (prepare)、落實 (commit)。PBFT演算法證明系統中只要有2/3比例以上的正常節點,就能保證最終一定可以輸出一致的共識結果。換言之,在使用PBFT演算法的系統中,至多可以容忍不超過系統全部節點數量1/3的失效節點 (包括有意誤導、故意破壞系統、超時、重復發送消息、偽造簽名等的節點,又稱為」拜占庭」節點)。
2. PBFT的應用實例
著名聯盟鏈Hyperledger Fabric v0.6採用的是PBFT,v1.0又推出PBFT的改進版本SBFT。PBFT主要適用於私有鏈和聯盟鏈。
3. 簡圖理解模式
上圖顯示了一個簡化的PBFT的協議通信模式,其中C為客戶端,0 – 3表示服務節點,其中0為主節點,3為故障節點。整個協議的基本過程如下:
(1) 客戶端發送請求,激活主節點的服務操作;
(2) 當主節點接收請求後,啟動三階段的協議以向各從節點廣播請求;
(a) 序號分配階段,主節點給請求賦值一個序號n,廣播序號分配消息和客戶端的請求消息m,並將構造pre-prepare消息給各從節點;
(b) 交互階段,從節點接收pre-prepare消息,向其他服務節點廣播prepare消息;
(c) 序號確認階段,各節點對視圖內的請求和次序進行驗證後,廣播commit消息,執行收到的客戶端的請求並給客戶端響應。
(3) 客戶端等待來自不同節點的響應,若有m+1個響應相同,則該響應即為運算的結果;
(五)DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯演算法
1. 基本介紹
DBFT建基於PBFT的基礎上,在這個機制當中,存在兩種參與者,一種是專業記賬的「超級節點」,一種是系統當中不參與記賬的普通用戶。普通用戶基於持有權益的比例來投票選出超級節點,當需要通過一項共識(記賬)時,在這些超級節點中隨機推選出一名發言人擬定方案,然後由其他超級節點根據拜占庭容錯演算法(見上文),即少數服從多數的原則進行表態。如果超過2/3的超級節點表示同意發言人方案,則共識達成。這個提案就成為最終發布的區塊,並且該區塊是不可逆的,所有裡面的交易都是百分之百確認的。如果在一定時間內還未達成一致的提案,或者發現有非法交易的話,可以由其他超級節點重新發起提案,重復投票過程,直至達成共識。
2. DBFT的應用實例
國內加密貨幣及區塊鏈平台NEO是 DBFT演算法的研發者及採用者。
3. 簡圖理解模式
假設系統中只有四個由普通用戶投票選出的超級節點,當需要通過一項共識時,系統就會從代表中隨機選出一名發言人擬定方案。發言人會將擬好的方案交給每位代表,每位代表先判斷發言人的計算結果與它們自身紀錄的是否一致,再與其它代表商討驗證計算結果是否正確。如果2/3的代表一致表示發言人方案的計算結果是正確的,那麼方案就此通過。
如果只有不到2/3的代表達成共識,將隨機選出一名新的發言人,再重復上述流程。這個體系旨在保護系統不受無法行使職能的領袖影響。
上圖假設全體節點都是誠實的,達成100%共識,將對方案A(區塊)進行驗證。
鑒於發言人是隨機選出的一名代表,因此他可能會不誠實或出現故障。上圖假設發言人給3名代表中的2名發送了惡意信息(方案B),同時給1名代表發送了正確信息(方案A)。
在這種情況下該惡意信息(方案B)無法通過。中間與右邊的代表自身的計算結果與發言人發送的不一致,因此就不能驗證發言人擬定的方案,導致2人拒絕通過方案。左邊的代表因接收了正確信息,與自身的計算結果相符,因此能確認方案,繼而成功完成1次驗證。但本方案仍無法通過,因為不足2/3的代表達成共識。接著將隨機選出一名新發言人,重新開始共識流程。
上圖假設發言人是誠實的,但其中1名代表出現了異常;右邊的代表向其他代表發送了不正確的信息(B)。
在這種情況下發言人擬定的正確信息(A)依然可以獲得驗證,因為左邊與中間誠實的代表都可以驗證由誠實的發言人擬定的方案,達成2/3的共識。代表也可以判斷到底是發言人向右邊的節點說謊還是右邊的節點不誠實。
(六)SCP (Stellar Consensus Protocol ) 恆星共識協議
1. 基本介紹
SCP 是 Stellar (一種基於互聯網的去中心化全球支付協議) 研發及使用的共識演算法,其建基於聯邦拜占庭協議 (Federated Byzantine Agreement) 。傳統的非聯邦拜占庭協議(如上文的PBFT和DBFT)雖然確保可以通過分布式的方法達成共識,並達到拜占庭容錯 (至多可以容忍不超過系統全部節點數量1/3的失效節點),它是一個中心化的系統 — 網路中節點的數量和身份必須提前知曉且驗證過。而聯邦拜占庭協議的不同之處在於它能夠去中心化的同時,又可以做到拜占庭容錯。
[…]
(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共識演算法
1. 基本介紹
RPCA是Ripple(一種基於互聯網的開源支付協議,可以實現去中心化的貨幣兌換、支付與清算功能)研發及使用的共識演算法。在 Ripple 的網路中,交易由客戶端(應用)發起,經過追蹤節點(tracking node)或驗證節點(validating node)把交易廣播到整個網路中。追蹤節點的主要功能是分發交易信息以及響應客戶端的賬本請求。驗證節點除包含追蹤節點的所有功能外,還能夠通過共識協議,在賬本中增加新的賬本實例數據。
Ripple 的共識達成發生在驗證節點之間,每個驗證節點都預先配置了一份可信任節點名單,稱為 UNL(Unique Node List)。在名單上的節點可對交易達成進行投票。共識過程如下:
(1) 每個驗證節點會不斷收到從網路發送過來的交易,通過與本地賬本數據驗證後,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集裡面還包括之前共識過程無法確認而遺留下來的交易。
(2) 每個驗證節點把自己的交易候選集作為提案發送給其他驗證節點。
(3) 驗證節點在收到其他節點發來的提案後,如果不是來自UNL上的節點,則忽略該提案;如果是來自UNL上的節點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內,當交易獲得超過50%的票數時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。
(4) 驗證節點把超過50%票數的交易作為提案發給其他節點,同時提高所需票數的閾值到60%,重復步驟(3)、步驟(4),直到閾值達到80%。
(5) 驗證節點把經過80%UNL節點確認的交易正式寫入本地的賬本數據中,稱為最後關閉賬本(last closed ledger),即賬本最後(最新)的狀態。
在Ripple的共識演算法中,參與投票節點的身份是事先知道的,因此,演算法的效率比PoW等匿名共識演算法要高效,交易的確認時間只需幾秒鍾。這點也決定了該共識演算法只適合於聯盟鏈或私有鏈。Ripple共識演算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網路中20%的節點出現拜占庭錯誤而不影響正確的共識。
2. 簡圖理解模式
共識過程節點交互示意圖:
共識演算法流程:
(八)POOL驗證池共識機制
Pool驗證池共識機制是基於傳統的分布式一致性演算法(Paxos和Raft)的基礎上開發的機制。Paxos演算法是1990年提出的一種基於消息傳遞且具有高度容錯特性的一致性演算法。過去, Paxos一直是分布式協議的標准,但是Paxos難於理解,更難以實現。Raft則是在2013年發布的一個比Paxos簡單又能實現Paxos所解決問題的一致性演算法。Paxos和Raft達成共識的過程皆如同選舉一樣,參選者需要說服大多數選民(伺服器)投票給他,一旦選定後就跟隨其操作。Paxos和Raft的區別在於選舉的具體過程不同。而Pool驗證池共識機制即是在這兩種成熟的分布式一致性演算法的基礎上,輔之以數據驗證的機制。
3. 誰可以講講天才少年V神的封神之路嗎
比特幣開啟了區塊鏈1.0時代,1.0時代的顯著特徵是:為價值轉移提供了一個不一樣的思路,即:價值轉移不再依賴於像銀行這種中心化機構。這一時期,隨著比特幣被越來越多人熟知,許多人開始借鑒比特幣的思路,於是出現了大量的山寨幣。
這些山寨幣之所以被稱為「山寨幣」,是因為,它們的源代碼和比特幣類似,並沒有什麼實質性突破,比特幣的不足,他們也照樣有,沒有什麼突破性的改進。但是,人們也並不沒有對比特幣的問題聽之任之,比特幣社區裡面的很多人,都希望能夠通過各種各樣的技術手段來解決這些問題,把比特幣這個系統改造得完美一些。
其中,有一位俄羅斯少年,名叫Vitalik Buterin(音譯:布特林),他也迫切地希望能夠盡快彌補比特幣系統的不足。
一、你打游戲圖熱鬧,人家打游戲看門道兒
說起來,布特林接觸比特幣的經歷有點戲劇性。
他在13歲的時候,是個典型的網癮少年,沉迷於魔獸世界不能自拔。有一天,魔獸世界這個游戲的公司,突然取消了他最心愛的術士「生命虹吸」技能,他很憤怒,多次聯系該公司還原這個技能,但是,游戲公司並不同意。
於是,布特林開始反思,在互聯網游戲里,玩家作為參與方,其實很弱勢,強大的是游戲開發商,他們才是一個游戲的中心。這種中心化服務的一個最大弊端就是,一切都是開發商說了算,玩家根本沒有什麼發言權,只能選擇被動接受,或者離開。
布特林通過「魔獸世界」游戲認識到了中心化的弊端,於是他開始尋找打破中心化的方式。布特林從他程序員父親那裡認識到了比特幣,並產生了濃厚的興趣,以至於他決定放棄名校光環,從滑鐵盧大學輟學,去周遊世界,與全世界區塊鏈愛好者共同交流學習。
當時,比特幣愛好者正在全力以赴地為比特幣增加更多的功能性,打造比特幣2.0。但布特林認為,建立一個全新的編程語言才是比特幣的當務之急。於是,年僅19歲的布特林撰寫了一套新的白皮書,這份白皮書便是《以太坊白皮書》的雛形。布特林在白皮書
中提到:希望能夠基於通用的編程語言,創建各種各樣的應用,比如社交、交易、游戲…… 這些觀點得到了比特幣社區的強烈反響,越來越多的人加入到了以太坊的設計之中。最後,這個項目被布特林命名為「以太坊」,因為「以太」是一種在科學理論下還未被證實的物質,暗含了布特林對項目的期待。
2015年6月,以太坊正式發布。
之後的兩年間,以太坊催生的加密貨幣「以太幣」成為繼比特幣之後最受追捧的數字資產,以太幣的價格在2017全年翻了85倍,摩根大通、芝加哥交易所集團、微軟、英特爾、埃森哲等20多家全球頂尖金融機構和科技公司成立了企業以太坊聯盟……就這樣,布特林從一個初出茅廬的少年變成了區塊鏈大神級人物「V神」。
二、以太坊激活區塊鏈的巨大潛力
以太坊的出現激活了區塊鏈背後的巨大潛力,為什麼這么說呢?
以太坊的突破之處在於,不光把區塊鏈升級成了操作系統,讓大家可以在這基礎上開發應用鏈,而且還可以讓大家以特別簡單的方式來發布自己的代幣。
和比特幣事先設定好交易系統操作不同,以太坊是一種可編程的區塊鏈:
以太坊允許用戶創建他自己的、符合他們需要的、具備不同復雜程度的操作。從這個意義上看,以太坊是一個平台,這個「平台」已經搭建好了一套比較完備的「系統」,有點類似安卓、蘋果,應用開發者們可以在這條系統上開發各種各樣的應用。
這樣的設定,又使以太坊突破了比特幣單一的「貨幣職能」,使區塊鏈這一技術的應用場景擴大到方方面面。拿我們現在來說 ,我們可以通過手機App做很多事情:繳費、訂餐、打車、購物等等,同樣,開發者可以在以太坊上開發DApp(區塊鏈應用),未來你可以通過DApp去替代App,去繳費、訂餐、打車、購物……以太坊賦予我們這些美好的願景。
三、從「工作量證明機制」到「權益證明機制」
以太坊的共識機制也和比特幣不同。前面我們提到,比特幣是通過POW的共識機制來決定記賬權的,盡管POW的安全指數較高,但挖礦的能耗和成本都是巨大的,處理交易速度還很慢。於是,以太坊將比特幣的技術進一步豐富化,提出了新的挖礦機制,即——權益證明(PoS)。
以太坊提出的「權益證明」類似於股東機制,擁有股份越多的人越容易獲取記賬權,是根據持幣量和持幣時間進行利息分配的制度。POS機制的核心邏輯是:誰持有幣,誰就有網路的控制權。需要注意的是,在POS機制中,仍然存在算力挖礦,需要算力解決一個數學難題,但數學難題的難度和持幣者的「幣齡」相關,持幣者持有幣的時間越長,難度就越簡單,挖到幣的概率越大。
四、飽受爭議的 ICO
以太坊是一套開源的系統,類似於現在的安卓、蘋果系統,開發者可以在上面開發各種各樣的應用,ICO項目多數就是基於以太坊開發的應用。開發者者想要在以太坊上開發區塊鏈應用(DApp),需要通過ICO來募集一定的資金作為運維成本。
ICO這個概念在2017年非常火爆,一度被認為是帶來2017年大牛市的主要原因。
ICO是怎麼回事呢?ICO(Initial Coin Offering,簡稱ICO)是一種為數字貨幣/區塊鏈項目籌措資金的方式,由於代幣具有市場價值,可以兌換成法幣,這樣一來,就可以用作項目的開發成本。而早期參與者可以從中獲得初始發行的數字貨幣作為回報。
通俗來講,假如一家區塊鏈游戲公司宣布:我們要發幣私募(ICO)啦!如果你特別看好這個項目,你想參加就需要先買一定數量的以太坊,打到這個區塊鏈游戲項目方的錢包地址上,這就相當於你參與了這個區塊鏈游戲項目方的眾籌(ICO)。等到這家區塊鏈游戲公司的幣上到交易所可以實現交易了,那麼他們會按照一定的規則,給你回報。
區塊鏈領域的 ICO,看起來和股票領域的 IPO(首次公開募股)差不多是不是?沒錯!區塊鏈領域的ICO其實和股票領域的IPO(Initial Public Offerings,簡稱IPO)非常相似,我們看一下二者的概括解釋:
IPO是指一家企業或公司 (股份有限公司)第一次將它的股份向公眾出售。
ICO 是指一家企業或公司 (多數為區塊鏈創業公司)第一次將它的代幣向公眾出售。
不過,正常來講,企業或者公司到IPO這一步是非常難的,要經過「BP ——種子輪 ——天使輪——A 輪——B輪——C輪——D輪——Pre IPO——IPO」,沒有五年到八年是 是很難實現的。但是區塊鏈領域的ICO呢,只需要「白皮書——基石投資——私募—
—ICO——上交易所」,大概三到八個月就能實現了。
這也是ICO是非常有爭議的原因,目前很多國家把ICO界定為違法行為。禁止ICO不是沒有道理的,因為目前國家對這方面沒有相關的監管,就很容易出現項目方非法集資、圈錢跑路,不僅給投資者造成很大的損失,也擾亂了正常的金融秩序。
五、備受推崇的「智能合約」
以太坊最大的特點在於引入了「智能合約」。智能合約是什麼意思呢?智能合約是用代碼的方式定義一套交易規則。日常生活中,我們通常是簽署紙質合約,履行紙質合約需要中心化機構,也就是法院來進行監管。以太坊提出的「智能合約」,是通過程序實現去中心化的自動執行。
這個叫作」智能合約賬號「的賬戶,只會按照代碼去執行。這一技術的應用范圍非常廣泛,涉及:保險、股權、信託等等,可以說凡是需要信任為基礎的活動都可以應用這一技術。
六、以太坊的意義:代表區塊鏈 2.0 時代
以太坊發展到今天,有過輝煌也經歷著挫折。度過了2017的輝煌期,到了現在,面對熊市,一些ICO項目擔心被熊市所累,紛紛套現離場,導致以太坊的價格暴跌。以太坊創始人V神也深陷各種弄謠言中,坊間時常流出他要退出以太坊、他跑路了這種傳言。
盡管如此,以太坊對於區塊鏈技術而言,的確是一次飛躍性的突破,它代表了區塊鏈
2.0時代。如果說比特幣代表的區塊鏈1.0時代,為價值轉移提供了新的思路和新的方法;那麼,以太坊代表的區塊鏈2.0時代,則讓區塊鏈商業應用變得可能。
4. 比特幣和以太坊挖礦有什麼區別
比特幣採用的是SHA-256加密演算法發,在挖礦的時候,比拼的是算力。為了提高算力,比特幣經歷了CPU挖礦、GPU挖礦、FPGA挖礦和現在的ASIC礦機挖礦四個階段,專業化程度越來越高。
以太坊採用的是Ethash加密演算法,在挖礦的過程中,需要讀取內存並存儲DAG文件。由於每一次讀取內存的帶寬都是有限的,而現有的計算機技術又很難在這個問題上有質的突破,所以無論如何提高計算機的運算效率,內存讀取效率仍然不會有很大的改觀。因此從某種意義上來說,以太坊的Ethash加密演算法具有「抗ASIC性」.
加密演算法的不同,導致了比特幣和以太坊的挖礦設備、算力規模差異很大。
目前,比特幣挖礦的、設備主要是專業化程度非常高的ASIC礦機,單台礦機的算力最高達到了110T/s,全網算力的規模在120EH/s以上。
以太坊的挖礦設備主要是顯卡礦機,專業化的ASIC礦機非常少,一方面是因為以太坊挖礦演算法的「抗ASIC性」提高了研發ASIC礦機的門檻,另一方面是因為以太坊升級到2.0之後共識機制會轉型為PoS,礦機無法繼續挖礦。
和ASIC礦機相比,顯卡礦機在啊算力上相差了2個量級。目前,主流的顯卡礦機(8卡)算力約為420MH/s,以太坊全網算力約為230TH/s.
從過去兩年的時間維度上看,比特幣的全網算力增長迅速,以太坊的全網算力增長相對緩慢。
比特幣的ASIC礦機被幾大礦機廠商所壟斷,礦工只能從市場上購買;以太坊的顯卡礦機,雖然也有專門的礦機廠商生產製造,礦工還可以根據自己的需求DIY,從市場上購買配件然後自己組裝。
5. 為什麼filecoin的挖礦模式區別於比特幣以太坊的挖礦模式
主要是共識機制不一樣,比特幣和以太坊挖礦都是採用PoW機制,需要耗費大量能源做哈希運算,對環境不友好,且沒有對實體經濟產生實質性的價值。
Filecoin採用PoSt機制,PoSt機制中的算力基於實實在在的有用的存儲服務,使用一段時間內一個礦工所擁有的數據量作為算力大小的證明。基於這一點,PoSt機制是區塊鏈共識機制的一次全新的具有未來意義的探索。
隨著5G的商用,越來越多的數據需要存儲,PoSt機制的出現和發展可為後續的商業生態提供前提條件。
6. 比特幣———一個幣值8萬多元人民幣
接觸過數字貨幣的人對比特幣都不陌生,它是數字貨幣的祖宗,如果你在2010年的時候用三美元買1萬個比特幣留到現在,那麼現在你的身價是8億多人民幣,是不是不可思議
區塊鏈技術被稱為是繼,蒸汽機,電,互聯網,之後的一個劃時代的標志,
比特幣的底層技術是什麼呢?
是區塊鏈技術,那麼區塊鏈技術又是什麼呢,舉個通俗易懂的例子,你去招商銀行存錢,存了100萬,有一天招商銀行的銀行系統被黑客攻擊了,並且把你的賬戶的錢轉走了50萬,你的存款單也丟了,這時候銀行不想把你丟了的錢補給你,你是不是要抓狂。區塊鏈就是有無數的存儲系統,而且裡面都存有相同的內容,沒有人可以修改已經生產的賬單,就像以前只有一個賬本,但是用了區塊鏈之後就有無數的記賬賬本,而且分布在各個地方。更專業一點說,區塊鏈技術是由利用塊鏈式數據結構來驗證和存儲數據,利用分布式節點共識演算法來生成和更新數據,利用密碼學的方式來保證數據傳輸和訪問的安全,利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
但是現在是數字貨幣泛濫的年代,各種新的數字貨幣發行進行洗錢跑路,最後一地雞毛,對於目前國家提倡的區塊鏈技術和企業鏈改如果落到實地,這樣的數字貨幣還是可以持有的,我們知道只有大公司才能上市,但是所以公司都能上鏈
如果你對某個數字貨幣非常了解,並且知道它的運營情況,有沒有落地到實地幫助公司進行鏈改,技術支撐等,不然盡量不要去買。
回到BTC,BTC公鏈被稱為區塊鏈的1.0時代,採用的是POW共識機制,也就是工作量證明,你獲得多少貨幣,取決於你挖礦貢獻的有效工作,電腦性能越好,分給你的礦就越多,POW機制解決了拜占庭將軍問題,就是在互相不信任的情況下,只要多少人都信任,那麼就能保證系統的正確運作,但是也有一定的缺陷,就是處理交易的速度太慢,礦工們需要不斷的通過計算來碰撞哈希值,這是勞民傷財且效率低下的。TPS系統吞吐量(用戶並發量)7筆/秒。ETH這條公鏈被稱為區塊鏈的2.0時代,ETH提出了新的共識機制POW+POS(權益證明)簡單來說就是你持有的幣越多,你的權益就越高,因為你持有的幣越多,持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些,TPS為21筆/秒。EOS被成為3.0的公鏈,DPOS共識機制(拜占庭容錯的委託權益證明)對於POS機制的加密貨幣,每個節點都可以創建區塊,並按照個人的持股比例獲得「利息」,出塊時間3秒,TPS為5000筆/秒。
一、從比特幣看區塊鏈技術
(一)比特幣(Bitcoin)是一種數字加密貨幣比特幣是一種數字加密貨幣,由中本聰(SatoshiNakamoto)2009 年1 月25 日設計上線。比特幣的產生、發行和交易機制與傳統貨幣不同。傳統貨幣的產生、發行和交易依託於中央銀行、商業銀行等中心化的二元模式;而比特幣的發行不需要中心化的金融中介,比特幣社區用戶可通過比特幣區塊鏈網路發行和管理數字加密貨幣。比特幣是以黃金模式發行,人們形象地將該過程稱為「挖礦(Mining)」,並將所有提供計算力的節點稱為「礦工(Miner)」。目前,比特幣挖礦的發行方式使每位礦工都可以從中獲取6.25 個比特幣的收益。實際上,比特幣的發行過程是求解多重哈希值解方程(Hash Function)的過程。節點挖礦獲得比特幣的過程,是通過計算機進行大量計算求出合理的哈希值來實現的。簡而言之,這個過程的主要目標是求解交易雙方的公鑰。每次求出的解都會作為下次計算的初始條件,節點在此基礎計算新結果。當一個節點解出一組之前未解出的哈希值時,系統向全網路發布,各節點查驗本地資料庫。如果各節點發現該解正確,並且資料庫中沒有此解記錄,將確認並記錄該解的合法性。當所有節點都確認並記錄完畢時,求出該解的節點便被獎勵一定數量的比特幣。作為比特幣最底層的核心技術,區塊鏈技術來源於2014 年10 月大英圖書館的一次研討會。比特幣是區塊鏈技術最成功的金融應用,它以公開賬本的形式在全網記錄所有交易信息。隨著比特幣的普及和應用,區塊鏈技術日益受到金融 科技 界的關注。
(二)區塊鏈是弱中心化的分布式賬本協議區塊鏈技術提供了一份公共的分布式安全賬本,是一種開放式的價值傳遞協議。實際上,區塊鏈是一個由使用密碼學方法相關聯產生的數據塊構成的弱中心化的資料庫,任何發生在此區塊鏈網路上的交易,均會以約定的演算法記錄到區塊鏈系統上。所有節點都保存一份完整的數據備份,包含自該區塊鏈系統形成以來的所有交易記錄。區塊鏈由一個個區塊組成。區塊是區塊鏈的基本存儲單元,記錄了10 分鍾內各節點的全部交易信息。每一個數據區塊中包含一次交易信息,用於驗證信息的有效性,並為下一個區塊的生成做准備。區塊由三部分組成:本區塊的地址、交易單和前一個區塊的地址。當區塊鏈上一個節點發起一筆交易時,該節點需要將信息向其他節點進行公告。該節點用私鑰加密信息,從而可有效防止信息偽造。由於了解 歷史 交易信息,收到信息的節點利用備份信息能夠判斷交易是否真實。各節點驗證成功後,將最後一個區塊的地址與交易信息結合,形成一個新區塊,並打上時間戳(Timestamp)連接到區塊鏈上,完成交易的全過程。由於每個區塊都擁有前一個區塊的地址,人們可以通過後一區塊地址找到前一區塊,直至初始區塊。因此,區塊鏈就是由根據時間順序相連接的區塊構成的完整交易信息鏈條。
(三)區塊鏈的特點
區塊鏈是一個全新的資料庫系統,具有弱中心化、不可篡改、包容性等特點。其中,弱中心化、不可篡改是區塊鏈技術區別於傳統技術的核心特徵。這兩個特徵使得由區塊鏈技術構建的系統能夠通過系統機制設置,實現「自信任」。
1. 弱中心化。區塊鏈系統的每個節點都保存著一份完整數據備份,能夠有效預防中央伺服器發生故障而導致的網路癱瘓和數據丟失,以及黑客對單個節點的惡意攻擊,從而保證數據的安全。除非有人能同時控制系統中超過51% 的節點,否則對於單個節點的攻擊不能影響其他節點數據的內容。
2. 不可篡改。區塊鏈系統是一個公共的總賬本,系統全部數據都公開、透明地記錄在該賬本上。所有數據通過網路共識演算法記錄,每筆基於區塊鏈交易的新信息都會向全網發布,經各個節點逐一確認、保存後,將收到的交易信息形成新區塊,確保區塊鏈系統信息不可篡改、無法作假、可以追溯。同時,區塊鏈技術使用隨機散列演算法和時間戳技術,節點在驗證時會蓋上時間戳,提供交易時間證明,保證同筆交易的唯一性。如果要修改某個區塊的交易信息,必須要完成該區塊及之後區塊的所有信息。由於修改後會造成哈希值與原來的哈希值不同,無法通過其他節點確認,將使得修改無效,大大提高了篡改信息的難度。因此,區塊鏈技術可以為交易提供可靠的信用保證。其不可篡改的特性為解決合同沖突提供了有效方案,可以應用於存儲並公證永久性記錄和需要確保信息真實性的領域。如,財產所有權的公證。
3. 包容性。區塊鏈技術以演算法為基礎,摒棄了不同國家文化和經濟差異,使各國機構可以建立統一的信用體系。此外,區塊鏈技術是對外開源和共享的:任何進入區塊鏈的機構和個人,不僅能提交記錄,還能得到完整的系統 歷史 交易記錄,並對信息所有者確權;同時,由於區塊鏈系統運行於互聯網,符合要求的任何機構和個人都能以節點的方式加入該系統。
4.溯源,公開透明。
因為區塊鏈或者說是數字貨幣涉及的知識與比應用比較多,感興趣的朋友可以點關注,我會整理和發布更多的區塊鏈和數字貨幣的知識
7. 比特藍鯨上的三種幣BTC、ETH、USDT是屬於什麼意思
BTC是比特幣,ETH是以太坊幣,USDT是由美國Tether公司為了與美元等值發行的一種代幣
8. etr是什麼幣
以太坊區塊鏈上的代幣稱為以太幣(Ether),代碼為ETH,可在許多加密貨幣的外匯市場上交易,它也是以太坊上用來支付交易手續費和運算服務費的媒介 。
以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台,通過其專用加密貨幣以太幣(Ether)提供去中心化的虛擬機(「以太虛擬機」 Ethereum Virtual Machine)來處理點對點合約。
【拓展資料】
以太幣跟比特幣有什麼區別:
一、ETH與比特幣方向不同
首先,ETH與比特幣,這兩者背後區塊鏈系統的方向完全不同。比特幣的定位就是單純的數字貨幣,可以被認為是一種點對點的電子現金。它是為了取代法幣、解決金融危機而誕生,主要應用於付款和價值轉移。所以比特幣背後的整個區塊鏈網路方向都是以貨幣為主,解決交易、支付問題。而ETH則不同,它雖然也是數字貨幣,具備一定的交易屬性,但是ETH背後的以太坊區塊鏈網路定位是世界級的通用計算平台,它只是借用比特幣中的區塊鏈技術,以此為基礎,朝著偏向於互聯網的操作系統級應用方面發展。
二、ETH與比特幣作用不同
由於以太坊與比特幣的方向定位不同,導致兩者的數字貨幣作用也有所不同。比特幣的方向是貨幣,想要成為常規貨幣的替代品。所以,比特幣系統中,其數字貨幣BTC是極為重要的一環,可以說是整個系統的最終體現,它的作用就是作為支付交易的媒介和價值儲存的載體。而以太坊的目標是操作系統級別的計算平台,就比較偏向於互聯網服務方面,它的價值體現在於有多少用戶使用以太坊這個平台,以及你這個平台給我提供多優質的服務。所以,這就決定了ETH在以太坊平台中,只是一個重要環節,但卻不是全部平台的價值體現,它只是以太坊上提高服務質量、處理交易的一種貨幣工具,讓平台上發生的點對點交易和應用程序更加便捷化。所以,盡管比特幣和以太幣都是數字貨幣,但比特幣是想要成為法幣的替代品,作為一種去中心化的電子現金系統被大家使用,整個系統更像是使用區塊鏈技術支持的一個特定應用程序。
三、ETH與比特幣機制原理不同
比特幣與以太坊的共識機制不同。在比特幣區塊鏈網路中,起到數據維護作用的共識機制是PoW機制,即工作量證明機制。它的工作原理是,大家一起參與,誰處理得最快最好,誰就能獲得記錄數據的權力,進而獲得比特幣獎勵。因為比特幣的應用方向是貨幣,使用場景是沒有中心化機構參與的點對點支付與交易,所以,比特幣就強烈地需要去中心化與安全這兩個屬性,而PoW機制雖然處理交易的速度過慢,而且需要花費大量的資源,但是安全性和去中心化程度極高,故此與比特幣契合。
以太坊所採用的是PoS共識機制,即權益證明機制,它的工作原理是,大家一起參與,誰持有的以太幣多,誰就越容易獲得記錄數據的權力,進而獲得ETH獎勵。以太坊的應用方向是操作系統,它是想讓大家在它的系統上部署智能合約、開發去中心化應用。以太坊雖然也需要去中心化的屬性,但是比起比特幣,它更需要高效率與低成本,不然你平台數據處理的效率過慢,手續費還高,誰願意在你的平台上開發?所以,以太坊就採用了PoS機制,PoS的去中心化性雖然沒PoW機制強,但是效率更快,處理數據也不需要花費非常大的資源。
四、ETH與比特幣通證生態不同
ETH和比特幣通證生態不同。比特幣因為要做貨幣,其價值生態的支撐點在於共識價值,即有多少人認可它,並使用它進行交易。因此比特幣的通證設計實際是一個通貨收縮的經濟模型,限定了比特幣只有2100萬枚,這樣因為稀缺屬性,價格會越來越高,更容易取得共識價值。而以太幣不同,支撐它價值生態的點在於產品,即整個平台提供了什麼樣的服務,解決了什麼樣的痛點等服務價值,與安卓系統、微信等產品類似,以太幣是以太坊平台的一個工具,可以用來購買gas做手續費、募資等其他使用場景。因此以太坊的通證設計中,以太幣並沒有數量限制,發行量上限為每年1800萬,挖礦難度也會隨時間而上升,相對通貨膨脹率每年都會下降。總的來說,ETH和比特幣雖然都是數字貨幣,但各自背後代表的整個區塊鏈系統,在作用、原理、生態價值等都有不同,以太坊的本質是一個操作系統級別的計算中心,以太幣是打破了原有數字貨幣的定位,在比特幣的基礎上開創了新的方向,它除了自身的貨幣價值外,還包含了整個產品的價值,這是前所未有的,只有理解了這一點,才能理解為什麼以太坊是區塊鏈2.0的代表。
9. eth挖礦是什麼原理
凡是涉及到幣,就一定離不開挖礦。以太坊網路中,想要獲得以太坊,也要通過挖礦來實現。說到挖礦,就一定離不開共識機制。
不知道大家還記得比特幣的共識機制是什麼嗎?比特幣的共識機制是 PoW (這是英文 Proof of Work 的縮寫,意思是「工作量證明機制」)。簡單來說,就是多勞多得,你付出的計算工作越高,那麼你就越有可能第一個找到正確的哈希值,就越有可能得到比特幣獎勵。
但是,比特幣的PoW存在著一定的缺陷,就是它處理交易的速度太慢,礦工們需要不斷地通過計算來碰撞哈希值,這是勞民傷財且效率低下的。對區塊鏈知識有涉獵的朋友們應該看到這樣一種說法:
以太坊為了彌補比特幣的不足,提出了新的共識機制,名叫 PoS(這是英文的縮寫,意思是「權益證明」,也有翻譯成「股權證明」的)。
PoS 簡單來講,其實就跟它的字面意思一樣:權益嘛,股權嘛,你持有的幣越多相當於你的股權越多,你的權益越高。
以太坊的PoS就是說:你持幣越多,你持有幣的時間越久,你的計算難度就會降低,挖礦會容易一些。
在以太坊最初的設定中,以太坊希望能夠通過階段性的升級,在前期依舊採用PoW來構建一個相對穩定的系統,之後逐漸採用 PoW+PoS,最後完全過渡到 PoS。所以,說以太坊的共識機制是PoS,沒錯,但是PoS只是以太坊發布之初的一個計劃或者說目標,目前以太坊還沒有過渡到 PoS,以太坊採用的共識機制仍是 PoW,就是比特幣那個 PoW,但是又和比特幣的PoW稍稍不同。
這里的信息量有點大,
第一個信息點是:以太坊目前採用的共識機制也是PoW,但是和比特幣的PoW稍稍不同。那麼,和比特幣的PoW到底有什麼不同呢:簡單來說,就是以太坊挖礦難度可以調節,比特幣挖礦難度不能調節。就好比咱們高考,因為各個省份的教學情況、生源人數都不一樣,所以高考分為全國卷和各省自主命題。
以太坊說我贊成這樣分地區出題,比特幣說:不行,必須全國同一卷,大家難度都一樣!
通俗解釋,就是,比特幣是利用計算機算力做大量的哈希碰撞,列舉出各種可能性,來找到一個正確哈希值。而以太坊系統呢,它有一個特殊的公式用來計算之後的每個塊的難度。如果某個區塊比前一個區塊驗證的更快,以太坊協議就會增加區塊的難度。通過調整區塊難度,就可以調整驗證區塊所需的時間。
以太坊協議規定,難度的動態調整方式是使全網創建新區塊的時間間隔為 15 秒,網路用 15 秒時間創建區塊鏈,這樣一來,因為時間太快,系統的同步性就大大提升,惡意參與者很難在如此短的時間發動51%(也就是半數以上)的算力去修改歷史數據。
第二個信息點是:以太坊最初的設定中,希望通過階段性升級來最終實現由 PoW 向
PoS過渡的。
時間追溯到 2014 年,在以太坊發布之初,團隊宣布將項目的發布分為四個階段,即 Froniter(前沿)、Homestead(家園)、Metropolis(大都會)和 Serenity(寧靜)。前三個階段共識機制採用 PoW(工作量證明機制),第四個階段切換到 PoS(權益證明機制)。
2015年7月30號,以太坊第一個階段「前沿」正式發布,這個階段只適用於開發者使用,開發人員可於在以太坊網路上編寫智能合約和去中心化應用程序 DAPP,礦工開始進入以太坊網路維護網路安全並挖礦得到以太幣。前沿版本類似於測試版,證明以太坊網路到底是不是可靠的。
2016年3月14日,以太坊進入到第二個階段「家園」,這一階段,以太坊提供了錢包功能,讓普通用戶也可以方便體驗和使用以太坊。其他方面沒有什麼明顯的技術提升,只是表明以太坊網路已經可以平穩運行。
2017 年 9 月,以太坊已經進行到第三個階段「大都會」。「大都會」由拜占庭和君士坦丁堡兩次升級組成,這個階段的的目標是希望能夠引入 PoW 和 PoS 的混合鏈模式,為 PoW向PoS的順滑過渡做准備。最近比較熱門的「以太坊君士坦丁堡升級」升級的就是這個,在君士坦丁堡升級中呢,以太坊將對底層協議和演算法做一些改變,來為實現 PoW 和
PoS奠定良好的基礎。
以太坊挖礦會得到對多少獎勵呢?贏得區塊創建競爭成功的礦工會得到這么幾項收入:
1、 靜態獎勵,5個以太坊;
2、 區塊內所花費的燃料成本,也就是Gas,這部分我們上一期內容講過;
3、 作為區塊組成部分,包含「叔區塊」的額外獎勵,叔就是叔叔的叔,每個叔區塊可以得到挖礦報酬的1/32作為獎勵,也就是5乘以1/32,等於0.15625 個以太坊。這里我們簡單解釋一下「叔區塊」,「叔區塊」這個概念是以太坊提出來的,為什麼要引進叔塊的概念?這還要從比特幣說起。在比特幣協議中,最長的鏈被認為是絕對的正確。如果一個塊不是最長鏈的一部分,那麼它被稱為是「孤塊」。一個孤立的塊是一個塊,它也是合法的,但是可能發現的稍晚,或者是網路傳輸稍慢,而沒有能成為最長的鏈的一部分。在比特幣中,孤塊沒有意義,隨後將被拋棄掉,發現這個孤塊的礦工也拿不到采礦相關的獎勵。
但是,以太坊不認為孤塊是沒有價值的,以太坊系統也會給與發現孤塊的礦工回報。在以太坊中,孤塊被稱為「叔塊」(uncle block),它們可以為主鏈的安全作出貢獻。 以太坊十幾秒的出塊間隔太快了,會降低安全性,通過鼓勵引用叔塊,使引用主鏈獲得更多的安全保證(因為孤塊本身也是合法的) ,而且,支付報酬給叔塊,還能激發礦工積極挖礦,積極引用叔塊,所以,以太坊認為,它是有價值的。
10. 深入了解區塊鏈的共識機制及演算法原理
所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。再通俗一點來講,如果中國一名微博大V、美國一名虛擬幣玩家、一名非洲留學生和一名歐洲旅行者互不相識,但他們都一致認為你是個好人,那麼基本上就可以斷定你這人還不壞。
要想整個區塊鏈網路節點維持一份相同的數據,同時保證每個參與者的公平性,整個體系的所有參與者必須要有統一的協議,也就是我們這里要將的共識演算法。比特幣所有的節點都遵循統一的協議規范。協議規范(共識演算法)由相關的共識規則組成,這些規則可以分為兩個大的核心:工作量證明與最長鏈機制。所有規則(共識)的最終體現就是比特幣的最長鏈。共識演算法的目的就是保證比特幣不停地在最長鏈條上運轉,從而保證整個記賬系統的一致性和可靠性。
區塊鏈中的用戶進行交易時不需要考慮對方的信用、不需要信任對方,也無需一個可信的中介機構或中央機構,只需要依據區塊鏈協議即可實現交易。這種不需要可信第三方中介就可以順利交易的前提是區塊鏈的共識機制,即在互不了解、信任的市場環境中,參與交易的各節點出於對自身利益考慮,沒有任何違規作弊的動機、行為,因此各節點會主動自覺遵守預先設定的規則,來判斷每一筆交易的真實性和可靠性,並將檢驗通過的記錄寫入到區塊鏈中。各節點的利益各不相同,邏輯上將它們沒有合謀欺騙作弊的動機產生,而當網路中有的節點擁有公共信譽時,這一點尤為明顯。區塊鏈技術運用基於數學原理的共識演算法,在節點之間建立「信任」網路,利用技術手段從而實現一種創新式的信用網路。
目前區款連行業內主流的共識演算法機制包含:工作量證明機制、權益證明機制、股份授權證明機制和Pool驗證池這四大類。
工作量證明機制即對於工作量的證明,是生成要加入到區塊鏈中的一筆新的交易信息(即新區塊)時必須滿足的要求。在基於工作量證明機制構建的區塊鏈網路中,節點通過計算隨機哈希散列的數值解爭奪記賬權,求得正確的數值解以生成區塊的能力是節點算力的具體表現。工作量證明機制具有完全去中心化的優點,在以工作量證明機制為共識的區塊鏈中,節點可以自由進出。大家所熟知的比特幣網路就應用工作量證明機制來生產新的貨幣。然而,由於工作量證明機制在比特幣網路中的應用已經吸引了全球計算機大部分的算力,其他想嘗試使用該機制的區塊鏈應用很難獲得同樣規模的算力來維持自身的安全。同時,基於工作量證明機制的挖礦行為還造成了大量的資源浪費,達成共識所需要的周期也較長,因此該機制並不適合商業應用。
2012年,化名Sunny King的網友推出了Peercoin,該加密電子貨幣採用工作量證明機制發行新幣,採用權益證明機制維護網路安全,這是權益證明機制在加密電子貨幣中的首次應用。與要求證明人執行一定量的計算工作不同,權益證明要求證明人提供一定數量加密貨幣的所有權即可。權益證明機制的運作方式是,當創造一個新區塊時,礦工需要創建一個「幣權」交易,交易會按照預先設定的比例把一些幣發送給礦工本身。權益證明機制根據每個節點擁有代幣的比例和時間,依據演算法等比例地降低節點的挖礦難度,從而加快了尋找隨機數的速度。這種共識機制可以縮短達成共識所需的時間,但本質上仍然需要網路中的節點進行挖礦運算。因此,PoS機制並沒有從根本上解決PoW機制難以應用於商業領域的問題。
股份授權證明機制是一種新的保障網路安全的共識機制。它在嘗試解決傳統的PoW機制和PoS機制問題的同時,還能通過實施科技式的民主抵消中心化所帶來的負面效應。
股份授權證明機制與董事會投票類似,該機制擁有一個內置的實時股權人投票系統,就像系統隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。基於DPoS機制建立的區塊鏈的去中心化依賴於一定數量的代表,而非全體用戶。在這樣的區塊鏈中,全體節點投票選舉出一定數量的節點代表,由他們來代理全體節點確認區塊、維持系統有序運行。同時,區塊鏈中的全體節點具有隨時罷免和任命代表的權力。如果必要,全體節點可以通過投票讓現任節點代表失去代表資格,重新選舉新的代表,實現實時的民主。
股份授權證明機制可以大大縮小參與驗證和記賬節點的數量,從而達到秒級的共識驗證。然而,該共識機制仍然不能完美解決區塊鏈在商業中的應用問題,因為該共識機制無法擺脫對於代幣的依賴,而在很多商業應用中並不需要代幣的存在。
Pool驗證池基於傳統的分布式一致性技術建立,並輔之以數據驗證機制,是目前區塊鏈中廣泛使用的一種共識機制。
Pool驗證池不需要依賴代幣就可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎之上,可以實現秒級共識驗證,更適合有多方參與的多中心商業模式。不過,Pool驗證池也存在一些不足,例如該共識機制能夠實現的分布式程度不如PoW機制等
這里主要講解區塊鏈工作量證明機制的一些演算法原理以及比特幣網路是如何證明自己的工作量的,希望大家能夠對共識演算法有一個基本的認識。
工作量證明系統的主要特徵是客戶端要做一定難度的工作來得到一個結果,驗證方則很容易通過結果來檢查客戶端是不是做了相應的工作。這種方案的一個核心特徵是不對稱性:工作對於請求方是適中中的,對於驗證方是易於驗證的。它與驗證碼不同,驗證碼是易於被人類解決而不是易於被計算機解決。
下圖所示的為工作量證明流程。
舉個例子,給個一個基本的字元創「hello,world!」,我們給出的工作量要求是,可以在這個字元創後面添加一個叫做nonce(隨機數)的整數值,對變更後(添加nonce)的字元創進行SHA-256運算,如果得到的結果(一十六進制的形式表示)以「0000」開頭的,則驗證通過。為了達到這個工作量證明的目標,需要不停地遞增nonce值,對得到的字元創進行SHA-256哈希運算。按照這個規則,需要經過4251次運算,才能找到前導為4個0的哈希散列。
通過這個示例我們對工作量證明機制有了一個初步的理解。有人或許認為如果工作量證明只是這樣一個過程,那是不是只要記住nonce為4521使計算能通過驗證就行了,當然不是了,這只是一個例子。
下面我們將輸入簡單的變更為」Hello,World!+整數值」,整數值取1~1000,也就是說將輸入變成一個1~1000的數組:Hello,World!1;Hello,World!2;...;Hello,World!1000。然後對數組中的每一個輸入依次進行上面的工作量證明—找到前導為4個0的哈希散列。
由於哈希值偽隨機的特性,根據概率論的相關知識容易計算出,預計要進行2的16次方次數的嘗試,才能得到前導為4個0的哈希散列。而統計一下剛剛進行的1000次計算的實際結果會發現,進行計算的平均次數為66958次,十分接近2的16次方(65536)。在這個例子中,數學期望的計算次數實際就是要求的「工作量」,重復進行多次的工作量證明會是一個符合統計學規律的概率事件。
統計輸入的字元創與得到對應目標結果實際使用的計算次數如下:
對於比特幣網路中的任何節點,如果想生成一個新的區塊加入到區塊鏈中,則必須解決出比特幣網路出的這道謎題。這道題的關鍵要素是工作量證明函數、區塊及難度值。工作量證明函數是這道題的計算方法,區塊是這道題的輸入數據,難度值決定了解這道題的所需要的計算量。
比特幣網路中使用的工作量證明函數正是上文提及的SHA-256。區塊其實就是在工作量證明環節產生的。曠工通過不停地構造區塊數據,檢驗每次計算出的結果是否滿足要求的工作量,從而判斷該區塊是不是符合網路難度。區塊頭即比特幣工作量證明函數的輸入數據。
難度值是礦工們挖掘的重要參考指標,它決定了曠工需要經過多少次哈希運算才能產生一個合法的區塊。比特幣網路大約每10分鍾生成一個區塊,如果在不同的全網算力條件下,新區塊的產生基本都保持這個速度,難度值必須根據全網算力的變化進行調整。總的原則即為無論挖礦能力如何,使得網路始終保持10分鍾產生一個新區塊。
難度值的調整是在每個完整節點中獨立自動發生的。每隔2016個區塊,所有節點都會按照統一的格式自動調整難度值,這個公式是由最新產生的2016個區塊的花費時長與期望時長(按每10分鍾產生一個取款,則期望時長為20160分鍾)比較得出來的,根據實際時長一期望時長的比值進行調整。也就是說,如果區塊產生的速度比10分鍾快,則增加難度值;反正,則降低難度值。用公式來表達如下:
新難度值=舊難度值*(20160分鍾/過去2016個區塊花費時長)。
工作量證明需要有一個目標值。比特幣工作量證明的目標值(Target)的計算公式如下:
目標值=最大目標值/難度值,其中最大目標值為一個恆定值
目標值的大小與難度值成反比,比特幣工作量證明的達成就是礦中計算出來的區塊哈希值必須小於目標值。
我們也可以將比特幣工作量的過程簡單的理解成,通過不停變更區塊頭(即嘗試不同nonce值)並將其作為輸入,進行SHA-256哈希運算,找出一個有特定格式哈希值的過程(即要求有一定數量的前導0),而要求的前導0個數越多,難度越大。
可以把比特幣將這道工作量證明謎題的步驟大致歸納如下:
該過程可以用下圖表示:
比特幣的工作量證明,就是我們俗稱「挖礦」所做的主要工作。理解工作量證明機制,將為我們進一步理解比特幣區塊鏈的共識機制奠定基礎。