以太坊共識演算法拜站挺
㈠ 區塊鏈的核心技術是什麼
簡單來說,區塊鏈是一個提供了拜占庭容錯、並保證了最終一致性的分布式資料庫;從數據結構上看,它是基於時間序列的鏈式數據塊結構;從節點拓撲上看,它所有的節點互為冗餘備份;從操作上看,它提供了基於密碼學的公私鑰管理體系來管理賬戶。
或許以上概念過於抽象,我來舉個例子,你就好理解了。
你可以想像有 100 台計算機分布在世界各地,這 100 台機器之間的網路是廣域網,並且,這 100 台機器的擁有者互相不信任。
那麼,我們採用什麼樣的演算法(共識機制)才能夠為它提供一個可信任的環境,並且使得:
節點之間的數據交換過程不可篡改,並且已生成的歷史記錄不可被篡改;
每個節點的數據會同步到最新數據,並且會驗證最新數據的有效性;
基於少數服從多數的原則,整體節點維護的數據可以客觀反映交換歷史。
區塊鏈就是為了解決上述問題而產生的技術方案。
二、區塊鏈的核心技術組成
無論是公鏈還是聯盟鏈,至少需要四個模塊組成:P2P 網路協議、分布式一致性演算法(共識機制)、加密簽名演算法、賬戶與存儲模型。
1、P2P 網路協議
P2P 網路協議是所有區塊鏈的最底層模塊,負責交易數據的網路傳輸和廣播、節點發現和維護。
通常我們所用的都是比特幣 P2P 網路協議模塊,它遵循一定的交互原則。比如:初次連接到其他節點會被要求按照握手協議來確認狀態,在握手之後開始請求 Peer 節點的地址數據以及區塊數據。
這套 P2P 交互協議也具有自己的指令集合,指令體現在在消息頭(Message Header) 的 命令(command)域中,這些命令為上層提供了節點發現、節點獲取、區塊頭獲取、區塊獲取等功能,這些功能都是非常底層、非常基礎的功能。如果你想要深入了解,可以參考比特幣開發者指南中的 Peer Discovery 的章節。
2、分布式一致性演算法
在經典分布式計算領域,我們有 Raft 和 Paxos 演算法家族代表的非拜占庭容錯演算法,以及具有拜占庭容錯特性的 PBFT 共識演算法。
如果從技術演化的角度來看,我們可以得出一個圖,其中,區塊鏈技術把原來的分布式演算法進行了經濟學上的拓展。
在圖中我們可以看到,計算機應用在最開始多為單點應用,高可用方便採用的是冷災備,後來發展到異地多活,這些異地多活可能採用的是負載均衡和路由技術,隨著分布式系統技術的發展,我們過渡到了 Paxos 和 Raft 為主的分布式系統。
而在區塊鏈領域,多採用 PoW 工作量證明演算法、PoS 權益證明演算法,以及 DPoS 代理權益證明演算法,以上三種是業界主流的共識演算法,這些演算法與經典分布式一致性演算法不同的是,它們融入了經濟學博弈的概念,下面我分別簡單介紹這三種共識演算法。
PoW: 通常是指在給定的約束下,求解一個特定難度的數學問題,誰解的速度快,誰就能獲得記賬權(出塊)權利。這個求解過程往往會轉換成計算問題,所以在比拼速度的情況下,也就變成了誰的計算方法更優,以及誰的設備性能更好。
PoS: 這是一種股權證明機制,它的基本概念是你產生區塊的難度應該與你在網路里所佔的股權(所有權佔比)成比例,它實現的核心思路是:使用你所鎖定代幣的幣齡(CoinAge)以及一個小的工作量證明,去計算一個目標值,當滿足目標值時,你將可能獲取記賬權。
DPoS: 簡單來理解就是將 PoS 共識演算法中的記賬者轉換為指定節點數組成的小圈子,而不是所有人都可以參與記賬。這個圈子可能是 21 個節點,也有可能是 101 個節點,這一點取決於設計,只有這個圈子中的節點才能獲得記賬權。這將會極大地提高系統的吞吐量,因為更少的節點也就意味著網路和節點的可控。
3、加密簽名演算法
在區塊鏈領域,應用得最多的是哈希演算法。哈希演算法具有抗碰撞性、原像不可逆、難題友好性等特徵。
其中,難題友好性正是眾多 PoW 幣種賴以存在的基礎,在比特幣中,SHA256 演算法被用作工作量證明的計算方法,也就是我們所說的挖礦演算法。
而在萊特幣身上,我們也會看到 Scrypt 演算法,該演算法與 SHA256 不同的是,需要大內存支持。而在其他一些幣種身上,我們也能看到基於 SHA3 演算法的挖礦演算法。以太坊使用了 Dagger-Hashimoto 演算法的改良版本,並命名為 Ethash,這是一個 IO 難解性的演算法。
當然,除了挖礦演算法,我們還會使用到 RIPEMD160 演算法,主要用於生成地址,眾多的比特幣衍生代碼中,絕大部分都採用了比特幣的地址設計。
除了地址,我們還會使用到最核心的,也是區塊鏈 Token 系統的基石:公私鑰密碼演算法。
在比特幣大類的代碼中,基本上使用的都是 ECDSA。ECDSA 是 ECC 與 DSA 的結合,整個簽名過程與 DSA 類似,所不一樣的是簽名中採取的演算法為 ECC(橢圓曲線函數)。
從技術上看,我們先從生成私鑰開始,其次從私鑰生成公鑰,最後從公鑰生成地址,以上每一步都是不可逆過程,也就是說無法從地址推導出公鑰,從公鑰推導到私鑰。
4、賬戶與交易模型
從一開始的定義我們知道,僅從技術角度可以認為區塊鏈是一種分布式資料庫,那麼,多數區塊鏈到底使用了什麼類型的資料庫呢?
我在設計元界區塊鏈時,參考了多種資料庫,有 NoSQL 的 BerkelyDB、LevelDB,也有一些幣種採用基於 SQL 的 SQLite。這些作為底層的存儲設施,多以輕量級嵌入式資料庫為主,由於並不涉及區塊鏈的賬本特性,這些存儲技術與其他場合下的使用並沒有什麼不同。
區塊鏈的賬本特性,通常分為 UTXO 結構以及基於 Accout-Balance 結構的賬本結構,我們也稱為賬本模型。UTXO 是「unspent transaction input/output」的縮寫,翻譯過來就是指「未花費的交易輸入輸出」。
這個區塊鏈中 Token 轉移的一種記賬模式,每次轉移均以輸入輸出的形式出現;而在 Balance 結構中,是沒有這個模式的。
㈡ 以太坊架構意識是什麼有做以太坊開發的嗎
以太坊構架意識就是區域塊鏈6層構架。分別是:數據層,網路層,共識層,激勵層,合約層,應用層。我個人覺得做以太坊開發做的比好的就是盛世華彩,感覺很專業的
㈢ 以太坊分叉是遵循什麼推理邏輯
以太霧EthereumFog,簡稱:ETF,是以太坊Ethereum的分叉鏈,是為了解決以太坊所缺乏的分布式存儲和分布式計算能力而生,後期會切換為POW+POS混合挖礦。原生Coin為ETF。
接下去,簡單闡述下之所以做出「分叉概念幣」的推理邏輯:
1、利益的需求。針對這一點,內參從來不掩飾。現在的分叉,或多或少都夾雜著背後利益團體的訴求。追求利益,追求高效的資金投資回報率是永恆的主題。
中國有句古話叫:一鼓作氣,再而衰,三而竭。比特幣經過多次的分叉,價格被推上新高,已經成為很多人「買不起」的標的,並且由於單價的高昂,使得分叉帶來的糖果越來越沒吸引力,用句玩笑話就是:比特幣稍微一哆嗦,也許你心心念念的糖果錢就跌進去了。
基於此,主力何嘗不明白。那麼,就順理成章轉而向其他主鏈尋求分叉利益。以太坊作為全球市值第二大數字貨幣,無論從規模還是群眾基礎,都是最佳的選擇對象。
當然,以太之後,還會有別的分叉主鏈被瞄上,我們不妨拭目以待。
2、進化的需求。這一點其實應該放在首位,但是在投機氛圍下,反而成了容易被忽視的點。
我們不得不承認,現在的比特幣也好,以太坊也罷。要想真正大規模商用,還存在諸多的問題,而且每個問題都是一塊硬骨頭。一隻「貓」給以太坊造成了不小的麻煩,有計劃說,一些團隊正在依葫蘆畫瓢,開發「狗、兔子」等以太坊鏈上養成游戲。以太坊對於技術(擴展性、處理能力、並發量、延時性等)的需求已經迫在眉睫。
而基於共識的分叉,是受大家歡迎的,也是必需的。
一切未完待續,大幕一旦拉開,分叉潮將滾滾而來。
㈣ 區塊鏈共識機制
PoW:工作量證明 (Proof of Work,簡稱 PoW ) ,簡單的解釋就是一份證明,用來確認你做過一定量的工作。因為監測工作的整個過程通常是極為低效的,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等等,都是通過檢驗結果的方式所取得的證明。這就是說,你獲得多少幣,取決於你對挖礦貢獻的有效工作。簡單的理解,你電腦性能越好,你獲得的收益就會越多,這就是根據你的工作量來執行幣的分配。大部分的數字貨幣,比如比特幣、萊特幣等等,都是基於 PoW 模式的虛擬貨幣(算力越高、挖礦時間越長,你獲得的幣就越多)。
PoS:PoS 是一種在公鏈中的共識演算法,可作為 PoW 演算法的一種替換。PoW是保證比特幣、當前以太坊和許多其它區塊鏈安全的一種機制,但是 PoW 演算法在挖礦過程中因破壞環境和浪費電力而受到指責。PoS 試圖通過以一種不同的機製取代挖礦的概念,從而解決這些問題。
PoS 機制可以被描述成一種虛擬挖礦。PoS 主要依賴於區塊鏈自身里的代幣。在PoW 中,一個用戶可能拿 1000 美元來買計算機,加入網路來挖礦產生新區塊,從而得到獎勵。而在 PoS 中,用戶可以拿 1000 美元購買等價值的代幣,把這些代幣當作押金放入 PoS 機制中,這樣用戶就有機會產生新塊而得到獎勵。在 PoW 中,如果用戶花費 2000 美元購買硬體設備,當然會獲得兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,在 PoS 機制中投入兩倍的代幣作為押金,就有兩倍大的機會獲得產生新區塊的權利。
㈤ 以太坊是一個什麼樣的項目
以太坊是一個全新開放的區塊鏈平台,它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
就像比特幣一樣,以太坊不受任何人控制,也不歸任何人所有——它是一個開放源代碼項目,由全球范圍內的很多人共同創建。和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。在以太坊平台上創立新的應用十分簡便,隨著Homestead的發布,任何人都可以安全地使用該平台上的應用。
以太坊是可編程的區塊鏈。它並不是給用戶一系列預先設定好的操作,而是允許用戶按照自己的意願創建復雜的操作。這樣一來,它就可以作為多種類型去中心化區塊鏈應用的平台。
以太坊狹義上是指一系列定義去中心化應用平台的協議,它的核心是以太坊虛擬機(「EVM」),可以執行任意復雜演算法的編碼。在計算機科學術語中,以太坊是「圖靈完備的」。開發者能夠使用現有的JavaScript和Python等語言為模型的其他友好的編程語言,創建出在以太坊模擬機上運行的應用。
㈥ 區塊鏈幾大共識機制及優缺點
首先,沒有一種共識機制是完美無缺的,各共識機制都有其優缺點,有些共識機制是為解決一些特定的問題而生。
1.pow( Proof of Work)工作量證明
一句話介紹:乾的越多,收的越多。
依賴機器進行數學運算來獲取記賬權,資源消耗相比其他共識機制高、可監管性弱,同時每次達成共識需要全網共同參與運算,性能效率比較低,容錯性方面允許全網50%節點出錯。
優點:
1)演算法簡單,容易實現;
2)節點間無需交換額外的信息即可達成共識;
3)破壞系統需要投入極大的成本;
缺點:
1)浪費能源;
2)區塊的確認時間難以縮短;
3)新的區塊鏈必須找到一種不同的散列演算法,否則就會面臨比特幣的算力攻擊;
4)容易產生分叉,需要等待多個確認;
5)永遠沒有最終性,需要檢查點機制來彌補最終性;
2.POS Proof of Stake,權益證明
一句話介紹:持有越多,獲得越多。
主要思想是節點記賬權的獲得難度與節點持有的權益成反比,相對於PoW,一定程度減少了數學運算帶來的資源消耗,性能也得到了相應的提升,但依然是基於哈希運算競爭獲取記賬權的方式,可監管性弱。該共識機制容錯性和PoW相同。它是Pow的一種升級共識機制,根據每個節點所佔代幣的比例和時間,等比例的降低挖礦難度,從而加快找隨機數的速度
優點:在一定程度上縮短了共識達成的時間;不再需要大量消耗能源挖礦。
缺點:還是需要挖礦,本質上沒有解決商業應用的痛點;所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。例如,以太坊的DAO攻擊事件造成以太坊硬分叉,而ETC由此事件出現,事實上證明了此次硬分叉的失敗。
DPOS與POS原理相同,只是選了一些「人大代表」。
BitShares社區首先提出了DPoS機制。
與PoS的主要區別在於節點選舉若干代理人,由代理人驗證和記賬。其合規監管、性能、資源消耗和容錯性與PoS相似。類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記賬。
DPoS的工作原理為:
去中心化表示每個股東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批准。為達到這個目標,每個股東可以將其投票權授予一名代表。獲票數最多的前100位代表按既定時間表輪流產生區塊。每名代表分配到一個時間段來生產區塊。所有的代表將收到等同於一個平均水平的區塊所含交易費的10%作為報酬。如果一個平均水平的區塊含有100股作為交易費,一名代表將獲得1股作為報酬。
網路延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。然而,這不太可能發生,因為製造區塊的代表可以與製造前後區塊的代表建立直接連接。建立這種與你之後的代表(也許也包括其後的那名代表)的直接連接是為了確保你能得到報酬。
該模式可以每30秒產生一個新區塊,並且在正常的網路條件下區塊鏈分叉的可能性極其小,即使發生也可以在幾分鍾內得到解決。
成為代表:
成為一名代表,你必須在網路上注冊你的公鑰,然後分配到一個32位的特有標識符。然後該標識符會被每筆交易數據的「頭部」引用。
授權選票:
每個錢包有一個參數設置窗口,在該窗口裡用戶可以選擇一個或更多的代表,並將其分級。一經設定,用戶所做的每筆交易將把選票從「輸入代表」轉移至「輸出代表」。一般情況下,用戶不會創建特別以投票為目的的交易,因為那將耗費他們一筆交易費。但在緊急情況下,某些用戶可能覺得通過支付費用這一更積極的方式來改變他們的投票是值得的。
保持代表誠實:
每個錢包將顯示一個狀態指示器,讓用戶知道他們的代表表現如何。如果他們錯過了太多的區塊,那麼系統將會推薦用戶去換一個新的代表。如果任何代表被發現簽發了一個無效的區塊,那麼所有標准錢包將在每個錢包進行更多交易前要求選出一個新代表。
抵抗攻擊:
在抵抗攻擊上,因為前100名代表所獲得的權力權是相同的,每名代表都有一份相等的投票權。因此,無法通過獲得超過1%的選票而將權力集中到一個單一代表上。因為只有100名代表,可以想像一個攻擊者對每名輪到生產區塊的代表依次進行拒絕服務攻擊。幸運的是,由於事實上每名代表的標識是其公鑰而非IP地址,這種特定攻擊的威脅很容易被減輕。這將使確定DDOS攻擊目標更為困難。而代表之間的潛在直接連接,將使妨礙他們生產區塊變得更為困難。
優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。
缺點:整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。
3.PBFT :Practical Byzantine Fault Tolerance,實用拜占庭容錯
介紹:在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。
在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算機(Coordinator / Commander)或成員計算機 (Member /Lieutanent)可能因系統錯誤並交換錯的訊息,導致影響最終的系統一致性。
拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。
而拜占庭問題的可能解決方法為:
在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計算機總數,F為有問題計算機總數。信息在計算機間互相交換後,各計算機列出所有得到的信息,以大多數的結果作為解決辦法。
1)系統運轉可以脫離幣的存在,pbft演算法共識各節點由業務的參與方或者監管方組成,安全性與穩定性由業務相關方保證。
2)共識的時延大約在2~5秒鍾,基本達到商用實時處理的要求。
3)共識效率高,可滿足高頻交易量的需求。
缺點:
1)當有1/3或以上記賬人停止工作後,系統將無法提供服務;
2)當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據
下面說兩個國產的吧~
4.dBFT: delegated BFT 授權拜占庭容錯演算法
介紹:小蟻採用的dBFT機制,是由權益來選出記賬人,然後記賬人之間通過拜占庭容錯演算法來達成共識。
此演算法在PBFT基礎上進行了以下改進:
將C/S架構的請求響應模式,改進為適合P2P網路的對等節點模式;
將靜態的共識參與節點改進為可動態進入、退出的動態共識參與節點;
為共識參與節點的產生設計了一套基於持有權益比例的投票機制,通過投票決定共識參與節點(記賬節點);
在區塊鏈中引入數字證書,解決了投票中對記賬節點真實身份的認證問題。
優點:
1)專業化的記賬人;
2)可以容忍任何類型的錯誤;
3)記賬由多人協同完成,每一個區塊都有最終性,不會分叉;
4)演算法的可靠性有嚴格的數學證明;
缺點:
1)當有1/3或以上記賬人停止工作後,系統將無法提供服務;
2)當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
以上總結來說,dBFT機制最核心的一點,就是最大限度地確保系統的最終性,使區塊鏈能夠適用於真正的金融應用場景。
5.POOL驗證池
基於傳統的分布式一致性技術,加上數據驗證機制。
優點:不需要代幣也可以工作,在成熟的分布式一致性演算法(Pasox、Raft)基礎上,實現秒級共識驗證。
缺點:去中心化程度不如bictoin;更適合多方參與的多中心商業模式。
㈦ 以太坊存在的問題
1.擴展性不足:
以太坊社區的主要開發人員和研究人員始終認為區塊鏈技術要實現大規模採用,可擴展性是區塊鏈應用程序需要解決的唯一最重要的關鍵。
以太坊的底層設計,最大的問題是以太坊只有一條鏈,沒有側鏈,它把所有的程序對等的跑在全球所有節點的礦機上。這樣一個很耗資源的程序,會導致問題越來越嚴重。
2.合約程序漏洞,無法抵禦DDOS攻擊
據相關研究表明,在基於以太坊的近100萬個智能合約上,發現有34,200(約3%)個含有安全漏洞,將允許黑客竊取ETH、凍結資產或刪除合約。這幾年,以太坊面對合約程序漏洞和DDOS攻擊的問題,也一直無法找到很好的解決辦法。(更好用的數字貨幣交易平台「幣匯」)
3.對於ICO泡沫和項目方砸盤
目前的ETH下跌,很大程度上來自於項目方的砸盤套現,這個問題可以在ICO代幣融資上進行規則限制,不能像現在這樣毫無成本的就能發一個幣,而且還沒有任何監督懲罰機制。任何事情都需要有一套合理的演進規則,大家按規則辦事,所謂無規矩不成方圓。在規則的基礎上,各類ICO項目有效監督,有序進出,才是一個正常的市場,這樣才可能維系著代幣生態的持續、穩定發展。
4.智能合約費用過高
在以太坊上現在還是POW的挖礦模式,交易是有手續費的,用來激勵礦工來處理交易和保護網路,不同的是以太坊是以「gas」的形式來收費的。
在以太坊協議中規定,交易手續費=Gas 數量 x Gas 價格,其中 Gas 數量由智能合約的復雜程度決定,而 Gas 價格則由合約發起人決定。這對開發者和用戶意味著什麼呢?雖然讀取本地區塊鏈是免費的,但寫入和運算是花錢的,儲存更是尤其昂貴,因為任何寫入的信息都會被永久的儲存著。
5.社區對共識協議改變的分歧
以太坊計劃實現將 POW 機制改為 POW/POS 混合共識機制。但這個涉及到技術開發和礦工雙方能否達到利益共識的問題了。如果協議發生了變化,社區意見不合時,就會導致分叉,大家各自玩各自的。
㈧ 以太坊帶來了那些爭議和質疑呢
以太坊和比特幣是有著本質區別的,區別在哪裡呢?比特幣定義的是一套貨幣體系,而以太坊側重的是打造一條主鏈(可以理解為一條公路),可以讓大量的區塊鏈應用跑在這條公路上。
從這一點來看,以太坊的應用場景更廣泛,這也是為什麼我們說以太坊標志著區塊鏈
1.0時代一個單純的貨幣體系,向區塊鏈2.0時代實現其他行業以及應用場景的轉變。
但是,世界上沒有十全十美的事物,以太坊雖然拓展了區塊鏈在各行各業的應用范圍,還提升了處理交易的速度,但是它也存在著一定的爭議與質疑。
一、以太坊的擴展性不足的解決之道:分片技術和雷電網路
以太坊的底層設計,最大的問題是以太坊只有一條鏈,沒有側鏈,這就意味著,所有程序都要對等地跑在這條鏈上,消耗資源的同時,還會引發系統擁堵。正如去年非常火爆的以太坊游戲「加密貓」,這個游戲火爆的時候,一度引發以太坊網路癱瘓。
對於提升處理能力這個問題,以太坊提出兩種方式:一個是分片技術(shard),一個是雷電網路,下面我們分別介紹一下這兩種技術。
(一)分片技術
以太坊創始人 V 神(Vitalik Buterin)認為,諸如比特幣這種主流的區塊鏈網路,之所以處理交易的速度很慢,是因為每一個礦工要處理全網的每一筆交易,這樣的效率其實是非常低下的。分片技術的構想是:一筆交易不必發動全網所有節點都去處理,只要讓網路中的一部分節點(礦工)處理就好了。於是,以太坊網路被劃分成很多片,同一時間,每一分片都可以處理不同的交易,這樣一來,會大大提升網路性能。
但是,分片技術也是有一定爭議的。我們知道,區塊鏈技術的重要思想是去中心化,全網都去見證(處理)同一交易,這才具有最高的權威性。而以太坊分片技術,並不是所有節點共同見證,而是類似於分小組見證,這樣一來,它便失去了絕對的「去中心化」屬性,只能通過犧牲掉一定的去中心化特性來達到高性能的目的。
(二)雷電網路
雷電網路使用的是鏈下交易的方式。這是什麼意思呢?它的意思是:使用雷電網路的參與者在互相轉賬時,不需要通過以太坊主鏈交易確認,而是通過參與者之間創建支付通道,在鏈下完成。
不過,雷電網路並不是脫離主鏈的,在建立支付通道之前,需要先用主鏈上的資產做抵押,生成余額證明(Balance Proof),擁有餘額證明才能表明你能做出相應余額的轉賬。在交易雙方都持有餘額證明的情況下,雙方可通過支付通道在鏈下進行無限制次數的轉賬。
只有在完成鏈下交易,需要將資產轉回鏈上時,才會在以太坊主鏈上登記主鏈賬戶的余額變化信息,而這期間不管發生多少次交易在主鏈上是不會有記錄的。
雷電網路還有一個實實在在的好處,就是可以為你省下礦工費用。目前我們在以太坊主鏈上進行交易,需要消耗 Gas,需要支付礦工費用,那麼一旦將交易搬到鏈下,就可以節省這一部分的成本。
當然,雷電網路並不是十全十美的。在使用雷電網路時需要用主鏈上的資產作抵押;而這部分資產作為抵押物,在使用者完成鏈下交易之前是不能使用的。這也就決定了,雷電交易只適合小額交易。
上面就是以太坊擴展性不足的問題,以及目前提出的兩個主要解決方案:分片技術和雷電網路。
二、以太坊的智能合約存在漏洞與臭名昭著的 The Dao 事件
以太坊的智能合約很強大,但是,凡是代碼都會存在漏洞的,以太坊智能合約最大的爭議就在於所謂的漏洞,也就是安全性問題。據相關研究表明,在基於以太坊的近100萬個智能合約上,發現有34200(約3%)個含有安全漏洞,將允許黑客竊取ETH、凍結資產或刪除合約,比如說,臭名昭著的The Dao 事件。
(一)Dao是什麼意思?
介紹 The Dao 事件之前, 我們先見到介紹一下 DAO 是什麼。DAO 是 Decentralized
Autonomous Organization 的簡稱,可以理解為:去中心化自治組織。從以太坊的角度來理解,DAO 是區塊鏈上的某一類合約,或者一個合約組合,用來代替政府的審查以及復雜等中間程序,從而實現高效的、去中心化的信任的系統。所以,DAO 不是特定的某個組織,也就說呢,可以有很多的DAO,各種各樣的DAO。
(二)臭名昭著的The Dao事件
但是,我們現在提到DAO,基本上所指的都是The DAO事件,也就是我們剛剛說的那個臭名昭著的黑客攻擊事件。我們知道,英文中的 The是特指的意思,The DAO事件呢就
是特指的那個DAO事件,因為我們剛剛說了DAO不是特定的某個組織,可以有很多的DAO,各種各樣的DAO。
2016 年的時候,德國一家專注「智能鎖」的公司 Slock.it,為了實現去中心化的實物交換(比如說:公寓啊,船隻啊),在以太坊上發布了 DAO項目。並且於2016年4月
30日開始,融資窗口開放了28天。
沒想到,這個DAO項目的人氣非常高,短短半個月就籌得了超過一億美元,而到整個融資期結束,一共籌集到1.5億美元,由此呢,它成為歷史上最大的眾籌項目。然而好景不長,到了6月份,黑客利用智能合約裡面的漏洞,成功轉移了超過360萬個以太幣,並投入到一個DAO子組織中,這個組織和The DAO有著同樣的結構。以至於當時以太幣價格從20多美元直接跌破13美元。
這個事件說明智能合約的確是有漏洞的,而且一旦漏洞被黑客利用,那麼後果是非常嚴重的。這就是現在很多人批評以太坊,說它的智能合約不智能。
對於這個問題,目前國外有很多公司為了解決智能合約的漏洞問題 ,開始提供代碼審計服務。而從技術的角度來說,目前一些團隊正在對智能合約進行檢驗,這些團隊多數由哈佛、斯坦福和耶魯的教授帶隊,部分團隊已經獲得了頭部機構的投資。
除了目前以太坊存在的擴展性不足、智能合約漏洞問題,對於以太坊的爭議還在於它所追求的POS共識機制,也就是權益證明機制,在權益證明機制下,如果說誰持幣的數量越大、持幣時間越久,獲得的「權益」(利息)就越多,還有機會得到記賬權力,記賬又可以獲得獎勵,那麼這樣一來,容易造成「強者越強」的寡頭優勢。
還有一個問題就是ICO亂象的問題。ICO是區塊鏈項目籌措資金的常用方式,咱們可以理解為預售。以太坊上ICO項目的爆發,滋生了打著ICO旗號進行資金盤、詐騙圈錢等不法行為,對社會和金融穩定造成安全隱患。
㈨ 以太坊架構是怎麼樣的
以太坊最上層的是DApp。它通過Web3.js和智能合約層進行交換。所有的智能合約都運行在EVM(以太坊虛擬機)上,並會用到RPC的調用。在EVM和RPC下面是以太坊的四大核心內容,包括:blockChain, 共識演算法,挖礦以及網路層。除了DApp外,其他的所有部分都在以太坊的客戶端里,目前最流行的以太坊客戶端就是Geth(Go-Ethereum)