構成以太坊區塊鏈最小
據Bitnodes統計,比特幣區塊鏈上的「可達節點」目前為10208個。
在比特幣節點數量排行中,美國所佔數量最多,為2483個,達到24.32%。中國排名第五,數量為454個。
全球一共有多少條區塊鏈公鏈?全球的區塊鏈公鏈有:
1、BTC:
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個p2p網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。
2、ETH:
Ethereum(以太坊)是一個用於分布式應用程序的全球性開源平台,是為了解決比特幣網路所存在的問題應運而生的區塊鏈系統,它為開發者提供在區塊鏈上搭建和發布應用的平台。
以太坊可以用來編程、分散、擔保和交易任何事物包括投票、域名、金融交易所,眾籌、公司管理、合同和大部分的協議、知識產權,智能資產等。發行於2014年7月24日,眾籌時首次發行總量大約在7200萬枚ETH。
3、ICP:
DFINITY團隊自2015年起就致力於區塊鏈底層技術研究,致力於開發一種基於區塊鏈的,安全、強大的下一代應用級區塊鏈全球計算機。DFINITY正在構建一款全新的去中心化的公共雲計算服務。
4、ADA:
Cardano以同行評審的學術研究為基礎,體現了開放性和透明性精神。支持Cardano的所有研究和技術規范都是公開發布的,並且所有Cardano開發活動都向公眾開放。它由一支全球專家團隊設計,這些專家是各個領域的領導者,並由IOHK及其合作夥伴共同開發,IOHK負責開發技術,Cardano基金會負責監督開發和推廣,而Emurgo則負責推動商業應用。
5、VET:
VET是VEN按照1VEN:100VET比例轉換而來。Vechain平台是一個基於區塊技術的全球賬本型信息交互協作雲平台。通過API與應用層對接,把現實世界中的人、事或物數字化,實現信息的互通互聯。
比特幣的運行機制及與區塊鏈的聯系佚名
每一筆比特幣交易,都會被區塊鏈網路中的節點記錄下來,以此增強交易公信力,保護交易雙方利益。但如果所有節點都參與記錄的話,容易因為網路延遲等因素造成賬本信息不一致,也難以避免記賬人會篡改交易信息。
因此比特幣採用工作量證明(ProofofWork)共識機制,讓所有節點通過解決工作量證明難題的方式參與競爭,競爭成功的節點擁有新區塊的記賬權,並能夠將記錄的信息廣播出去。其他節點接收後將根據此消息進行數據同步,確保賬本一致。這種競爭記賬權的過程,叫做挖礦,參與挖礦的節點,叫做礦工。礦工挖礦成功後可以獲得區塊獎勵,即一定數額的比特幣,還可以收取該區塊上的交易手續費。在利益的驅使下,節點會積極參與挖礦並維護交易記錄的真實有效。
比特幣的發行只有一種方式,即區塊獎勵,也就是說比特幣是通過挖礦產生的。不過,比特幣並不能通過挖礦無限產生,其演算法規定了每產生210100個區塊(約四年),比特幣的區塊鏈獎勵就要減半一次。由於比特幣的發行總量恆定為2100萬個,預計會在2140年挖完。這個規定確保了比特幣不會由於人為增發而發生嚴重的通貨膨脹,可以保護比特幣的價值。
比特幣的運行以區塊鏈技術為依託,比特幣與區塊鏈有著密不可分的關系。比特幣是一種資產,而區塊鏈就是為這種資產設定好運行規則的底層技術,從而保證每一筆交易順利進行。這就好比視頻文件與播放器之間的關系,視頻的播放必須要通過播放器的底層技術處理才能實現。區塊鏈技術的誕生源於比特幣概念的提出,可以說區塊鏈技術是比特幣催化下的產物。目前,區塊鏈技術不止運用於比特幣等加密貨幣,在各個領域都有廣泛的應用,但比特幣仍舊是區塊鏈技術上最早、最成功的應用。
❷ 什麼是區塊鏈最重要的特徵
區塊鏈的特徵是什麼?區塊鏈的特徵
區塊鏈的四大特徵之一:不可篡改
區塊鏈最容易被理解的特性是不可篡改的特性。
不可篡改是基於「區塊+鏈」(block+chain)的獨特賬本而形成的:存有交易的區塊按照時間順序持續加到鏈的尾部。要修改一個區塊中的數據,就需要重新生成它之後的所有區塊。
共識機制的重要作用之一是使得修改大量區塊的成本極高,從而幾乎是不可能的。以採用工作量證明的區塊鏈網路(比如比特幣、以太坊)為例,只有擁有51%的算力才可能重新生成所有區塊以篡改數據。但是,破壞數據並不符合擁有大算力的玩家的自身利益,這種實用設計增強了區塊鏈上的數據可靠性。
通常,在區塊鏈賬本中的交易數據可以視為不能被「修改」,它只能通過被認可的新交易來「修正」。修正的過程會留下痕跡,這也是為什麼說區塊鏈是不可篡改的,篡改是指用作偽的手段改動或曲解。
在現在常用的文件和關系型數據中,除非採用特別的設計,否則系統本身是不記錄修改痕跡的。區塊鏈賬本採用的是與文件、資料庫不同的設計,它借鑒的是現實中的賬本設計——留存記錄痕跡。因此,我們不能不留痕跡地「修改」賬本,而只能「修正」賬本(見圖2)。
圖2:區塊鏈賬本「不能修改、只能修正」
區塊鏈的數據存儲被稱為「賬本」(leger,總賬),這是非常符合其實質的名稱。區塊鏈賬本的邏輯和傳統的賬本相似。比如,我可能因錯漏轉了一筆錢給你,這筆交易被區塊鏈賬本接受,記錄在其中。修正錯漏的方式不是直接修改賬本,將它恢復到這個錯誤交易前的狀態;而是進行一筆新的修正交易,你把這筆錢轉回給我。當新交易被區塊鏈賬本接受,錯漏就被修正,所有的修正過程都記錄在賬本之中,有跡可循。
將區塊鏈投入使用的第一類設想正是利用它的不可篡改特性。農產品或商品溯源的應用是將它們的流通過程記錄在區塊鏈上,以確保數據記錄不被篡改,從而提供追溯的證據。在供應鏈領域應用區塊鏈的一種設想是,確保接觸賬本的人不能修改過往記錄,從而保障記錄的可靠性。
2018年3月,在網路零售集團京東發布的《區塊鏈技術實踐白皮書》中,京東認為,區塊鏈技術(分布式賬本)的三種應用場景是:跨主體協作,需要低成本信任,存在長周期交易鏈條。這三個應用場景所利用的都是區塊鏈的不可篡改特性。多主體在一個不可篡改的賬本上協作,降低了信任成本。區塊鏈賬本中存儲的是狀態,未被涉及的數據的狀態不會發生變化,且越早前的數據越難被篡改,這使得它適用於長周期交易。
區塊鏈的四大特徵之二:表示價值所需要的唯一性
不管是可互換通證(ERC20),還是不可互換通證(ERC721),又或者是其他提議中的通證標准,以太坊的通證都展示了區塊鏈的一個重要特徵:表示價值所需要的唯一性。
在數字世界中,最基本單元是比特,比特的根本特性是可復制。但是價值不能被復制,價值必須是唯一的。之前我們已經討論過,這正是矛盾所在:在數字世界中,我們很難讓一個文件是唯一的,至少很難普遍地做到這一點。這是現在我們需要中心化的賬本來記錄價值的原因。
在數字世界中,我們沒法像擁有現金一樣,手上拿著鈔票。在數字世界中,我們需要銀行等信用中介,我們的錢是由銀行賬本幫忙記錄的。
比特幣系統帶來的區塊鏈技術可以說第一次把「唯一性」普遍地帶入了數字世界,而以太坊的通證將數字世界中的價值表示功能普及開來。
2018年年初,中國的兩位科技互聯網企業領袖不約而同地強調了區塊鏈帶來的「唯一性」。騰訊主要創始人、CEO馬化騰說:「區塊鏈確實是一項具有創新性的技術,用數字化表達唯一性,區塊鏈可以模擬現實中的實物唯一性。」
網路創始人、CEO李彥宏說:「區塊鏈到來之後,可以真正使虛擬物品變得唯一,這樣的互聯網跟以前的互聯網會是非常不一樣的。」
對於通證經濟的探討和展望正是基於,在數字世界中,在網路基礎層次上區塊鏈提供了去中心化的價值表示和價值轉移的方式。在以以太坊為代表的區塊鏈2.0時代,出現了更通用的價值代表物——通證,從區塊鏈1.0的數字現金時期進入到數字資產時期。
區塊鏈的四大特徵之三:智能合約
從比特幣到以太坊,區塊鏈最大的變化是「智能合約」(見圖3)。比特幣系統是專為一種數字貨幣而設計的,它的?UTXO?和腳本也可以處理一些復雜的交易,但有很大的局限性。而維塔利克創建了以太坊區塊鏈,他的核心目標都是圍繞智能合約展開的:一個圖靈完備的腳本語言、一個運行智能合約的虛擬機(EVM),以及後續發展出來的一系列標准化的用於不同類型通證的智能合約等。
圖3:區塊鏈2.0的關鍵改進是「智能合約」
智能合約的出現使得基於區塊鏈的兩個人不只是可以進行簡單的價值轉移,而可以設定復雜的規則,由智能合約自動、自治地執行,這極大地擴展了區塊鏈的應用可能性。
當前把焦點放在通證的創新性應用上的項目,在軟體層面都是通過編寫智能合約來實現的。利用智能合約,我們可以進行復雜的數字資產交易。
在討論以太坊的發展過程時,在冷知識專欄「智能合約」「以太坊的智能合約」中,我們對智能合約進行了很多討論,在此不再贅述。這里再借維塔利克的討論,重復一下我們認同的智能合約的軟體性質——它相當於一種特殊的服務端後台程序(daemon)。在以太坊白皮書中,維塔利克寫道:
(合約)應被看成是存在於以太坊執行環境中的「自治代理」(autonomousagents),它擁有自己的以太坊賬戶,收到交易信息,它們就相當於被捅了一下,然後它就自動執行一段代碼。
智能合約的執行流程如圖4所示。區塊鏈的第五、第六個定義如圖5所示。
圖4:智能合約的執行流程
圖5:區塊鏈的定義之五、之六
區塊鏈的四大特徵之四:去中心自組織
區塊鏈的第四大特徵是去中心自組織。到目前為止,主要區塊鏈項目的自身組織和運作都與這個特徵緊密相關。很多人對區塊鏈項目的理想期待是,它們成為自治運轉的一個社區或生態。
匿名的中本聰在完成比特幣的開發和初期的迭代開發之後,就完全從互聯網上消失了。但他創造的比特幣系統持續地運轉著:無論是比特幣這個加密數字貨幣,比特幣協議即它的發行與交易機制,比特幣的分布式賬本、去中心網路,還是比特幣礦工和比特幣開發,都去中心化、自組織地運轉著。
我們可以合理地猜測,在比特幣之後出現了眾多修改參數分叉形成的競爭幣、硬分叉形成的比特幣現金(BCH),可能都符合中本聰的設想。他選擇了「失控」,失控可視為自治的同義詞。
到目前為止,以太坊項目仍在維塔利克的「領導」之下,但正如本章一開始討論的,他是以領導一個開源組織的方式引領著這個項目,就像林納斯領導開源的Linux操作系統和Linux基金會一樣。
維塔利克可能是對去中心自組織思考得最多的人之一,他一直強調和採用基於區塊鏈的治理方式。2016年以太坊的硬分叉是他提議的,但需要通過鏈上的社區投票,獲得通過方可施行。在以太坊社區中,包括ERC20等在內的眾多標準是社區開發者自發形成的。
在《去中心化應用》一書中,作者西拉傑·拉瓦爾(SirajRaval)還從另一個角度進行了區分,他的這個區分有助於我們更好地理解未來的應用與組織。他從兩個維度看現有的互聯網技術產品:一個維度是,在組織上是中心化的,還是去中心化的;另一個維度是,在邏輯上是中心化的,還是去中心化的。
他認為:「比特幣在組織上去中心化,在邏輯上集中。」而電子郵件系統在組織上和邏輯上都是去中心化的(見圖6)。
圖6:比特幣在組織上去中心化,在邏輯上集中
在設想未來的組織時,我們心中的理想原型常是比特幣的組織:完全去中心化的自治組織。但在實踐過程中,為了效率和能夠推進,我們又會略微往中心化組織靠攏,最終找到一個合適的平衡點。
現在,在通過以太坊的智能合約創建和發放通證,並以社區或生態方式運行的區塊鏈項目中,不少項目的理想狀態是類似於比特幣的組織,但實際情況是介於完全的去中心化組織和傳統的公司之間。
在討論區塊鏈的第四個特徵去中心自組織時,其實我們已經在從代碼的世界往外走,涉及人的組織與協同了。現在,各種討論和實際探索也揭示了區塊鏈在技術之外的意義:它可能作為基礎設施支持人類的生產組織和協同的變革。這正是區塊鏈與互聯網是完全同構的又一例證,互聯網也不僅僅是一項技術,它改變了人們的組織和協同。
總的來說,以太坊把區塊鏈帶入了新的階段。在討論以太坊時,如果要總結兩個關鍵詞的話,那麼這兩個關鍵詞分別是智能合約和通證;而如果只能說一個的話,我會選擇「通證」。我會更願意從互聯網的歷史中找尋它的意義,重復之前的類比:作為價值表示物的通證,它的角色類似於HTML。在有了HTML之後,建什麼樣的網站完全取決於我們的想像力。
區塊鏈的四大特徵區塊鏈的特點:匿名性、可擴展性、開放性,不可撤銷、不可篡改和加密安全性。
區塊鏈是透明共享的總帳本,這帳本在全網公開,你拿到它的公鑰,你就知道它帳裡面到底是有多少錢,所以任何一次的價值轉換,全世界有興趣的人都能在旁邊看著你,轉換是由礦工來幫你確認的,所以它是一個互聯網共識機制。這個帳本是沒有辦法篡改的,因為你的行為不是由你來記錄,不是由你來說是還是不是,是由這個網路上其他的人來決定這是不是這么一回事。
區塊鏈的特徵包括什麼
安全性高。區塊鏈不受任何人和實體的控制,數據在多台計算機上完整的復制。攻擊者沒有一個單一的入口點,數據安全更有保障。數據不可篡改,一旦進入區塊鏈,任何信息都是無法更改的,甚至管理員也無法修改此信息。無第三方並且可訪問。區塊鏈的去中心和幫助對點交易,無論是交易還是交換資金,都無需等三方批准。而且,網路中是有的節點都可以輕松訪問信息。
區塊鏈最大的特性是去中心化,去中心化意味著所有操作都部署在分布式賬本上,而不再部署在中心化機構的伺服器上。
區塊鏈是分布式數據存儲,點對點傳輸,共識機制,加密演算法等計算機技術相結合的新型應用。
基本特徵包含:去中心化,開放性,自治性,信息不可篡改,匿名性。
1.去中心化
由於區塊鏈使用分布式存儲,沒有中心硬體和機構,任何節點的權利和責任都是平等的,系統中的數據由所有節點共同維護。
而傳統互聯網,比如臉書,騰訊,十數億人的隱私數據由一家公司管理,一個中央伺服器維護。
因此,傳統互聯網資料庫,安全性和隱私性欠缺,時常發生黑客盜用,泄露事件。
2.開放性
區塊鏈系統是開放的,公鏈代碼是開源的。除了交易各方的私有信息進行加密,數據是對大眾公開的。任何人都能對數據進行查詢,系統數據高度透明。
3.自治性
自治性建立在規范和協議的基礎之上。區塊鏈技術採用基於協商一致的規范和協議(比如公開透明的演算法)。
讓系統里所有節點都能在去信任的環境中自由安全地交換數據。
將傳統互聯網對人的信任,改變成對數學,密碼學,計算機等物理機器的信任,
任何人都無法干涉區塊鏈協議信任。
4.數據不可篡改
信息一經所有節點驗證並添加到區塊鏈上,就會被永久記錄下來。
除非同時控制系統里51%以上的節點,否則,單個節點上對資料庫私自篡改是無效的,無法上鏈記錄的。
因此,區塊鏈數據的穩定性和安全性非常高。
反而,傳統互聯網,中心化機構的中央伺服器後台可以隨時篡改任何人的數據,封禁你的網址,網頁,賬戶等等,毫無安全性可言。
5.匿名性
區塊鏈節點之間的交換嚴格按照固定演算法執行。
其信息交互是無需信任的,換言之,交易各方是無條件信任的。
傳統的信任是人與人之間的信任,或者人對第三方中心化機構的信任。
而區塊鏈技術解決的是人與人彼此之間,完全的信任問題。
。
❸ 上海銀之夢科技—— BTC、ETH、LTC的最小單位是什麼區塊鏈科普文
區塊鏈和比特幣的興起引領了全球的挖礦熱潮,盡管看似復雜,普通人也能參與。首要問題是:BTC、ETH和LTC的最小單位各是什麼?
首先,比特幣的最小單位是聰(Satoshi),它是為了紀念匿名創造者中本聰而命名的,1聰等於0.00000001 BTC。聰不僅讓比特幣支持微交易,如小額支付,還提供精確的交易精度和普及性,使得小額持有和交易成為可能。
以太幣(ETH)的最小單位是Wei,以太坊的1 ETH等於10^18 Wei,Wei在處理智能合約和微交易時極其精確。萊特幣(LTC)也有其最小單位Litoshi,1 Litoshi相當於0.00000001 LTC,同樣支持高精度交易。
這些微小的單位確保了這些加密貨幣在各種經濟活動中的靈活性和精確度,無論是大額轉賬還是微支付。如果你對加密貨幣感興趣,我們隨時歡迎你的咨詢。
❹ 區塊鏈有哪些層次,區塊鏈主要分為
區塊鏈技術的三個層級是什麼?金窩窩網路科技分析區塊鏈的項目分三個層級:
最上面最容易做的就是應用層,這樣的項目我每天都能看到兩三個,佔了整個市場的95%以上。但這類公司往往會在白皮書里寫很多技術性的東西,其實寫了也白寫,這純粹就是為了湊頁數,因為他根本不需要講技術。
第二類是中間操作層面的,像是量子鏈、小蟻這樣。這樣的項目類似於操作程序,叫基礎鏈,用來跑應用的。這類相對來說比較少,佔比一下子降到了5%以下。
第三類是更往下延伸、更底層的,像是標准鏈、arcblock。這類就更少了,一個月能看到兩三個就不錯了。而且有些還不一定是真實的,因為實在沒東西可寫了,所有的領域都被別人佔領了,所以就會有人往這方向編。
區塊鏈的層級結構(什麼是區塊鏈的Layer0/1/2)分層結構是區塊鏈處理數據和運行的基礎。
為了尋找到區塊鏈的可擴展性方案,學術研究領域(通常論文中)所指的區塊鏈被分為三層:Layer0、Layer1和Layer2。
通常,區塊鏈系統主要分為:應用層、激勵層、共識層、網路層和數據層,共六層,主要體現在初期的比特幣系統上。隨著智能合約的產生,在應用層和激勵層之間加入了合約層,主要體現在以太坊系統中。
對於每一層的內容如上圖所示,但在具體的不同系統中所使用的技術可能並不相同,比如共識層主要完成節點之間的共識,除了工作量證明機制(ProofofWork)還有權益證明機制(ProofofStake)和拜占庭容錯機制(ByzantineFaultTolerance(BFT)等方式。
數據層、網路層、共識層三者構成了區塊鏈層級的底層基礎,也是區塊鏈必不可少的三個元素,缺少任何一個都無法稱之為真正的區塊鏈技術。
區塊鏈分層結構對應到OSI體系7層模型和TCP/IP4層模型下的對比如下圖所示。
如果我們再聚焦TCP/IP的四層,特別是上面的「應用層」的話,我們會看到,有可能區塊鏈是把原來只專注於信息傳遞的應用層,分出來一個專門用於價值轉移的新層。因此,我們可以認為TCP/IP四層拆分成了五層,將區塊鏈視為TCP/IP的一層:價值層。
一般認為比特幣、以太坊、EOS是區塊鏈1.0、2.0、3.0的代表,如果去看它們的分層也很有意思:
從比特幣到以太坊,增加了合約層。從以太坊到EOS,因為採用DPOS,激勵層實際上合並到了共識層。而EOS增加出來兩層:①工具層,以讓在其上更容易開發應用;②生態層,它自身的定位是一個開源軟體,那麼其他人可以用它的開源軟體建立行業鏈、領域鏈。
徐忠、鄒傳偉寫了一篇央行工作論文,從經濟學的角度探討區塊鏈,試圖給出一種Token範式。其中,實際上他們給出了一個分層模型,這回是內外分層:里層是共識,又分:Token、智能合約、共識演算法;處在共識邊界與區塊鏈邊界,是區塊鏈內的其他信息;處在區塊鏈邊界之外,是互聯網和實體世界。
一些系統為了提升性能,其實對它的分布式網路也進行了分層。也就是,不是所有的節點都是平等的。
比如,以下是EOS的分層。
為了讓區塊鏈變得有用,又有人從其他視角進行討論。ENChain.Asia的朱峰在BAO白皮書中提出了「自組織商業體7層模型」,這個模型又被在《通證經濟的模型與實踐》(0.2)報告中引述,稱之為「自商業七層模型」。
不過,要注意的是,這里的「激勵層」,和我們通常說區塊鏈的激勵層,有相似之處,又不一樣。之前我們討論激勵層,往往是在公鏈原生代幣的角度討論的,而這里的激勵層,則是通證層面討論的。
火幣研究院在2018年12月的一份報告《區塊鏈四層應用模型的構建與解析》中,給出了一個四層的應用模型,很有意思:
參考文獻:
1.區塊鏈十年:各種各樣的層
2.區塊鏈六大層級結構你知道多少?-知乎
3.區塊鏈的六個分層級結構介紹-區塊鏈-電子發燒友網
區塊鏈技術框架有哪些?當前主流的區塊鏈架構包含六個層級:網路層、數據層、共識層、激勵層、合約層和應用層。圖中將數據層和網路層的位置進行了對調,主要用途將在下一節中詳述。
網路層:區塊鏈網路本質是一個P2P(Peer-to-peer點對點)的網路,網路中的資源和服務分散在所有節點上,信息的傳輸和服務的實現都直接在節點之間進行,可以無需中間環節和伺服器的介入。每一個節點既接收信息,也產生信息,節點之間通過維護一個共同的區塊鏈來同步信息,當一個節點創造出新的區塊後便以廣播的形式通知其他節點,其他節點收到信息後對該區塊進行驗證,並在該區塊的基礎上去創建新的區塊,從而達到全網共同維護一個底層賬本的作用。所以網路層會涉及到P2P網路,傳播機制,驗證機制等的設計,顯而易見,這些設計都能影響到區塊信息的確認速度,網路層可以作為區塊鏈技術可擴展方案中的一個研究方向;
數據層:區塊鏈的底層數據是一個區塊+鏈表的數據結構,它包括數據區塊、鏈式結構、時間戳、哈希函數、Merkle樹、非對稱加密等設計。其中數據區塊、鏈式結構都可作為區塊鏈技術可擴展方案對數據層研究時的改進方向。
共識層:它是讓高度分散的節點對區塊數據的有效性達到快速共識的基礎,主要的共識機制有POW(ProofOfWork工作量證明機制),POS(ProofofStake權益證明機制),DPOS(DelegatedProofofStake委託權益證明機制)和PBFT(實用拜占庭容錯)等,它們一直是區塊鏈技術可擴展方案中的重頭戲。
激勵層:它是大家常說的挖礦機制,用來設計一定的經濟激勵模型,鼓勵節點來參與區塊鏈的安全驗證工作,包括發行機制,分配機制的設計等。這個層級的改進貌似與區塊鏈可擴展並無直接聯系。
合約層:主要是指各種腳本代碼、演算法機制以及智能合約等。第一代區塊鏈嚴格講這一層是缺失的,所以它們只能進行交易,而無法用於其他的領域或是進行其他的邏輯處理,合約層的出現,使得在其他領域使用區塊鏈成為了現實,以太坊中這部分包括了EVM(以太坊虛擬機)和智能合約兩部分。這個層級的改進貌似給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似並無直接聯系
應用層:它是區塊鏈的展示層,包括各種應用場景和案例。如以太坊使用的是truffle和web3-js.區塊鏈的應用層可以是移動端,web端,或是是融合進現有的伺服器,把當前的業務伺服器當成應用層。這個層級的改進貌似也給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似並無直接聯系。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
區塊鏈技術架構中的三個層次是什麼?金窩窩分析區塊鏈技術中的三個層次如下:
協議層
所謂的協議層,就是指代最底層的技術。這個層次通常是一個完整的區塊鏈產品,類似於我們電腦的操作系統,它維護著網路節點,僅提供Api供調用。通常官方會提供簡單的客戶端(通稱為錢包),這個客戶端錢包功能也很簡單,只能建立地址、驗證簽名、轉賬支付、查看余額等。
擴展層
這個層面類似於電腦的驅動程序,是為了讓區塊鏈產品更加實用。
應用層
這個層面類似於電腦中的各種軟體程序,是普通人可以真正直接使用的產品,也可以理解為B/S架構的產品中的瀏覽器端(Browser)。這個層面的應用,目前幾乎是空白。
❺ 以太坊中的計量單位及相互轉換
首先我們來看一下以太幣單位之間的轉換,以太幣的最小單位為wei,1個eth相當於10的18次方wei。通常,大家也使用Gwei作為展示單位。比較常用的就是eth,Gwei和wei。
為了使用和驗證web3的操作命令,我們先進入geth的console控制台,在這里對具體的單位或進制轉換進行詳細的實例演示。
此轉換方法為web3.toDecimal(hexString)。直接在控制台輸入一下命令進行使用此函數進行轉換。
通過此函數將十六進制的0x16轉換為十進制的22。
轉換函數:web3.fromDecimal(number)。
控制台命令及結果如下:
把給定數字或十六進制字元串轉為 BigNumber 類型的實例。
此處轉換需要注意的是BigNumber只會保留小數點後20位,超過20位的部分將會被截取掉。
上面表格中列出了以太幣之間的單位進制,同樣可以使用web3進行相應的轉換,基本函數為web3.fromWei和web3.toWei(number, unit)。
具體實例如下:
其他的相關轉換大家可自行嘗試,下面列出相應的轉換種類:
通過上面的函數,在交易的過程中我們就可以隨意的單位進行發送交易,而不必使用最小單位wei。
通過查詢余額的方法,我們也可以看出區塊鏈中存儲這些數據的單位為wei。
代幣中的單位
在編寫ERC-20的代幣合約時我們可以指定代幣的單位,比如:
這里就指定了代幣單位精確到小數點後幾位。比如精確到小數點後3位,那麼1個代幣存儲時就是1000個最小單位的值。
❻ 區塊鏈包含哪些鏈
區塊鏈的鏈分類前兩天有朋友微信上問了許多關於區塊鏈的一些問題,其中一個問題就是區塊鏈的這個鏈怎麼去分類。區塊鏈目前可以分為四類:公鏈,私鏈,聯盟鏈以及側鏈。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面帶大家了解區塊鏈這幾個鏈各自的特點以及如何應用,希望對大家有所幫助。
1.公鏈——人人可參與
公鏈是指任何人都可讀取的、任何人都能發送交易且交易能獲得有效確認的、任何人都能參與其中共識過程的區塊鏈。
公鏈採取了採取工作量證明機制(POW)、權益證明機制(POS)、股份授權證明機制(DPOS)等方式,並將經濟獎勵和加密數字驗證結合了起來,並建立一個原則就是每個人從中可獲得的經濟獎勵與工作量成正比。這些區塊鏈通常被認為是完全去中心化的。
特性:
1.開源,由於整個系統的運作規則公開透明,這個系統是開源系統;2.保護用戶免受開發者的影響,在公有鏈中程序開發者無權干涉用戶,所以區塊鏈可以保護使用他們開發的程序的用戶;3.訪問門檻低,任何擁有足夠技術能力的人都可以訪問,也就是說,只要有一台能夠聯網的計算機就能夠滿足訪問的條件;4.所有數據默認公開,盡管所有關聯的參與者都隱藏自己的真實身份,這種現象十分的普遍。他們通過他們的公共性來產生自己的安全性,在這里每個參與者可以看到所有的賬戶余額和其所有的交易活動。
案例:公有鏈中有許多我們熟悉的身影:BTC,ETH,EOS,AE,ADA等
2.私鏈——權利掌握在少數人手裡
私鏈是指其寫入許可權僅在一個組織手裡的區塊鏈。讀取許可權或者對外開放,或者被任意程度地進行了限制。相關的應用囊括資料庫管理、審計、甚至一個公司,盡管在有些情況下希望它能有公共的可審計性,但在很多的情形下,公共的可讀性並非是必須的。
特性:
1.交易速度快,一個私鏈的交易速度可以比任何其他的區塊鏈都快,甚至接近了並不是一個區塊鏈的常規資料庫的速度。這是因為就算少量的節點也都具有很高的信任度,並不需要每個節點來驗證一個交易。2.隱私性好,給隱私更好的保障私有鏈使得在那個區塊鏈上的數據隱私政策像在另一個資料庫中似的完全一致;不用處理訪問許可權和使用所有的老辦法,但至少說,這個數據不會公開地被擁有網路連接的任何人獲得。3.交易成本低交易成本大幅降低甚至為零私有鏈上可以進行完全免費或者至少說是非常廉價的交易。如果一個實體機構控制和處理所有的交易,那麼他們就不再需要為工作而收取費用。
案例:Linux基金會、R3CEVCorda平台以及GemHealth網路的超級賬本項目(Hyperledgerproject)或在開發或在使用私鏈。
3.聯盟鏈——部分去中心化
聯盟鏈開放程度和去中心化程度是有所限制的。其參與者是被提前篩選出來或者直接指定的,資料庫的讀取許可權可能是公開的,也可能像寫入許可權一樣只限於系統的參與者。
特性:
1.交易成本低,交易只需被幾個受信的高算力節點驗證就可以了,而無需全網確認;2.節點容易連接,若是出了問題,聯盟鏈可以迅速通過人工干預來修復,並允許使用共識演算法減少區塊時間,從而更快完成交易;3.靈活,如果需要的話,運行私有區塊鏈的共同體或公司可以很容易地修改該區塊鏈的規則,還原交易,修改余額等。
案例:瑞波用於日韓國際匯款及日本本國銀行間匯款建立了聯盟鏈,同時之前火過一陣子的迅雷鏈克也是一種半開放的聯盟鏈。
4.側鏈——拓展協議
側鏈」從嚴格上來說,其本身並不是區塊鏈,可以理解為區塊鏈的一種擴展協議。早期「側鏈」是為了解決比特幣區塊鏈技術的限制問題。側鏈就像是一條條通路,將不同的區塊鏈互相連接在一起,以實現區塊鏈的擴展。側鏈完全獨立於比特幣區塊鏈,但是這兩個賬本之間能夠「互相操作」,實現交互。
特性:
1.獨立性,側鏈架構的好處是代碼和數據獨立,不增加主鏈的負擔,避免數據過度膨脹。側鏈有獨立的區塊鏈,有獨立的受託人或者說見證人,同時也有獨立的節點網路,就是說一個側鏈產生的區塊只會在所有安裝了該側鏈的節點之間進行廣播。2.靈活性,側鏈所有的區塊鏈參數是可以定製的,簡單的比如區塊間隔、區塊獎勵、交易費的去向等,高級用戶還可以修改共識演算法。
案例:LSK,RDN,ARDR等幣種是利用的側鏈技術。
對於目前整個數字貨幣領域而言,今年可能仍然是底層公有鏈項目的競爭大賽,原因是目前公鏈作為區塊鏈的基礎設施還是存在明顯的不足,尚且無法實現真正的安全、可靠和高效。這也明顯制約著整個區塊鏈產業的發展。
區塊鏈三大公鏈是什麼公鏈,公有鏈的簡稱,指全世界任何人都可讀取,任何人都可以發送交易且交易能獲得有效確認任何人都能參與其中共識過程的區塊鏈。
一.全球排名前三大公鏈
BTC、ETH、EOS(按市值)三個重量級的產品,分別代表區塊鏈1.0、區塊鏈2.0和區塊鏈3.0三個階段。
1.比特幣BTC(區塊鏈1.0)
比特幣2009誕生以來作為一種新型的數字貨幣和全球支付網路而出現,BTC也是區塊鏈最成功最成熟的應用,現在很多情景下BTC的名氣要比區塊鏈還要響亮得多。
2.以太坊ETH(區塊鏈2.0)
通俗說,以太坊是開源平台數字貨幣和區塊鏈平台,為開發者提供在區塊鏈上搭建發布應用的平台。以太坊可以編程,分散,擔保,交易任何事物,投票域名,金融交易所,眾籌,公司管理合同與大部分的協議,知識產權,還有硬體集成的智能資產等。
3.柚子EOS(區塊鏈3.0)
EOS在比特幣和以太坊的基礎上,以企業級區塊鏈操作系統出現,比前者更易用更強大。EOS為所有的應用程序開發者提供了資料庫賬目許可權設置,執行調度認證以及網路通信等諸多功能。
二.全球三大交易所公鏈:火幣公鏈HuobiChain、幣安鏈BinanceChain、OKEx鏈OKChain
1.全球第一大交易平台火幣開發,HuobiChain是自主創新的面向金融領域的可監管區塊鏈操作系統,基於區塊鏈全球性資產數字化和金融市場的基礎設施。同時基於對HT長期價值注入統一價值載體的考慮,HT將作為火幣公鏈唯一的底層通證。
2.全球第二大交易平台幣安開發,BinanceChain在應用方面起步早,目前主要DEX和資產鏈上流通。BinanceChain是一個數字資產創建與交換平台,BNB作為主鏈代幣
3.全球第三大交易平台OKEx開發,OKChain更具可擴展性,高交易處理能力的交易與智能合約平台,OKChain基於Cosmos-SDK研發,共識使用DPOS。OKB是OKEx生態系統的底層通證。
根據網路劃分區塊鏈的分類包括
法律分析:根據網路范圍劃分區塊鏈的分類包括公有鏈、聯盟鏈、私有鏈,具體如下:
1、公有鏈:主要是指部署在互聯網范圍之內,沒有特別的一個許可權的一個設置,也沒有其他的一些什麼登陸上的一些條件,任何人都可以直接下載節點來使用,任何人也可以直接通過一個客戶端來連接一個節點,是沒有什麼限制的,其中的數據,也能夠被任意的訪問;
2、聯盟鏈:也就是由若干個節點成員來組成的一個聯盟網路,這種類型,主要是使用在商業環境之下,比如說多個商家之間,政府的政務,銀行,稅務等,他們可以共同組成一個聯盟,為某一個具體的場景服務,比如說像企業跟他的客戶之間,供應商之間等等可以形成一個聯盟網路,聯盟鏈相對於公有鏈來講,它一般是有一個身份鑒權的,並不是所有人都可以直接來聯入聯盟鏈這個網路的,它有一個身份鑒權,同時對於數據也有一些更多的保護;
3、私有鏈:更多的是在企業的內部,比如一個集團企業,它的各個部門之間,它的子公司之間,從這個角度來說,這三種,它們的一個主要的區分在於針對不同的應用場景,針對一個網路的分布范圍所形成的一個網路部署的差別,它是一個靈活的概念,這三者之間是根據不同的網路范圍,根據應用場景的一個劃分,並不是一個嚴格意義上的界定。
法律依據:《中華人民共和國網路安全法》
第一條為了保障網路安全,維護網路空間主權和國家安全、社會公共利益,保護公民、法人和其他組織的合法權益,促進經濟社會信息化健康發展,制定本法。
第二條在中華人民共和國境內建設、運營、維護和使用網路,以及網路安全的監督管理,適用本法。
區塊鏈都有哪些鏈?一起了解下區塊鏈有哪些鏈,走著。
1、公有鏈(PublicBlockchain)
對所有人開放,任何人都可以參與的區塊鏈。
@比特幣是代表。
公有鏈完全去中心化、不受任何機構控制,賬本完全公開透明、任何人都可以參與到區塊鏈的維護和數據讀取。
2、聯盟鏈(ConsortiumBlockchain)
參與區塊鏈的節點是事先選擇好的,對特定的組織或團體開放。
@R3CEV是聯盟鏈的代表。
聯盟鏈對特定的組織團體開放,是指參與區塊鏈的節點是事先選擇好的,節點間很可能有很好的網路連接。
特點:
(1)交易速度非常快;
可以做到很好的節點之間的連接,只需要極少的成本就能維持運轉,它的交易速度是非常的快,少量的節點也都具有很高的信任度,並不需要每個節點來驗證。
(2)交易成本大幅降低甚至為零;
當一個中心化的實體聯盟來處理記賬的時候,是不需要高昂的激勵機制的,也能夠促使節點們記賬,因此手續費會降低很多,甚至是零。
(3)數據可以有一定的隱私;
聯盟鏈中的數據讀取許可權是分級別的,對外和對內,以及內部各節點之間的許可權也可以不一樣。聯盟鏈也意味著這個區塊鏈的應用范圍不會太廣,它不太像比特幣的網路傳播效應。
3、私有鏈(PrivateBlockchain)
對單獨的個人或實體開放,參與的節點只有自己,數據的訪問和使用有嚴格的許可權管理,一般用作內部審計使用。
@由於是一個控制中心說了算,裡面的數據就無法保證無法更改的特性,對於第三方和公眾也沒有多大的保障,一般用作內部審計。
區塊鏈知識點,點點滴滴。
什麼是區塊鏈?區塊鏈有兩個含義:
1、區塊鏈(Blockchain)是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。
2、區塊鏈是比特幣的底層技術,像一個資料庫賬本,記載所有的交易記錄。這項技術也因其安全、便捷的特性逐漸得到了銀行與金融業的關注。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
區塊鏈總共有哪些1、公有區塊鏈
世界上任何個體或者團體都可以發送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。公有區塊鏈是最早的區塊鏈,也是應用最廣泛的區塊鏈,各大bitcoins系列的虛擬數字貨幣均基於公有區塊鏈,世界上有且僅有一條該幣種對應的區塊鏈。
2、聯合(行業)區塊鏈
由某個群體內部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易。
但不過問記賬過程(本質上還是託管記賬,只是變成分布式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人可以通過該區塊鏈開放的API進行限定查詢。
3、私有區塊鏈
僅僅使用區塊鏈的總賬技術進行記賬,可以是一個公司,也可以是個人,獨享該區塊鏈的寫入許可權,本鏈與其他的分布式存儲方案沒有太大區別。傳統金融都是想實驗嘗試私有區塊鏈,而公鏈的應用例如bitcoin已經工業化。
(6)構成以太坊區塊鏈最小擴展閱讀:
跟傳統的分布式存儲有所不同,區塊鏈的分布式存儲的獨特性主要體現在區塊鏈每個節點都按照塊鏈式結構存儲完整的數據,傳統分布式存儲一般是將數據按照一定的規則分成多份進行存儲。
區塊鏈每個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分布式存儲一般是通過中心節點往其他備份節點同步數據。
沒有任何一個節點可以單獨記錄賬本數據,從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。也由記賬節點足夠多,理論上講除非所有的節點被破壞,否則賬目就不會丟失,從而保證了賬目數據的安全性。
❼ 以太坊區塊鏈大小多少(以太坊區塊高度是多少)
以太坊公鏈區塊高度根據之前的消息,以太坊區塊高度現在調整高度到4730660!以太坊是一個全新開放的區塊鏈平台,它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
就像比特幣一樣,以太坊不受任何人控制,也不歸任何人所有——它是一個開放源代碼項目,由全球范圍內的很多人共同創建。和比特幣協議有所不同的是,以太坊的設計十分靈活,極具適應性。在以太坊平台上創立新的應用十分簡便,隨著Homestead的發布,任何人都可以安全地使用該平台上的應用。
以太坊是可編程的區塊鏈。它並不是給用戶一系列預先設定好的操作,而是允許用戶按照自己的意願創建復雜的操作。這樣一來,它就可以作為多種類型去中心化區塊鏈應用的平台。
以太坊區塊鏈大小
與比特幣網路不同,以太坊不會明確地按內存限制每個區塊的大小,而是通過區塊GasLimit強制規定每個區塊的大小。
以太坊的區塊GasLimit設置有效的限制了一個區塊中可以打包的交易量。GasLimit參數由以太坊礦工集體決定,即通過投票的方式來動態地增加或降低GasLimit數值。
最近的一次投票是2019年下半年,礦工們群體投票同意將以太坊的區塊GasLimit由原來的800萬Gas單位提高至1000萬,使每個區塊相比之前區塊的大小增加了25%左右,這從理論上提高了以太坊網路的TPS。
什麼是區塊鏈擴容?普通用戶能夠運行節點對於區塊鏈的去中心化至關重要
想像一下凌晨兩點多,你接到了一個緊急呼叫,來自世界另一端幫你運行礦池(質押池)的人。從大約14分鍾前開始,你的池子和其他幾個人從鏈中分離了出來,而網路仍然維持著79%的算力。根據你的節點,多數鏈的區塊是無效的。這時出現了余額錯誤:區塊似乎錯誤地將450萬枚額外代幣分配給了一個未知地址。
一小時後,你和其他兩個同樣遭遇意外的小礦池參與者、一些區塊瀏覽器和交易所方在一個聊天室中,看見有人貼出了一條推特的鏈接,開頭寫著「宣布新的鏈上可持續協議開發基金」。
到了早上,相關討論廣泛散布在推特以及一個不審查內容的社區論壇上。但那時450萬枚代幣中的很大一部分已經在鏈上轉換為其他資產,並且進行了數十億美元的defi交易。79%的共識節點,以及所有主要的區塊鏈瀏覽器和輕錢包的端點都遵循了這條新鏈。也許新的開發者基金將為某些開發提供資金,或者也許所有這些都被領先的礦池、交易所及其裙帶所吞並。但是無論結果如何,該基金實際上都成為了既成事實,普通用戶無法反抗。
或許還有這么一部主題電影。或許會由MolochDAO或其他組織進行資助。
這種情形會發生在你的區塊鏈中嗎?你所在區塊鏈社區的精英,包括礦池、區塊瀏覽器和託管節點,可能協調得很好,他們很可能都在同一個telegram頻道和微信群中。如果他們真的想出於利益突然對協議規則進行修改,那麼他們可能具備這種能力。以太坊區塊鏈在十小時內完全解決了共識失敗,如果是只有一個客戶端實現的區塊鏈,並且只需要將代碼更改部署到幾十個節點,那麼可以更快地協調客戶端代碼的更改。能夠抵禦這種社會性協作攻擊的唯一可靠方式是「被動防禦」,而這種力量來自去一個中心化的群體:用戶。
想像一下,如果用戶運行區塊鏈的驗證節點(無論是直接驗證還是其他間接技術),並自動拒絕違反協議規則的區塊,即使超過90%的礦工或質押者支持這些區塊,故事會如何發展。
如果每個用戶都運行一個驗證節點,那麼攻擊很快就會失敗:有些礦池和交易所會進行分叉,並且在整個過程中看起來很愚蠢。但是即使只有一些用戶運行驗證節點,攻擊者也無法大獲全勝。相反,攻擊會導致混亂,不同用戶會看到不同的區塊鏈版本。最壞情況下,隨之而來的市場恐慌和可能持續的鏈分叉將大幅減少攻擊者的利潤。對如此曠日持久的沖突進行應對的想法本身就可以阻止大多數攻擊。
Hasu關於這一點的看法:
「我們要明確一件事,我們之所以能夠抵禦惡意的協議更改,是因為擁有用戶驗證區塊鏈的文化,而不是因為PoW或PoS。」
假設你的社區有37個節點運行者,以及80000名被動監聽者,對簽名和區塊頭進行檢查,那麼攻擊者就獲勝了。如果每個人都運行節點的話,攻擊者就會失敗。我們不清楚針對協同攻擊的啟動群體免疫的確切閾值是多少,但有一點是絕對清楚的:好的節點越多,惡意的節點就越少,而且我們所需的數量肯定不止於幾百幾千個。
那麼全節點工作的上限是什麼?
為了使得有盡可能多的用戶能夠運行全節點,我們會將注意力集中在普通消費級硬體上。即使能夠輕松購買到專用硬體,這能夠降低一些全節點的門檻,但事實上對可擴展性的提升並不如我們想像的那般。
全節點處理大量交易的能力主要受限於三個方面:
算力:在保證安全的前提下,我們能劃分多少CPU來運行節點?
帶寬:基於當前的網路連接,一個區塊能包含多少位元組?
存儲:我們能要求用戶使用多大的空間來進行存儲?此外,其讀取速度應該達到多少?(即,HDD足夠嗎?還是說我們需要SSD?)
許多使用「簡單」技術對區塊鏈進行大幅擴容的錯誤看法都源自於對這些數字過於樂觀的估計。我們可以依次來討論這三個因素:
算力
錯誤答案:100%的CPU應該用於區塊驗證
正確答案:約5-10%的CPU可以用於區塊驗證
限制之所以這么低的四個主要原因如下:
我們需要一個安全邊界來覆蓋DoS攻擊的可能性(攻擊者利用代碼弱點製造的交易需要比常規交易更長的處理時間)
節點需要在離線之後能夠與區塊鏈同步。如果我掉線一分鍾,那我應該要能夠在幾秒鍾之內完成同步
運行節點不應該很快地耗盡電池,也不應該拖慢其他應用的運行速度
節點也有其他非區塊生產的工作要進行,大多數是驗證以及對p2p網路中輸入的交易和請求做出響應
請注意,直到最近大多數針對「為什麼只需要5-10%?」這一點的解釋都側重於另一個不同的問題:因為PoW出塊時間不定,驗證區塊需要很長時間,會增加同時創建多個區塊的風險。這個問題有很多修復方法,例如BitcoinNG,或使用PoS權益證明。但這些並沒有解決其他四個問題,因此它們並沒有如許多人所料在可擴展性方面獲得巨大進展。
並行性也不是靈丹妙葯。通常,即使是看似單線程區塊鏈的客戶端也已經並行化了:簽名可以由一個線程驗證,而執行由其他線程完成,並且有一個單獨的線程在後台處理交易池邏輯。而且所有線程的使用率越接近100%,運行節點的能源消耗就越多,針對DoS的安全系數就越低。
帶寬
錯誤答案:如果沒2-3秒都產生10MB的區塊,那麼大多數用戶的網路都大於10MB/秒,他們當然都能處理這些區塊
正確答案:或許我們能在每12秒處理1-5MB的區塊,但這依然很難
如今,我們經常聽到關於互聯網連接可以提供多少帶寬的廣為傳播的統計數據:100Mbps甚至1Gbps的數字很常見。但是由於以下幾個原因,宣稱的帶寬與預期實際帶寬之間存在很大差異:
「Mbps」是指「每秒數百萬bits」;一個bit是一個位元組的1/8,因此我們需要將宣稱的bit數除以8以獲得位元組數。
網路運營商,就像其他公司一樣,經常編造謊言。
總是有多個應用使用同一個網路連接,所以節點無法獨占整個帶寬。
P2P網路不可避免地會引入開銷:節點通常最終會多次下載和重新上傳同一個塊(更不用說交易在被打包進區塊之前還要通過mempool進行廣播)。
當Starkware在2019年進行一項實驗時,他們在交易數據gas成本降低後首次發布了500kB的區塊,一些節點實際上無法處理這種大小的區塊。處理大區塊的能力已經並將持續得到改善。但是無論我們做什麼,我們仍然無法獲取以MB/秒為單位的平均帶寬,說服自己我們可以接受1秒的延遲,並且有能力處理那種大小的區塊。
存儲
錯誤答案:10TB
正確答案:512GB
正如大家可能猜到的,這里的主要論點與其他地方相同:理論與實踐之間的差異。理論上,我們可以在亞馬遜上購買8TB固態驅動(確實需要SSD或NVME;HDD對於區塊鏈狀態存儲來說太慢了)。實際上,我用來寫這篇博文的筆記本電腦有512GB,如果你讓人們去購買硬體,許多人就會變得懶惰(或者他們無法負擔800美元的8TBSSD)並使用中心化服務。即使可以將區塊鏈裝到某個存儲設備上,大量活動也可以快速地耗盡磁碟並迫使你購入新磁碟。
一群區塊鏈協議研究員對每個人的磁碟空間進行了調查。我知道樣本量很小,但仍然...
此外,存儲大小決定了新節點能夠上線並開始參與網路所需的時間。現有節點必須存儲的任何數據都是新節點必須下載的數據。這個初始同步時間(和帶寬)也是用戶能夠運行節點的主要障礙。在寫這篇博文時,同步一個新的geth節點花了我大約15個小時。如果以太坊的使用量增加10倍,那麼同步一個新的geth節點將至少需要一周時間,而且更有可能導致節點的互聯網連接受到限制。這在攻擊期間更為重要,當用戶之前未運行節點時對攻擊做出成功響應需要用戶啟用新節點。
交互效應
此外,這三類成本之間存在交互效應。由於資料庫在內部使用樹結構來存儲和檢索數據,因此從資料庫中獲取數據的成本隨著資料庫大小的對數而增加。事實上,因為頂級(或前幾級)可以緩存在RAM中,所以磁碟訪問成本與資料庫大小成正比,是RAM中緩存數據大小的倍數。
不要從字面上理解這個圖,不同的資料庫以不同的方式工作,通常內存中的部分只是一個單獨(但很大)的層(參見leveldb中使用的LSM樹)。但基本原理是一樣的。
例如,如果緩存為4GB,並且我們假設資料庫的每一層比上一層大4倍,那麼以太坊當前的~64GB狀態將需要~2次訪問。但是如果狀態大小增加4倍到~256GB,那麼這將增加到~3次訪問。因此,gas上限增加4倍實際上可以轉化為區塊驗證時間增加約6倍。這種影響可能會更大:硬碟在已滿狀態下比空閑時需要花更長時間來讀寫。
這對以太坊來說意味著什麼?
現在在以太坊區塊鏈中,運行一個節點對許多用戶來說已經是一項挑戰,盡管至少使用常規硬體仍然是可能的(我寫這篇文章時剛剛在我的筆記本電腦上同步了一個節點!)。因此,我們即將遭遇瓶頸。核心開發者最關心的問題是存儲大小。因此,目前在解決計算和數據瓶頸方面的巨大努力,甚至對共識演算法的改變,都不太可能帶來gaslimit的大幅提升。即使解決了以太坊最大的DoS弱點,也只能將gaslimit提高20%。
對於存儲大小的問題,唯一解決方案是無狀態和狀態逾期。無狀態使得節點群能夠在不維護永久存儲的情況下進行驗證。狀態逾期會使最近未訪問過的狀態失活,用戶需要手動提供證明來更新。這兩條路徑已經研究了很長時間,並且已經開始了關於無狀態的概念驗證實現。這兩項改進相結合可以大大緩解這些擔憂,並為顯著提升gaslimit開辟空間。但即使在實施無狀態和狀態逾期之後,gaslimit也可能只會安全地提升約3倍,直到其他限制開始發揮作用。
另一個可能的中期解決方案使使用ZK-SNARKs來驗證交易。ZK-SNARKs能夠保證普通用戶無需個人存儲狀態或是驗證區塊,即使他們仍然需要下載區塊中的所有數據來抵禦數據不可用攻擊。另外,即使攻擊者不能強行提交無效區塊,但是如果運行一個共識節點的難度過高,依然會有協調審查攻擊的風險。因此,ZK-SNARKs不能無限地提升節點能力,但是仍然能夠對其進行大幅提升(或許是1-2個數量級)。一些區塊鏈在layer1上探索該形式,以太坊則通過layer2協議(也叫ZKrollups)來獲益,例如zksync,Loopring和Starknet。
分片之後又會如何?
分片從根本上解決了上述限制,因為它將區塊鏈上包含的數據與單個節點需要處理和存儲的數據解耦了。節點驗證區塊不是通過親自下載和執行,而是使用先進的數學和密碼學技術來間接驗證區塊。
因此,分片區塊鏈可以安全地擁有非分片區塊鏈無法實現的非常高水平的吞吐量。這確實需要大量的密碼學技術來有效替代樸素完整驗證,以拒絕無效區塊,但這是可以做到的:該理論已經具備了基礎,並且基於草案規范的概念驗證已經在進行中。
以太坊計劃採用二次方分片(quadraticsharding),其中總可擴展性受到以下事實的限制:節點必須能夠同時處理單個分片和信標鏈,而信標鏈必須為每個分片執行一些固定的管理工作。如果分片太大,節點就不能再處理單個分片,如果分片太多,節點就不能再處理信標鏈。這兩個約束的乘積構成了上限。
可以想像,通過三次方分片甚至指數分片,我們可以走得更遠。在這樣的設計中,數據可用性采樣肯定會變得更加復雜,但這是可以實現的。但以太坊並沒有超越二次方,原因在於,從交易分片到交易分片的分片所獲得的額外可擴展性收益實際上無法在其他風險程度可接受的前提下實現。
那麼這些風險是什麼呢?
最低用戶數量
可以想像,只要有一個用戶願意參與,非分片區塊鏈就可以運行。但分片區塊鏈並非如此:單個節點無法處理整條鏈,因此需要足夠的節點以共同處理區塊鏈。如果每個節點可以處理50TPS,而鏈可以處理10000TPS,那麼鏈至少需要200個節點才能存續。如果鏈在任何時候都少於200個節點,那可能會出現節點無法再保持同步,或者節點停止檢測無效區塊,或者還可能會發生許多其他壞事,具體取決於節點軟體的設置。
在實踐中,由於需要冗餘(包括數據可用性采樣),安全的最低數量比簡單的「鏈TPS除以節點TPS」高幾倍,對於上面的例子,我們將其設置位1000個節點。
如果分片區塊鏈的容量增加10倍,則最低用戶數也增加10倍。現在大家可能會問:為什麼我們不從較低的容量開始,當用戶很多時再增加,因為這是我們的實際需要,用戶數量回落再降低容量?
這里有幾個問題:
區塊鏈本身無法可靠地檢測到其上有多少唯一用戶,因此需要某種治理來檢測和設置分片數量。對容量限制的治理很容易成為分裂和沖突的根源。
如果許多用戶突然同時意外掉線怎麼辦?
增加啟動分叉所需的最低用戶數量,使得防禦惡意控制更加艱難。
最低用戶數為1,000,這幾乎可以說是沒問題的。另一方面,最低用戶數設為100萬,這肯定是不行。即使最低用戶數為10,000也可以說開始變得有風險。因此,似乎很難證明超過幾百個分片的分片區塊鏈是合理的。
歷史可檢索性
用戶真正珍視的區塊鏈重要屬性是永久性。當公司破產或是維護該生態系統不再產生利益時,存儲在伺服器上的數字資產將在10年內不再存在。而以太坊上的NFT是永久的。
是的,到2372年人們仍能夠下載並查閱你的加密貓。
但是一旦區塊鏈的容量過高,存儲所有這些數據就會變得更加困難,直到某時出現巨大風險,某些歷史數據最終將……沒人存儲。
要量化這種風險很容易。以區塊鏈的數據容量(MB/sec)為單位,乘以~30得到每年存儲的數據量(TB)。當前的分片計劃的數據容量約為1.3MB/秒,因此約為40TB/年。如果增加10倍,則為400TB/年。如果我們不僅希望可以訪問數據,而且是以一種便捷的方式,我們還需要元數據(例如解壓縮匯總交易),因此每年達到4PB,或十年後達到40PB。InternetArchive(互聯網檔案館)使用50PB。所以這可以說是分片區塊鏈的安全大小上限。
因此,看起來在這兩個維度上,以太坊分片設計實際上已經非常接近合理的最大安全值。常數可以增加一點,但不能增加太多。
結語
嘗試擴容區塊鏈的方法有兩種:基礎的技術改進和簡單地提升參數。首先,提升參數聽起來很有吸引力:如果您是在餐紙上進行數學運算,這就很容易讓自己相信消費級筆記本電腦每秒可以處理數千筆交易,不需要ZK-SNARK、rollups或分片。不幸的是,有很多微妙的理由可以解釋為什麼這種方法是有根本缺陷的。
運行區塊鏈節點的計算機無法使用100%的CPU來驗證區塊鏈;他們需要很大的安全邊際來抵抗意外的DoS攻擊,他們需要備用容量來執行諸如在內存池中處理交易之類的任務,並且用戶不希望在計算機上運行節點的時候無法同時用於任何其他應用。帶寬也會受限:10MB/s的連接並不意味著每秒可以處理10MB的區塊!也許每12秒才能處理1-5MB的塊。存儲也是一樣,提高運行節點的硬體要求並且限制專門的節點運行者並不是解決方案。對於去中心化的區塊鏈而言,普通用戶能夠運行節點並形成一種文化,即運行節點是一種普遍行為,這一點至關重要。
區塊鏈網路擁堵怎麼辦1
什麼是網路擁堵
通常指的是一種網路故障現象:某辦公區域網計算機使用一個帶路由功能的ADSLModem+HUB共享上網。當同一時間上網人數較少的時候網路比較通暢,上網人數多了以後網路會時斷時通,並且HUB的Collision指示燈會閃爍不停。
而在區塊鏈的應用程序中,無論是數字貨幣、智能合約、去中心的交易系統等,它們的網路都是由一個個獨立的節點組成的,發生在節點中的各種操作,比如轉賬交易、合約狀態的變更等,都會以交易事務的數據形式廣播到網路中,通過礦工打包到新的區塊,作為主鏈的一部分而最終確認所有的這些操作。
當節點很多,使用量很多的時候,大量發生的交易就會來不及在正常期望的時間內被打包,因為它們都擁堵在網路中,這些等待的被確認的交易數據通常會維持在節點的內存池中。這個就是區塊鏈的擁堵。
2
網路擁堵是怎麼發生的
目前比特幣區塊大小為1M,每秒大約只能處理7個交易。隨著交易量不斷增長,比特幣網路已經難以迅速地進行轉賬交易確認,區塊鏈網路時常出現擁堵。
區塊鏈網路上最高時有上萬筆交易積壓,某些轉賬交易手續費高達幾十美元,網路擁堵時,交易甚至需要花費好幾天才能被打包。
實際上對於每一類區塊鏈應用來說,這個問題都是存在的,造成不斷有用戶抱怨交易延遲的問題,但也側面證明了應用的廣泛,以及用戶體量的增加。
那麼發生這些問題,我們應該怎麼辦呢?
3
網路擁堵怎麼解決
解決的方法,無非有如下幾種。
第一種擴容,提高處理能力。
第二種截流,限制區塊鏈包的數量。
通過將上述兩種方法進行綜合。
悉尼大學研究者研發了一種新型的區塊鏈系統,在100台機器中能夠實現每秒44萬筆交易的吞吐量,而Visa每秒的交易處理器是5.6萬筆。相比之下,比特幣每秒的交易限制在7筆,以太坊區塊鏈則為20筆。
JadeChain公鏈系統上線後,將徹底解決JADE生態應用中的網路擁堵問題。