以太坊系統架構圖
A. 區塊鏈fabric什麼
超級賬本之——Fabric目前超級賬本下面有5個並行的項目,Fabric屬於其中較為成熟的一個。這個項目由,來自28個不同組織的159名工程師參與開發。
在Fabric的區塊鏈網路中,有四類節點:MSP,OrderingNode,EndorsingPeer,CommttingPeer
MSP(MembershipServiceProvider),這類節點主管區塊鏈網路中其他的節點的授權,准入,踢除。通過給不同節點頒發證書的方式,授予不同類型的節點相應的許可權。
中文可以稱作排序節點。通常在一個網路中至少有一個或多個排序節點,這類節點負責按照指定的演算法,將交易進行排序,並返回給CommittingPeer。其並不關心具體的交易細節。
這類節點的主要負責接收交易請求,驗證這筆交易之後,並做一些預處理之後,並將簽名後的數據傳回給客戶端。
這類節點做是區塊鏈網路中的全節點,它們需要記錄完整的區塊信息,並且驗證每筆交易的正確性,是最終將交易打包進區塊鏈的節點。
結合下面這種圖,看看一筆交易的上鏈過程:
1,首先從客戶端發起一筆交易提交到EndorsingPeer,進行預處理。
2,預處理通過之後,將簽名數據,傳回給客戶端。
3,客戶端發起請求,將收到的簽名數據傳給OrderingNode。
4,OrderingNode對交易進行排序,然後傳給CommittingPeer。
5,CommittingPeer這里將排序好的交易進行驗證,並打包,通過指定的共識演算法達成一致,形成新的區塊。
6,最後將交易結果返回給客戶端。
6,中間過程的每一步,都伴隨著許可權的驗證。會根據MSP頒發的證書,進行判斷。
區塊鏈的定義是什麼?區塊鏈有兩個含義:
1、區塊鏈(Blockchain)是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。
2、區塊鏈是比特幣的底層技術,像一個資料庫賬本,記載所有的交易記錄。這項技術也因其安全、便捷的特性逐漸得到了銀行與金融業的關注。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
10000mm的fabric是什麼概念基本概念。10000mm的fabric是基本概念,fabric基本概念首先fabric是由IBM貢獻的超級賬本框架。它是一個利用現有成熟的技術來組合而成的一個區塊鏈技術的實現。它是一種允許可插拔實現各種功能的的模塊化架構。
區塊鏈是什麼意思?區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊。
在區塊鏈網路中,我們發出的數據請求,會根據密碼學原理被加密成為一串接受者完全看不懂的字元。這種加密方式的背後是哈希演算法在支持。
架構模型
一般說來,區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等基礎數據和基本演算法;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等。
共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎。
淺析FabricPeer節點HyperledgerFabric,也稱之為超級賬本,是由IBM發起,後成為Linux基金會Hyperledger中的區塊鏈項目之一。
Fabric是一個提供分布式賬本解決方案的平台,底層的賬本數據存儲使用了區塊鏈。區塊鏈平台通常可以分為公有鏈、聯盟鏈和私有鏈。公有鏈典型的代表是比特幣這些公開的區塊鏈網路,誰都可以加入到這個網路中。聯盟鏈則有準入機制,無法隨意加入到網路中,聯盟鏈的典型例子就是Fabric。
Fabric不需要發幣來激勵參與方,也不需要挖礦來防止有人作惡,所以Fabric有著更好的性能。在Fabric網路中,也有著諸多不同類型的節點來組成網路。其中Peer節點承載著賬本和智能合約,是整個區塊鏈網路的基礎。在這篇文章中,會詳細分析Peer的結構及其運行方式。
在本文中,假設讀者已經了解區塊鏈、智能合約等概念。
本文基於Fabric1.4LTS。
區塊鏈網路是一個分布式的網路,Fabric也是如此,由於Fabric是聯盟鏈,需要准入機制,所以在網路結構上會復雜很多,下面是一個簡化的Fabric網路:
各個元素的含義如下:
對於Fabric網路,外部的用戶需要通過客戶端應用,也就是圖中的A1、A2或者A3來訪問網路,客戶端應用需要通過CA證書表明自己的身份,這樣才能訪問到Fabric網路中有許可權訪問的部分。
在上面的網路中,共有四個組織,R1、R2、R3和R4。其中R4是整個Fabric網路的創建者,網路是根據NC4配置的。
在Fabric網路中,不同的組織可以組成聯盟,不同的聯盟之間數據通過Channel來隔離。Channel中的數據只有該聯盟中的組織才能訪問,每一個新的Channel都可以認為是一條新的鏈。與其他的區塊鏈網路中通常只有一條鏈不一樣,Fabric可以通過Channel在網路中快速的搭建出一個新的區塊鏈。
上面R1和R2組成了一個聯盟,在C1上交易。R2同時又和R3組成了另外一個聯盟,在C2上交易。R1和R2在C1上交易時,對R3是不可見的,R2和R3在C2上交易時,對R1是不可見的。Channel機制提供了很好的隱私保護能力。
Orderer節點是整個Fabric網路共有的,用來為所有的交易排序、打包。比如上面網路中O4節點。本文不會對Orderer節點進行詳細說明,可以把這個功能理解為比特幣網路中的挖礦過程。
Peer節點表示網路中的節點,通常一個Peer就表示一個組織,Peer是整個區塊鏈網路的基礎,是智能合約和賬本的載體,Peer也是本文討論的重點。
一個Peer節點可以承載多套賬本和智能合約,比如P2節點,既維護了C1的賬本和智能合約,也維護了C2的賬本和智能合約。
為了可以更深入了解Peer節點的作用,先了解一下Fabric整體的交易流程。整體的交易流程圖如下:
Peer節點按照功能來分可以分為背書節點和記賬節點。
客戶端會提交交易請求到背書節點,背書節點開始模擬執行交易,在模擬執行之後,背書節點並不會去更新賬本數據,而是把這個交易進行加密和簽名,然後返回給客戶端。
客戶端收到這個響應之後就會把響應提交到Orderer節點,Orderer節點會對這些交易進行排序,並打包成區塊,然後分發到記賬節點,記賬節點就會對交易進行驗證,驗證結束之後,就會把交易記錄到賬本裡面。
一筆交易是否能成功是根據背書策略來指定的,每一個智能合約都會指定一個背書策略。
Peer節點代表著聯盟鏈中的各個組織,區塊鏈網路也是由Peer節點來組成的,而且也是賬本和智能合約的載體。
通過對上面交易過程的了解可以知道,Peer節點是主要的參與方。如果用戶想要訪問賬本資源,都必須要和peer節點進行交互。在一個Peer節點中,可以同時維護多個賬本,這些賬本屬於不同的Channel。每個Peer節點都會維護一套冗餘賬本,這樣就避免了單點故障。
Peer節點根據在交易中的不同角色,可以分成背書節點(Endorser)和記賬節點(Committer),背書節點會對交易進行模擬執行,記賬節點才會真正將數據存儲到賬本中。
賬本可以分成兩個部分,一部分是區塊鏈,另一部分是CurrentState,也被稱之為WorldState。
區塊鏈上只能追加,不能對過去的數據進行修改,鏈上也包含兩部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的記錄。每一個區塊記錄前一個區塊的信息,然後連成鏈,如下圖所示:
第一個區塊被稱之為genesisblock,其中不存儲交易信息。每個區塊可以被分為區塊頭、區塊數據和區塊元數據。區塊頭中存儲著當前區塊的區塊號、當前區塊的hash值和上一個區塊的hash值,這樣才能把所有的區塊連接起來。區塊數據中包含了交易數據。區塊元數據中則包括了區塊寫入的時間、寫入人及簽名。
其中每一筆交易的結構如下,在Header中,包含了ChainCode的名稱、版本信息。Signature就是交易發起用戶的簽名。Proposal中主要是一些參數。Response中是智能合約執行的結果。Endorsements中是背書結果返回的結果。
WorldState中維護了賬本的當前狀態,數據以Key-Value的形式存儲,可以快速查詢和修改,每一次對WorldState的修改都會被記錄到區塊鏈中。WorldState中的數據需要依賴外部的存儲,通常使用LevelDB或者CouchDB。
區塊鏈和WorldState組成了一個完整的賬本,WorldState保證的業務數據的靈活變化,而區塊鏈則保證了所有的修改是可追溯和不可篡改的。
在交易完成之後,數據已經寫入賬本,就需要將這些數據同步到其他的Peer,Fabric中使用的是Gossip協議。Gossip也是Channel隔離的,只會在Channel中的Peer中廣播和同步賬本數據。
智能合約需要安裝到Peer節點上,智能合約是訪問賬本的唯一方式。智能合約可以通過Go、Java等變成語言進行編寫。
智能合約編寫完成之後,需要打包到ChainCode中,每個ChainCode中可以包含多個智能合約。ChainCode需要安裝,ChainCode需要安裝到Peer節點上。安裝好了之後,ChainCode需要在Channel上實例化,實例化的時候需要指定背書策略。
智能合約在實例化之後就可以用來與賬本進行交互了,流程圖如下:
用戶編寫並部署實例化智能合約之後,就可以通過客戶端應用程序來向智能合約提交請求,智能合約會對WorldState中數據進行get、put或者delete。其中get操作直接從WorldState中讀取交易對象當前的狀態信息,不會去區塊鏈上寫入信息,但put和delete操作除了修改WorldState,還會去區塊鏈中寫入一條交易信息,且交易信息不能修改。
區塊鏈上的信息可以通過智能合約訪問,也可以在客戶端應用通過API直接訪問。
Event是客戶端應用和Fabric網路交互的一種方式,客戶端應用可以訂閱Event,當Event發生時,客戶端應用就會接受到消息。
事件源可以兩類,一類是智能合約發出的Event,另一類是賬本變更觸發的Event。用戶可以從Event中獲取到交易的信息,比如區塊高度等信息。
在這篇文章中,首先介紹了Fabric整體的網路架構,通過對Fabric交易流程的分析,討論了peer節點在交易中的作用,然後詳細分析了peer節點所維護的賬本和智能合約,並分析了peer節點維護賬本以及peer節點執行智能合約的流程。
文/Rayjun
[1]
[2]
[3]
區塊鏈-什麼是區塊鏈?金點幣訊能讀懂區塊鏈?區塊鏈-什麼是區塊鏈?金點幣訊能讀懂區塊鏈?
區塊先鋒動畫視頻帶你了解什麼是區塊鏈,簡單易懂
什麼是區塊鏈,卯貝屬於區塊鏈?
答:卯貝不是屬於區塊鏈,只是運用了區塊鏈的技術,區塊鏈的特性就是每件發生的事物都會被記錄,不得刪除更改。
區塊鏈,什麼是區塊
區塊鏈全面解讀
一說起區塊鏈,人們總是拿它與比特幣相提並論。2008年10月31日,一名叫「中本聰」的人在一個密碼學郵件群組中發出電子郵件,宣稱,「我一直在研究一個新的電子現金系統,這完全是點對點的,無需任何可信的第三方。」他推出了一個以比特幣為交易貨幣的新體系。
什麼是區塊鏈技術?什麼叫區塊鏈?
區塊鏈是一種分布式共享記賬的技術,它要做的事情就是讓參與的各方能夠在技術層面建立信任關系。
區塊鏈可以大致分成兩個層面,一是做區塊鏈底層技術;二是做區塊鏈上層應用,即基於區塊鏈的改造、優化或者創新應用。
區塊鏈的核心意義到底是什麼,我們的理解是,區塊鏈最核心的意義是參與方之間建立數據信用,通過單方面的對抗,在明確規定下打造單方面的生態共同保障完整機會,這是一個體系,這種建立可以結束沒有區塊鏈之前的問題,沒有區塊鏈之前,在數據共享的時候是無法做到有新的共享,即使做定向也只是給你一個介面,區塊鏈有了以後,讓參與方是實現信用的共享。
區塊鏈的底層平台有哪些?
答:主要有一下幾類:
1、比特幣。是最早的區塊鏈開發便是基於比特幣的區塊鏈網路進行開發了,由於比特幣是全球最廣泛使用和真正意義的去中心化,就區塊鏈應用來說,比特幣就是世上最強大的錨,擁有最大的權威性。
2、以太坊。可以說除了比特幣外,以太坊目前在區塊鏈平台是最吸引眼球的。以太坊是一個圖靈完備的區塊鏈一站式開發平台,採用多種編程語言實現協議,採用Go語言寫的客戶端作為默認客戶端(即與以太坊網路交互的方法,支持其他多種語言的客戶端)。
3、IBMHyperLedger。又叫fabric,他的目標是打造成一個由全社會來共同維護的一個超級賬本,fabric源於IBM,初衷為了服務於工業生產,IBM將44,000行代碼開源,是了不起的貢獻,讓我們可以有機會如此近的去探究區別於比特幣的區塊鏈的原理。
4、LISK。是新一代的區塊鏈平台,允許JavaScript(又是Javascript技術,工程師們注意了)的開發和基於分布的分散的應用程序使用一個易於使用的,功能齊全的生態區塊鏈系統。
5、網錄區塊鏈平台。是網錄區塊鏈底層技術的研發成果和能夠進行商業交付的基礎平台,網錄區塊鏈平台除了服務網錄公鏈外,也是網錄為客戶打造私有鏈和聯盟鏈的基礎平台。
什麼是區塊鏈?什麼是數字貨幣的區塊鏈?
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算範式。
現在,主流的數字貨幣基本上都是基於區塊鏈技術開發的。區塊鏈是數字貨幣的底層技術。國內的茶本位數字貨幣普銀就是基於區塊鏈技術開發的。
什麼是區塊鏈
區塊鏈的本質是一種去中心化的記賬系統,比特幣是這個系統上承載的「以數字形式存在」的貨幣。區塊鏈是比特幣背後的一套由信用記錄和信用記錄的清算構成的體系。
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法[1]。
區塊鏈(Blockchain)是比特幣的一個重要概念,火幣網聯合清華大學五道口金融學院互聯網金融實驗室、新浪科技發布的《2014—2016全球比特幣發展研究報告》提到區塊鏈是比特幣的底層技術和基礎架構[2]。它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊
區塊鏈的進化方式是:
?區塊鏈1.0——數字貨幣
?區塊鏈2.0——數字資產與智能合約
?區塊鏈3.0——IFMChain,區塊鏈正式鏈接移動終端
B. Dapp和App有什麼區別
DApp 是 decentralized application 中文分布式 APP 的縮寫。
一個 DApp 有後台代碼運行在分布式點對點網路中。傳統的 APP 的後台代碼是運行在中心化的伺服器。
一個 DApp 的前端代碼可以由任何語言開發,和傳統的 APP 一樣。還有,DApp 的前端代碼可以託管在分布式存儲的服務中,例如:Swarm 或者 IPFS。
如果一個 應用 = 前端 + 後台,因為以太坊合約是由運行在以太坊分布式點對點網路中的代碼組成的,所以 分布式應用 = 前端 + 合約。
圖片演示一個 DApp 架構:
App我們都知道是客戶端應用,是application的簡稱。DApp就是D+App,D是英文單詞decentralization的首字母,單詞翻譯中文是去中心化,即DApp為去中心化應用。這是從字面上去理解這個概念,要在腦中形成清晰、准確、必要的概念,還需要深度去理解DApp。
對比APP,兩者最大不同就是中心化與去中心化。App先要有錢,所以先融資;然後再有人,所以招齊人後再開發運營。而DApp則是繼承傳統App並結合區塊鏈的特點所形成的產物,它更像是眾籌模式、共享模式和去中心化模式.
C. 一文讀懂以太坊—ETH2.0,是否值得長期持有
這幾天一直在看關於ETH倫敦升級方面的資料,簡單的聊一下,在加密貨幣的世界裡,無論是投資機構、區塊鏈應用開發者、礦機商,還是個人投資者、硬體供應商、 游戲 行業從業者等等,提起以太坊,或多或少都會有一些了解。
一方面取決於以太坊代幣 ETH 本身的造富效應。從 2014 年首次發行以來,投資回報率已經超過 7400 倍。
另一方面,以太坊作為應用最廣泛的去中心應用編程平台,引來無數開發者在其之上開發應用。這些應用不僅產生了巨大的商業價值,伴隨 DEFI 生態、NFT 生態、DAO 生態蓬勃發展,也給 ETH 帶來了更多使用者。
隨著「倫敦升級計劃」臨近,ETH 再次聚集所有人的關注目光。
以太坊 2.0 到底是什麼?包含哪些升級?目前進展如何?
以太坊 2.0 到來,會對現有以太坊生態的去中心化應用產生哪些影響?
ETH 是否值得持續投資?看完相信你會有自己的判斷。
如果將搭建應用比作造房子,那麼以太坊就提供了牆面、屋頂、地板等模塊,用戶只需像搭積木一樣把房子搭起來,因此在以太坊上建立應用的成本和速度都大大改善。以太坊的出現,迅速吸引了大量開發者進入以太坊的世界編寫出各類去中心應用,極大豐富人們對去中心應用場景的需求。
以太坊應用開發模型示意
以太坊與ETH
現有市場的加密貨幣,只是在區塊鏈技術應用在某一場景下的單一代幣。
以太坊也不例外,它的完整項目名稱是「下一代智能合約與去中心化應用平台」,Ether(以太幣)是其原生加密貨幣,簡稱 ETH。
ETH 除了可以用來與各種類型數字資產之間進行有效交換,還提供支付交易費用的機制,即我們現在做鏈上操作時所支付的 GAS 費用。GAS 費用機制的出現,即保護了以太坊網路上創建的應用不會被惡意程序隨意濫用,又因為 GAS 收入歸礦工所有,讓更多的用戶參與到以太坊網路的記賬當中成為礦工,進一步維護了以太坊網路安全與生態發展。
與 BTC 不同的是,ETH 並沒有採用 SHA256 挖礦演算法,避免了整個挖礦生態出現由 ASIC(專用集成電路)礦機主導以至於大部分算力被中心化機構控制所帶來的系統性風險。
以太坊最初採用的是 PoW(Proof of Work)的工作量證明機制,人們需要通過工作量證明以獲取手續費回報。我們經常聽說礦工使用顯卡挖礦,他們做的就是 POW 工作量證明。顯卡越多,算力越大,那麼工作量就越大,收入也就越高。
當前,整個以太坊網路的總算力大約為 870.26 TH/s,用我們熟悉的消費級顯卡來對比,英偉達 RTX 3080 的顯卡算力大約為 92-93 MH/s,以太坊網路相當於 936 萬張 3080 顯卡算力的總和。
以太坊白皮書內非常明確提到之後會將 PoW 工作證明的賬本機制升級為 POS (Proof of Stake)權益證明的賬本機制。
ETH經濟模型
與 BTC 總量 2100 萬枚不同,ETH 的總量並沒有做上限,而是在首次預售的 ETH 數量基礎上每年增發,增發數量為 0.26x(x 為發售總量)。
但也不用擔心 ETH 會無限通脹下去,長期來看,每年增發幣的數量與每年因死亡或者粗心原因遺失幣的數量大致相同,ETH 的「貨幣供應增長率」是趨近於零的。
ETH 分配模型包含早期購買者,早期貢獻值,長期捐贈與礦工收益,具體分配比例如下表。
現在每年將有 60,102,216 * 0.26 = 15,626,576 個 ETH 被礦工挖出,轉成 PoS 後,每年產出的 ETH 將減少。
目前,市場上流通的 ETH 總量約為 116,898,848 枚,總市值約為 2759 億美元。
以太坊發展歷程
1. 邊境階段(2015年):上線後不久進行了第一次分叉,調整未來挖礦的難度。此版本處於實驗階段,技術並未成熟,最初只能讓少部分開發者參與挖礦,智能合約也僅面向開發者開發應用使用,並沒有用戶參與,以太坊網路處於萌芽期。
邊境階段 ETH 價格:1.24 美元。
2. 家園階段(2016年):以太坊主網於 2016 年 3 月進行了第二次分叉,發布了第一個穩定版本。此版本是第一個成熟的正式版本,採用 100% PoW 證明,引入難度炸彈,隨著區塊鏈數量的增加,挖礦難度呈指數增長,網路的性能大幅提升,以太坊項目也進入到快速成長期。在」家園「版本里,還發生了著名的」The DAO 攻擊事件「,以太坊被社區投票硬分叉為以太坊(ETH)與以太經典(ETC)兩條鏈,V 神站在了 ETH 這邊。
家園階段 ETH 價格:12.50 美元。
3. 都會階段(2017~2019年):都會的開發又分為三個階段,升級分成了三次分叉,分別是 2017 年 10 月的「拜占庭」、2019 年 2 月底的「君士坦丁堡「、以及 2019 年 12 月的「伊斯坦布爾」。這些升級主要改善智能合約的編寫、提高安全性、加入難度炸彈以及一些核心架構的修改,以協助未來從工作量證明轉至權益證明。
在都會階段,以太坊網路正式顯現出其威力,正式進入成熟期。智能合約讓不同鏈上的加密貨幣可以互相交易,ERC-20 也在 2017 代幣發行的標准,成千上萬個項目在以太坊網路進行募資,被稱作「首次代幣發行(ICO)」,相信很多幣圈的老人都是被當時 ICO 造富效應帶進來的。到 2019 年,隨著DeFi 生態的崛起,金融產品正式成為以太鏈上最大的產業。
都會階段 ETH 價格:151.06 美元。
4. 寧靜階段(2020-2023年):與都會分三階段開發相同,寧靜階段目前預計分成三次分叉:柏林(已完成)、倫敦(即將到來)、以及後面的第三次分叉。「寧靜」階段又稱為「以太坊 2.0」,是項目的最終階段,以太坊將從工作量證明方式正式轉向權益證明,並開發第二層擴容方案,提高整個網路的運行效率。
寧靜階段可以說是以太坊網路的集大成之作,如果說前個三階段只是讓以太坊的願景展現的實驗平台,寧靜階段之後的以太坊,將正式成為完全體,不僅有完備的生態應用,超級快的處理速度,眾多網路協同發展,而且 PoS 機制會非常節約能源,真正代表了區塊鏈技術逐漸走向成熟的標志。
寧靜階段 ETH 價格:2021 年 4 月 15 日完成的柏林階段,當天價格為 2454 美元。
即將到來的倫敦協議升級
以太坊生態
以太坊的生態發展,從屬性劃可分為兩大類:一是以太坊網路生態應用建設,二是以太坊網路擴容建設。兩者相互融合,互相成就,應用需要更健壯強大的網路作為承載,網路需要功能完善的應用場景服務用戶。
先說應用生態,以太坊的生態我們又可以分為以下幾大類:
1. 去中心化自製組織(DAO)生態
什麼是去中心化自製組織?還是以我們熟悉的比特幣舉例:比特幣目前市值七千多億美金,在全球資產市值類排名第九,但比特幣並不是某一公司發布的產品,也沒有特定公司組織招聘人員進行維護。比特幣現有的一切,都源於比特幣持有者、比特幣礦工自發形成的分布式組織,他們通過投票方式規劃比特幣發展路線,自發參與維護比特幣程序與網路 —這僅僅因為只要擁有比特幣,所有人都是比特幣網路建設中的受益者,一切維護都源於自身的利益關系。
比特幣的發明與成功運行,突破了由荷蘭人創建、至今流行 400 多年的公司商業架構,開創出一種全新的、無組織架構的、全球分布式的商業模式,這就是 DAO。
再說回以太坊,以太坊的 DAO 可以由智能合約編寫,用戶自定義應用場景。簡單說就是我們規定出程序執行條件與執行范圍,真實世界裡只要觸發設定好的條件,程序就會自動執行運行,且所有過程都會在以太坊的網路上進行去中心化公開驗證,不需要經過人工或者任何第三方組織機構確認。
以太坊 DAO 生態演化出許多商業場景,有慈善機構使用 DAO 建立公開透明的捐款與使用機制,有風投機構使用 DAO 建立公平分配的風險基金。
以太坊生態的很多項目都採用 DAO 自治,代表項目有:Uniswap,AAVE,MakerDAO,Compound,Decred,Dash 等。
2. 去中心化金融(DEFI)生態
在傳統商業世界裡,我們如果需要借錢、存錢,或者買某一公司股票,或者做企業貸款、融資,只要是進行金融活動,總離不開與銀行、證券機構、會計事務所這些金融機構打交道。
而在去中心的世界裡,區塊鏈本質就是集合所有人交易記錄且公開的大賬本,我們可以非常容易的追溯到每一個錢包地址發生過的每一筆交易,查詢到任意一個錢包地址的余額信息,從而對錢包地址里的資產做評估。
舉個例子:全世界個人貸款最貴的國家是印度,印度的年輕人房貸利率目前是 8.8%,最高曾經到過 20%;與此對應,全世界個人存款利率最低的國家是日本,日本政府為了鼓勵民眾消費,在很長一段時間里銀行存款利率是負值,日本人在銀行存款不僅沒有利息,還要給銀行交保管費。理論上,如果日本人將自己的存款借與印度人,雙方都能獲得利益最大化,但現實生活中這樣的場景很難發生。一是每個國家都有外匯管制,日本人的錢並不容易能給到印度人,二是印度人的信用如何日本人也不好評估,大家沒有統一標准,萬一借出去的錢無法歸還,不能沒了收益還要蒙受損失。
但在去中心的世界裡,這樣的事情就簡單的多。
如果印度人的錢包地址里有比特幣,我們就可以利用智能合約,印度人將自己的比特幣質押進去,根據比特幣當時的價格,系統自動給印度人一個授信額度,印度人就可以拿著這個額度去和日本人借款,並規定好還款的周期與利率。如果印度人違約,合約自動將印度人質押進去的比特幣扣除,優先保障日本的權利,這樣,日本人不用擔心安全問題放心享受收益,印度人也有了更多的款項做為流動資金。
這個例子就是去中心金融的簡單應用,實際上,這就是我們參與 DEFI 挖礦是質押理財的原理 —— 當然真正應用實現演算法與場景要復雜的多。
DEFI 根據場景不同,又可以分為很多賽道,比如穩定幣、預言機、AMM 交易所、衍生品、聚合器等等。
DEFI 代表項目有:Dai,Augur,Chainlink,WBTC,0x,Balance,Liquity 等。
3. 非同質化代幣(NFT)生態
世界名畫《蒙娜麗莎》,只有達·芬奇的原版可以展覽在法國盧浮宮博物館,哪怕現代的技術可以無比精細地復刻出來,仿品都不具備原版的收藏價值。
這就是 NFT 的應用場景。NFT是我們可以用來表示獨特物品所有權的代幣,它們讓我們將藝術品、收藏品甚至房地產等現實事物唯一代幣化。雖然文件(作品)本身是可以無限復制,但代表它們的代幣在鏈上可以被追蹤,並為買家提供所有權證明。
相比現實中實物版權、物權的雙重交割相比,NFT 只需要交割描述此物品的唯一代幣。NFT 作品往往存儲在如 IPFS 這樣的分布式存儲網路里,隨用隨取,永不丟失,加之交割簡單方便,很快吸引了大量玩家與投資者收藏轉賣,NFT 出現也給藝術家提供了全新的收入模式。
類似 DEFI 生態,NFT 生態根據應用場景不同也產生了不同賽道,目前比較火熱的賽道有 NFT 交易平台,NFT 游戲 平台,NFT 藝術品平台, NFT 與 DEFI 結合在一起的金融平台。
NFT 代表項目有:CryptoKitties,CryptoPunks,Meebits,Opensea,Rally,Axie Infinity,Enjin Coin,The Sandbox 等。
4. 標准代幣協議(ERC-20)生態
與 NFT 非同質化代幣所對應的,就是同質化代幣。比如我們使用的人民幣就是一種同質化代幣,我們可以用人民幣進行價值交換,即使序號不同也不影響其價值,如果面額相同,不同的鈔票序號對持有者來說沒有區別。
BTC,ETH 和所有我們熟知的加密貨幣,都屬於同質化代幣。同種類的一個比特幣和另一個比特幣沒有任何區別,規格相同,具有統一性。在交易中,只需關注代幣交接的數量即可,其價值可能會根據交換的時間間隔而改變,但其本質並沒有發生變化。
以太坊的 ERC-20 就是定義這種代幣的標准協議,任何人都可以使用 ERC-20 協議,通過幾行代碼,發布自己在以太坊網路上的加密貨幣。
現在,以太坊網路上運行的代幣種類有上百萬個,上邊提到的項目,大多也在以太坊網路中發布了自己的同質化代幣。
ERC-20 代表項目有:USDT,USDC,WBTC 等。
以太坊網路擴容性
我們先引入一個概念:區塊鏈的不可能三角,即無論何種方法,我們都無法同時達到可擴展、去中心化、安全,三者只能得其二。
這其實很好理解,如果我們要去中心化和安全,就需要更多有節點參與網路進行驗證,從而導致驗證人增多、網路效率降低,擴展性下降。網路性能建設就是在三者之間找到平衡點。
用數據舉例,目前比特幣可處理轉賬 7 筆 / 秒,以太坊是 25 筆 / 秒,而 VISA 平均為 4500 筆 / 秒,峰值則達每秒上萬筆。這種業務處理能力的差別,我們就可以簡單理解為是「吞吐量」的差距。而想要提高吞吐量,則需要擴展區塊鏈的業務處理能力,這就是所謂的擴展性。
根據優化方法不同,以太坊網路性能擴容方案可以分為:
1. Layer 1 鏈上擴展,所有交易都保留在以太坊上的擴展解決方案,具有更高的安全性。
鏈上擴展的本質還是改進以太坊主鏈本身,使整個系統擁有更高的拓展性與運行效率。一般的方法有兩種,要麼改變共識協議,比如 ETH 將從 PoW 轉變為 PoS;要麼使用分片技術,優化方法使網路具有更高效率。
2. Layer 2 鏈下擴展,在以太坊協議之上分層單獨做各場景解決方案,具有更好的擴展性。
鏈下擴展可以理解為把計算、交易等業務處理場景拿到以太坊主鏈之外計算,最後將計算好的結果傳回主鏈,主鏈只反映最終的結果而不用管過程,這樣,無論多麼復雜的應用都不會對主鏈產生影響。
我們並不需要明白具體技術實現,只需知道:相比 Layer 1 方案,Layer 2 方案網路不會干擾底層區塊鏈協議,可以替 Layer 1 承擔大部分計算工作,從而降低主網路的負擔提高網路業務處理效率,是目前公認比較好的擴容方案。
以太坊2.0
終於講到以太坊 2.0,回到主題。
通過回顧以太坊的發展 歷史 ,以太坊 2.0 並不是新項目,它只是以太坊開發進程的最後一個階段,它將由整個以太坊生態多個團隊協同完成,目標是使以太坊更具可擴展性、更安全和更可持續,最終成為主流並為全人類服務。
ETH2建設目標:
1. 更具可擴展性。每秒支持 1000 次交易,以使應用程序使用起來更快、更便宜。
2. 更安全。以太坊變得更加安全,以抵禦所有形式的攻擊。
3. 更可持續。提高網路性能的同時減少對能源的消耗,更好地保護環境。
最重要的變化,ETH2 將從 ETH1 使用的 PoW(Proof of Work)工作量證明機制升級為 POS (Proof of Stake)權益證明機制。不再以算力做為驗證方式,而是通過質押加密貨幣的數量做為驗證手段。礦工不需要顯卡也能挖礦,既節省了時間成本與電力成本,又提高了 ETH 的利用率,非常類似錢存在銀行獲得利息。
ETH2 主要使用的技術是分片分層技術實現整個網路擴容。
ETH2 升級將分為三個階段進行:
1. 階段0(正在進行):信標鏈的創建與合並。信標鏈是 ETH2 的主鏈,如同人類的大腦,是 ETH2 得以運行的基礎。
2. 階段1(預計2022年):分片鏈的創建與應用。當信標鏈與 ETH1 合並完成後,就進入分片鏈的開發階段。分片鏈可以理解為將 ETH2 主鏈的整塊數據按一定規則拆分存放,單獨建立新鏈處理,用來分擔主鏈上的數據壓力,目前規劃是建立 64 條分片鏈。
舉個例子,從北京到上海,原來的交通工具只有一條公路,所有的車輛都需要在上邊運行,就會非常擁擠;現在通過分片技術,多出來高鐵、飛機等交通方式,分流的車輛同時到達速度更快,這就是分片鏈起到的作用。
分片鏈與主鏈交互示意圖
3. 階段2(預計2023年):整個網路功能的融合。到了此階段,整個系統的功能全面開始融合,分片鏈的功能會更加強大,新的處理機制開始支持賬戶、智能合約、開發工具的創建,新的生態應用等。
此階段是以太坊網路的最終形態,網路性能得到全面提升,生態應用全面爆發。但要服務全人類,ETH2 每秒 1000 次的交易效率顯然還是遠遠不夠,以太坊也會為它的目標持續優化下去。
ETH2對於大家有什麼影響?
1. 對於以太坊生態開發者。ETH2 在部署應用的時候,是需要選擇應用在哪條分片網路進行部署,造成這種差異的原因是跨分片通信不同步,這就意味著開發者需要根據自己發展計劃做不同的組合。
2. 對與 ETH 持幣者。ETH2 與 ETH1 數據完全同步,代幣也不會有任何變化,你可以繼續使用現在的錢包地址繼續持有 ETH。
3. 對於礦工。雖然 PoW 與 PoS 還會並行一段時間,可以預計的 PoW 礦機的產出會越來越少,應該開始減少 PoW 礦機的投資,開始轉向 PoS 機制。
4. 對於用戶。ETH2 速度更快,交易手續費更低,網路體驗會非常好,唯一值得注意的是,由於 Dapp 部署在不同的分片網路上,可能需要手動選擇應用的網路選項。
ETH是否值得投資?
ETH 是除了 BTC 以外市場的風向標,明確了解 ETH2 非常有助於我們理解其他區塊鏈項目,理解二級市場。
簡單總結幾個點吧:
1. 通過以太坊的項目分析,我們可以清晰地看到:在比特幣之後,以太坊項目的發展史就是目前區塊鏈應用生態的發展史。無論 DEFI 生態,NFT 生態,DAO 生態還是代幣、合約、協議生態,其實在以太坊發布白皮書時已有預見,後來出現的項目,都是圍繞以太坊做驗證。
2. 以太坊的聯合創始人里,只有 V 神還在為以太坊事業做貢獻,但這並不影響以以太坊繁榮發展。以太坊初始團隊只是創建了它,後續的發展是社區、開發者、礦工與用戶共同建立的結果,現在的以太坊早已不是某一個人的思維,它是所有以太坊生態參與者共同的結晶,它屬於全人類。
3. 以太坊在過去的幾年一直沿著既定的開發軌跡發展,雖然中途一度出現過危機,以太坊「被死亡」了好幾百次,以太坊還是頑強的發展下來,並且擁有了繁榮生態。ETH2 還要兩三年時間才能落地,中間也充滿變數,比如其他的公鏈搶佔先機,但可以預見,ETH2 後的以太坊會更加健壯。
4. 不要在抱有任何 BTC 會死亡,區塊鏈行業會消失這樣的偽命題。BTC、ETH 讓我們看到了突破原有公司組織架構,一種全新無組織架構的商業模式存在,這種商業模式顯然更符合這個時代的發展需求,無論項目地發起團隊在不在,無論各國政府如何打壓,只要技術對人類有貢獻,就會由人員自發組織維護,區塊鏈技術是革命。
5. ETH2 的上線,短期看 PoW 獎勵與 PoS 獎勵並行,可能會讓 ETH 總通脹率短期內飆升,長期看 ETH 通脹率始終保持平衡。加上 ETH 本身的生態與應用場景,ETH是值得投資的,目前看不到有其他公鏈代替以太坊公鏈的可能性,ETH2 的上線,甚至會對其他公鏈造成「虹吸效應」,萬鏈歸一。
#比特幣[超話]# #數字貨幣#
D. 如何找到區塊鏈的密碼,區塊鏈的密鑰是什麼
【深度知識】區塊鏈之加密原理圖示(加密,簽名)先放一張以太坊的架構圖:
在學習的過程中主要是採用單個模塊了學習了解的,包括P2P,密碼學,網路,協議等。直接開始總結:
秘鑰分配問題也就是秘鑰的傳輸問題,如果對稱秘鑰,那麼只能在線下進行秘鑰的交換。如果在線上傳輸秘鑰,那就有可能被攔截。所以採用非對稱加密,兩把鑰匙,一把私鑰自留,一把公鑰公開。公鑰可以在網上傳輸。不用線下交易。保證數據的安全性。
如上圖,A節點發送數據到B節點,此時採用公鑰加密。A節點從自己的公鑰中獲取到B節點的公鑰對明文數據加密,得到密文發送給B節點。而B節點採用自己的私鑰解密。
2、無法解決消息篡改。
如上圖,A節點採用B的公鑰進行加密,然後將密文傳輸給B節點。B節點拿A節點的公鑰將密文解密。
1、由於A的公鑰是公開的,一旦網上黑客攔截消息,密文形同虛設。說白了,這種加密方式,只要攔截消息,就都能解開。
2、同樣存在無法確定消息來源的問題,和消息篡改的問題。
如上圖,A節點在發送數據前,先用B的公鑰加密,得到密文1,再用A的私鑰對密文1加密得到密文2。而B節點得到密文後,先用A的公鑰解密,得到密文1,之後用B的私鑰解密得到明文。
1、當網路上攔截到數據密文2時,由於A的公鑰是公開的,故可以用A的公鑰對密文2解密,就得到了密文1。所以這樣看起來是雙重加密,其實最後一層的私鑰簽名是無效的。一般來講,我們都希望簽名是簽在最原始的數據上。如果簽名放在後面,由於公鑰是公開的,簽名就缺乏安全性。
2、存在性能問題,非對稱加密本身效率就很低下,還進行了兩次加密過程。
如上圖,A節點先用A的私鑰加密,之後用B的公鑰加密。B節點收到消息後,先採用B的私鑰解密,然後再利用A的公鑰解密。
1、當密文數據2被黑客攔截後,由於密文2隻能採用B的私鑰解密,而B的私鑰只有B節點有,其他人無法機密。故安全性最高。
2、當B節點解密得到密文1後,只能採用A的公鑰來解密。而只有經過A的私鑰加密的數據才能用A的公鑰解密成功,A的私鑰只有A節點有,所以可以確定數據是由A節點傳輸過來的。
經兩次非對稱加密,性能問題比較嚴重。
基於以上篡改數據的問題,我們引入了消息認證。經過消息認證後的加密流程如下:
當A節點發送消息前,先對明文數據做一次散列計算。得到一個摘要,之後將照耀與原始數據同時發送給B節點。當B節點接收到消息後,對消息解密。解析出其中的散列摘要和原始數據,然後再對原始數據進行一次同樣的散列計算得到摘要1,比較摘要與摘要1。如果相同則未被篡改,如果不同則表示已經被篡改。
在傳輸過程中,密文2隻要被篡改,最後導致的hash與hash1就會產生不同。
無法解決簽名問題,也就是雙方相互攻擊。A對於自己發送的消息始終不承認。比如A對B發送了一條錯誤消息,導致B有損失。但A抵賴不是自己發送的。
在(三)的過程中,沒有辦法解決交互雙方相互攻擊。什麼意思呢?有可能是因為A發送的消息,對A節點不利,後來A就抵賴這消息不是它發送的。
為了解決這個問題,故引入了簽名。這里我們將(二)-4中的加密方式,與消息簽名合並設計在一起。
在上圖中,我們利用A節點的私鑰對其發送的摘要信息進行簽名,然後將簽名+原文,再利用B的公鑰進行加密。而B得到密文後,先用B的私鑰解密,然後對摘要再用A的公鑰解密,只有比較兩次摘要的內容是否相同。這既避免了防篡改問題,有規避了雙方攻擊問題。因為A對信息進行了簽名,故是無法抵賴的。
為了解決非對稱加密數據時的性能問題,故往往採用混合加密。這里就需要引入對稱加密,如下圖:
在對數據加密時,我們採用了雙方共享的對稱秘鑰來加密。而對稱秘鑰盡量不要在網路上傳輸,以免丟失。這里的共享對稱秘鑰是根據自己的私鑰和對方的公鑰計算出的,然後適用對稱秘鑰對數據加密。而對方接收到數據時,也計算出對稱秘鑰然後對密文解密。
以上這種對稱秘鑰是不安全的,因為A的私鑰和B的公鑰一般短期內固定,所以共享對稱秘鑰也是固定不變的。為了增強安全性,最好的方式是每次交互都生成一個臨時的共享對稱秘鑰。那麼如何才能在每次交互過程中生成一個隨機的對稱秘鑰,且不需要傳輸呢?
那麼如何生成隨機的共享秘鑰進行加密呢?
對於發送方A節點,在每次發送時,都生成一個臨時非對稱秘鑰對,然後根據B節點的公鑰和臨時的非對稱私鑰可以計算出一個對稱秘鑰(KA演算法-KeyAgreement)。然後利用該對稱秘鑰對數據進行加密,針對共享秘鑰這里的流程如下:
對於B節點,當接收到傳輸過來的數據時,解析出其中A節點的隨機公鑰,之後利用A節點的隨機公鑰與B節點自身的私鑰計算出對稱秘鑰(KA演算法)。之後利用對稱秘鑰機密數據。
對於以上加密方式,其實仍然存在很多問題,比如如何避免重放攻擊(在消息中加入Nonce),再比如彩虹表(參考KDF機制解決)之類的問題。由於時間及能力有限,故暫時忽略。
那麼究竟應該採用何種加密呢?
主要還是基於要傳輸的數據的安全等級來考量。不重要的數據其實做好認證和簽名就可以,但是很重要的數據就需要採用安全等級比較高的加密方案了。
密碼套件是一個網路協議的概念。其中主要包括身份認證、加密、消息認證(MAC)、秘鑰交換的演算法組成。
在整個網路的傳輸過程中,根據密碼套件主要分如下幾大類演算法:
秘鑰交換演算法:比如ECDHE、RSA。主要用於客戶端和服務端握手時如何進行身份驗證。
消息認證演算法:比如SHA1、SHA2、SHA3。主要用於消息摘要。
批量加密演算法:比如AES,主要用於加密信息流。
偽隨機數演算法:例如TLS1.2的偽隨機函數使用MAC演算法的散列函數來創建一個主密鑰——連接雙方共享的一個48位元組的私鑰。主密鑰在創建會話密鑰(例如創建MAC)時作為一個熵來源。
在網路中,一次消息的傳輸一般需要在如下4個階段分別進行加密,才能保證消息安全、可靠的傳輸。
握手/網路協商階段:
在雙方進行握手階段,需要進行鏈接的協商。主要的加密演算法包括RSA、DH、ECDH等
身份認證階段:
身份認證階段,需要確定發送的消息的來源來源。主要採用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA簽名)等。
消息加密階段:
消息加密指對發送的信息流進行加密。主要採用的加密方式包括DES、RC4、AES等。
消息身份認證階段/防篡改階段:
主要是保證消息在傳輸過程中確保沒有被篡改過。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC:EllipticCurvesCryptography,橢圓曲線密碼編碼學。是一種根據橢圓上點倍積生成公鑰、私鑰的演算法。用於生成公私秘鑰。
ECDSA:用於數字簽名,是一種數字簽名演算法。一種有效的數字簽名使接收者有理由相信消息是由已知的發送者創建的,從而發送者不能否認已經發送了消息(身份驗證和不可否認),並且消息在運輸過程中沒有改變。ECDSA簽名演算法是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中採取的演算法為ECC,最後簽名出來的值也是分為r,s。主要用於身份認證階段。
ECDH:也是基於ECC演算法的霍夫曼樹秘鑰,通過ECDH,雙方可以在不共享任何秘密的前提下協商出一個共享秘密,並且是這種共享秘鑰是為當前的通信暫時性的隨機生成的,通信一旦中斷秘鑰就消失。主要用於握手磋商階段。
ECIES:是一種集成加密方案,也可稱為一種混合加密方案,它提供了對所選擇的明文和選擇的密碼文本攻擊的語義安全性。ECIES可以使用不同類型的函數:秘鑰協商函數(KA),秘鑰推導函數(KDF),對稱加密方案(ENC),哈希函數(HASH),H-MAC函數(MAC)。
ECC是橢圓加密演算法,主要講述了按照公私鑰怎麼在橢圓上產生,並且不可逆。ECDSA則主要是採用ECC演算法怎麼來做簽名,ECDH則是採用ECC演算法怎麼生成對稱秘鑰。以上三者都是對ECC加密演算法的應用。而現實場景中,我們往往會採用混合加密(對稱加密,非對稱加密結合使用,簽名技術等一起使用)。ECIES就是底層利用ECC演算法提供的一套集成(混合)加密方案。其中包括了非對稱加密,對稱加密和簽名的功能。
metacharset="utf-8"
這個先訂條件是為了保證曲線不包含奇點。
所以,隨著曲線參數a和b的不斷變化,曲線也呈現出了不同的形狀。比如:
所有的非對稱加密的基本原理基本都是基於一個公式K=kG。其中K代表公鑰,k代表私鑰,G代表某一個選取的基點。非對稱加密的演算法就是要保證該公式不可進行逆運算(也就是說G/K是無法計算的)。*
ECC是如何計算出公私鑰呢?這里我按照我自己的理解來描述。
我理解,ECC的核心思想就是:選擇曲線上的一個基點G,之後隨機在ECC曲線上取一個點k(作為私鑰),然後根據kG計算出我們的公鑰K。並且保證公鑰K也要在曲線上。*
那麼kG怎麼計算呢?如何計算kG才能保證最後的結果不可逆呢?這就是ECC演算法要解決的。
首先,我們先隨便選擇一條ECC曲線,a=-3,b=7得到如下曲線:
在這個曲線上,我隨機選取兩個點,這兩個點的乘法怎麼算呢?我們可以簡化下問題,乘法是都可以用加法表示的,比如22=2+2,35=5+5+5。那麼我們只要能在曲線上計算出加法,理論上就能算乘法。所以,只要能在這個曲線上進行加法計算,理論上就可以來計算乘法,理論上也就可以計算k*G這種表達式的值。
曲線上兩點的加法又怎麼算呢?這里ECC為了保證不可逆性,在曲線上自定義了加法體系。
現實中,1+1=2,2+2=4,但在ECC演算法里,我們理解的這種加法體系是不可能。故需要自定義一套適用於該曲線的加法體系。
ECC定義,在圖形中隨機找一條直線,與ECC曲線相交於三個點(也有可能是兩個點),這三點分別是P、Q、R。
那麼P+Q+R=0。其中0不是坐標軸上的0點,而是ECC中的無窮遠點。也就是說定義了無窮遠點為0點。
同樣,我們就能得出P+Q=-R。由於R與-R是關於X軸對稱的,所以我們就能在曲線上找到其坐標。
P+R+Q=0,故P+R=-Q,如上圖。
以上就描述了ECC曲線的世界裡是如何進行加法運算的。
從上圖可看出,直線與曲線只有兩個交點,也就是說直線是曲線的切線。此時P,R重合了。
也就是P=R,根據上述ECC的加法體系,P+R+Q=0,就可以得出P+R+Q=2P+Q=2R+Q=0
於是乎得到2P=-Q(是不是與我們非對稱演算法的公式K=kG越來越近了)。
於是我們得出一個結論,可以算乘法,不過只有在切點的時候才能算乘法,而且只能算2的乘法。
假若2可以變成任意個數進行想乘,那麼就能代表在ECC曲線里可以進行乘法運算,那麼ECC演算法就能滿足非對稱加密演算法的要求了。
那麼我們是不是可以隨機任何一個數的乘法都可以算呢?答案是肯定的。也就是點倍積計算方式。
選一個隨機數k,那麼k*P等於多少呢?
我們知道在計算機的世界裡,所有的都是二進制的,ECC既然能算2的乘法,那麼我們可以將隨機數k描述成二進制然後計算。假若k=151=10010111
由於2P=-Q所以這樣就計算出了kP。這就是點倍積演算法。所以在ECC的曲線體系下是可以來計算乘法,那麼以為這非對稱加密的方式是可行的。
至於為什麼這樣計算是不可逆的。這需要大量的推演,我也不了解。但是我覺得可以這樣理解:
我們的手錶上,一般都有時間刻度。現在如果把1990年01月01日0點0分0秒作為起始點,如果告訴你至起始點為止時間流逝了整1年,那麼我們是可以計算出現在的時間的,也就是能在手錶上將時分秒指針應該指向00:00:00。但是反過來,我說現在手錶上的時分秒指針指向了00:00:00,你能告訴我至起始點算過了有幾年了么?
ECDSA簽名演算法和其他DSA、RSA基本相似,都是採用私鑰簽名,公鑰驗證。只不過演算法體系採用的是ECC的演算法。交互的雙方要採用同一套參數體系。簽名原理如下:
在曲線上選取一個無窮遠點為基點G=(x,y)。隨機在曲線上取一點k作為私鑰,K=k*G計算出公鑰。
簽名過程:
生成隨機數R,計算出RG.
根據隨機數R,消息M的HASH值H,以及私鑰k,計算出簽名S=(H+kx)/R.
將消息M,RG,S發送給接收方。
簽名驗證過程:
接收到消息M,RG,S
根據消息計算出HASH值H
根據發送方的公鑰K,計算HG/S+xK/S,將計算的結果與RG比較。如果相等則驗證成功。
公式推論:
HG/S+xK/S=HG/S+x(kG)/S=(H+xk)/GS=RG
在介紹原理前,說明一下ECC是滿足結合律和交換律的,也就是說A+B+C=A+C+B=(A+C)+B。
這里舉一個WIKI上的例子說明如何生成共享秘鑰,也可以參考AliceAndBob的例子。
Alice與Bob要進行通信,雙方前提都是基於同一參數體系的ECC生成的公鑰和私鑰。所以有ECC有共同的基點G。
生成秘鑰階段:
Alice採用公鑰演算法KA=ka*G,生成了公鑰KA和私鑰ka,並公開公鑰KA。
Bob採用公鑰演算法KB=kb*G,生成了公鑰KB和私鑰kb,並公開公鑰KB。
計算ECDH階段:
Alice利用計算公式Q=ka*KB計算出一個秘鑰Q。
Bob利用計算公式Q'=kb*KA計算出一個秘鑰Q'。
共享秘鑰驗證:
Q=kaKB=ka*kb*G=ka*G*kb=KA*kb=kb*KA=Q'
故雙方分別計算出的共享秘鑰不需要進行公開就可採用Q進行加密。我們將Q稱為共享秘鑰。
在以太坊中,採用的ECIEC的加密套件中的其他內容:
1、其中HASH演算法採用的是最安全的SHA3演算法Keccak。
2、簽名演算法採用的是ECDSA
3、認證方式採用的是H-MAC
4、ECC的參數體系採用了secp256k1,其他參數體系參考這里
H-MAC全程叫做Hash-.其模型如下:
在以太坊的UDP通信時(RPC通信加密方式不同),則採用了以上的實現方式,並擴展化了。
首先,以太坊的UDP通信的結構如下:
其中,sig是經過私鑰加密的簽名信息。mac是可以理解為整個消息的摘要,ptype是消息的事件類型,data則是經過RLP編碼後的傳輸數據。
其UDP的整個的加密,認證,簽名模型如下:
區塊鏈密碼演算法是怎樣的?
區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的Hash演算法、零知識證明、環簽名等密碼演算法:
Hash演算法
哈希演算法作為區塊鏈基礎技術,Hash函數的本質是將任意長度(有限)的一組數據映射到一組已定義長度的數據流中。若此函數同時滿足:
(1)對任意輸入的一組數據Hash值的計算都特別簡單;
(2)想要找到2個不同的擁有相同Hash值的數據是計算困難的。
滿足上述兩條性質的Hash函數也被稱為加密Hash函數,不引起矛盾的情況下,Hash函數通常指的是加密Hash函數。對於Hash函數,找到使得被稱為一次碰撞。當前流行的Hash函數有MD5,SHA1,SHA2,SHA3。
比特幣使用的是SHA256,大多區塊鏈系統使用的都是SHA256演算法。所以這里先介紹一下SHA256。
1、SHA256演算法步驟
STEP1:附加填充比特。對報文進行填充使報文長度與448模512同餘(長度=448mod512),填充的比特數范圍是1到512,填充比特串的最高位為1,其餘位為0。
STEP2:附加長度值。將用64-bit表示的初始報文(填充前)的位長度附加在步驟1的結果後(低位位元組優先)。
STEP3:初始化緩存。使用一個256-bit的緩存來存放該散列函數的中間及最終結果。
STEP4:處理512-bit(16個字)報文分組序列。該演算法使用了六種基本邏輯函數,由64步迭代運算組成。每步都以256-bit緩存值為輸入,然後更新緩存內容。每步使用一個32-bit常數值Kt和一個32-bitWt。其中Wt是分組之後的報文,t=1,2,...,16。
STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。
作為加密及簽名體系的核心演算法,哈希函數的安全性事關整個區塊鏈體系的底層安全性。所以關注哈希函數的研究現狀是很有必要的。
2、Hash函的研究現狀
2004年我國密碼學家王小雲在國際密碼討論年會(CRYPTO)上展示了MD5演算法的碰撞並給出了第一個實例(CollisionsforhashfunctionsMD4,MD5,HAVAL-128andRIPEMD,rumpsessionofCRYPTO2004,,EuroCrypt2005)。該攻擊復雜度很低,在普通計算機上只需要幾秒鍾的時間。2005年王小雲教授與其同事又提出了對SHA-1演算法的碰撞演算法,不過計算復雜度為2的63次方,在實際情況下難以實現。
2017年2月23日谷歌安全博客上發布了世界上第一例公開的SHA-1哈希碰撞實例,在經過兩年的聯合研究和花費了巨大的計算機時間之後,研究人員在他們的研究網站SHAttered上給出了兩個內容不同,但是具有相同SHA-1消息摘要的PDF文件,這就意味著在理論研究長期以來警示SHA-1演算法存在風險之後,SHA-1演算法的實際攻擊案例也浮出水面,同時也標志著SHA-1演算法終於走向了生命的末期。
NIST於2007年正式宣布在全球范圍內徵集新的下一代密碼Hash演算法,舉行SHA-3競賽。新的Hash演算法將被稱為SHA-3,並且作為新的安全Hash標准,增強現有的FIPS180-2標准。演算法提交已於2008年10月結束,NIST分別於2009年和2010年舉行2輪會議,通過2輪的篩選選出進入最終輪的演算法,最後將在2012年公布獲勝演算法。公開競賽的整個進程仿照高級加密標准AES的徵集過程。2012年10月2日,Keccak被選為NIST競賽的勝利者,成為SHA-3。
Keccak演算法是SHA-3的候選人在2008年10月提交。Keccak採用了創新的的「海綿引擎」散列消息文本。它設計簡單,方便硬體實現。Keccak已可以抵禦最小的復雜度為2n的攻擊,其中N為散列的大小。它具有廣泛的安全邊際。目前為止,第三方密碼分析已經顯示出Keccak沒有嚴重的弱點。
KangarooTwelve演算法是最近提出的Keccak變種,其計算輪次已經減少到了12,但與原演算法比起來,其功能沒有調整。
零知識證明
在密碼學中零知識證明(zero-knowledgeproof,ZKP)是一種一方用於向另一方證明自己知曉某個消息x,而不透露其他任何和x有關的內容的策略,其中前者稱為證明者(Prover),後者稱為驗證者(Verifier)。設想一種場景,在一個系統中,所有用戶都擁有各自全部文件的備份,並利用各自的私鑰進行加密後在系統內公開。假設在某個時刻,用戶Alice希望提供給用戶Bob她的一部分文件,這時候出現的問題是Alice如何讓Bob相信她確實發送了正確的文件。一個簡單地處理辦法是Alice將自己的私鑰發給Bob,而這正是Alice不希望選擇的策略,因為這樣Bob可以輕易地獲取到Alice的全部文件內容。零知識證明便是可以用於解決上述問題的一種方案。零知識證明主要基於復雜度理論,並且在密碼學中有廣泛的理論延伸。在復雜度理論中,我們主要討論哪些語言可以進行零知識證明應用,而在密碼學中,我們主要討論如何構造各種類型的零知識證明方案,並使得其足夠優秀和高效。
環簽名群簽名
1、群簽名
在一個群簽名方案中,一個群體中的任意一個成員可以以匿名的方式代表整個群體對消息進行簽名。與其他數字簽名一樣,群簽名是可以公開驗證的,且可以只用單個群公鑰來驗證。群簽名一般流程:
(1)初始化,群管理者建立群資源,生成對應的群公鑰(GroupPublicKey)和群私鑰(GroupPrivateKey)群公鑰對整個系統中的所有用戶公開,比如群成員、驗證者等。
(2)成員加入,在用戶加入群的時候,群管理者頒發群證書(GroupCertificate)給群成員。
(3)簽名,群成員利用獲得的群證書簽署文件,生成群簽名。
(4)驗證,同時驗證者利用群公鑰僅可以驗證所得群簽名的正確性,但不能確定群中的正式簽署者。
(5)公開,群管理者利用群私鑰可以對群用戶生成的群簽名進行追蹤,並暴露簽署者身份。
2、環簽名
2001年,Rivest,shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。
環簽名方案由以下幾部分構成:
(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。
(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。
(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。
環簽名滿足的性質:
(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。
(2)正確性:簽名必需能被所有其他人驗證。
(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。
3、環簽名和群簽名的比較
(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。
(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追
E. 區塊鏈分為哪些層(區塊鏈的六個層次結構)
區塊鏈的層級結構(什麼是區塊鏈的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.區塊鏈的六個分層級結構介紹-區塊鏈-電子發燒友網
區塊鏈技術架構中的三個層次是什麼?
金窩窩分析區塊鏈技術中的三個層次如下:
協議層
所謂的協議層,就是指代最底層的技術。這個層次通常是一個完整的區塊鏈產品,類似於我們電腦的操作系統,它維護著網路節點,僅提供Api供調用。通常官方會提供簡單的客戶端(通稱為錢包),這個客戶端錢包功能也很簡單,只能建立地址、驗證簽名、轉賬支付、查看余額等。
擴展層
這個層面類似於電腦的驅動程序,是為了讓區塊鏈產品更加實用。
應用層
這個層面類似於電腦中的各種軟體程序,是普通人可以真正直接使用的產品,也可以理解為B/S架構的產品中的瀏覽器端(Browser)。這個層面的應用,目前幾乎是空白。
區塊鏈技術可以分為幾個層面?重慶金窩窩網路分析區塊鏈技術的結構層面如下:
區塊鏈可以大致分成兩個層面,
一是做區塊鏈底層技術;
二是做區塊鏈上層應用,即基於區塊鏈的改造、優化或者創新應用。
區塊鏈技術系統是由哪些層組成的?一般說來,區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。
其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。
F. 什麼是以太幣/以太坊ETH
以太幣(ETH)是以太坊(Ethereum)的一種數字代幣,被視為「比特幣2.0版」,採用與比特幣不同的區塊鏈技術「以太坊」(Ethereum),一個開源的有智能合約成果的民眾區塊鏈平台,由全球成千上萬的計算機構成的共鳴網路。開發者們需要支付以太幣(ETH)來支撐應用的運行。和其他數字貨幣一樣,以太幣可以在交易平台上進行買賣 。
溫馨提示:以上解釋僅供參考,不作任何建議。入市有風險,投資需謹慎。您在做任何投資之前,應確保自己完全明白該產品的投資性質和所涉及的風險,詳細了解和謹慎評估產品後,再自身判斷是否參與交易。
應答時間:2020-12-02,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
G. 以太坊是什麼
隨著區塊鏈技術的創新,一個新的平台誕生了,它就是以太坊。以太坊不像比特幣那樣只是一種加密貨幣,它還存在其它特徵,使其成為了一個巨大的分布式計算機。
那麼,到底什麼是以太坊?
具體來說,以太坊(Ethereum)是一個可編程、可視化、更易用的區塊鏈,它允許任何人編寫智能合約和發行代幣。就像比特幣一樣,以太坊是去中心化的,由全網共同記賬,賬本公開透明且不可竄改。
與比特幣不同的是,以太坊是可編程的區塊鏈,它提供了一套圖靈完備的腳本語言,因此,開發人員可以直接用C語言等高級語言編程,轉換成匯編語言,大大降低了區塊鏈應用的開發難度。
為了更易理解,打個比方,以太坊就像是區塊鏈里的Android,它是一個開發平台,讓我們可以像基於Android Framework一樣基於區塊鏈技術寫應用。它上面提供各種模塊讓用戶來搭建應用,如果將搭建應用比作造房子,那麼以太坊就提供了牆面、屋頂、地板等模塊,用戶只需像搭積木一樣把房子搭起來,因此在以太坊上建立應用的成本和速度都大大改善。
事實上,在沒有以太坊之前,寫區塊鏈應用是這樣的:拷貝一份比特幣代碼,然後去改底層代碼如加密演算法,共識機制,網路協議等等(很多山寨幣就是這樣,改改就出來一個新幣)。
至於以太坊如何運作?
與其它區塊鏈一樣,以太坊需要幾千人在自己的計算機上運行一個軟體,為該網路提供動力。網路中的每個節點(計算機)運行一個叫做以太坊虛擬機(EVM)的軟體。如果將以太坊虛擬機想像成一個操作系統,它能理解並執行通過以太坊特定編程語言編寫的軟體,由以太坊虛擬機執行的軟體/應用程序被稱為「智能合約」。
不過,在這台計算機上操作並不是免費的,需要支付該網路自帶的加密貨幣,叫做以太幣(Ether)。以太幣與比特幣大致相同,除了一點,即以太幣可以為在以太坊上執行智能合約而付費。
回到以太坊的發展史,以太坊的概念首次在2013至2014年間由程序員Vitalik Buterin受比特幣啟發後提出,大意為「下一代加密貨幣與去中心化應用平台」,在2014年通過ICO眾籌開始得以發展。
截至2018年2月,以太幣是市值第二高的加密貨幣,僅次於比特幣。
對於許多程序工程師和投資人而言,2015年7月30號這一天是一個大日子,經過18個月的醞釀期後,以太坊區塊鏈平台終於正式誕生了,當天在位於布魯克林的辦公室上午11:45左右,當以太坊區塊鏈產生第一個創世區塊,隨即有很多狂熱的礦工在後頭想要贏得第一個區塊,也就是以太坊專屬電子貨幣,以太幣的所有權。當時整個辦公室掌聲雷動,那一天天氣很糟糕,紐約一帶下了大雷雨,每個人的智能手機不時傳來嘈雜的洪水警告訊號。
根據該公司網站資料的說明,以太坊是一個去中心化的應用平台,以智能合約為例,設計師可以完全排除死機被監控,被詐騙或者是被第三方橫加干預的可能,跟比特幣一樣,以太坊利用以太幣吸引參加者,建立驗證交易平台的網路架構,維持網路架構的運作,並且以共識決定哪些是真正發生過存在的事件,但是以太坊和比特幣也有所不同,以太坊提供一些功能強大的工具,讓投入開發的人創造出去,具有去中心化的軟體服務,使用范圍可以從線上 游戲 橫跨到股票交易。
以太坊的構想源自於2013年,當時才19歲的俄裔加拿大人為例,維塔利克布特林,他當時跟比特幣的核心開發者爭論,區塊鏈網路架構需要有更穩固的手稿語言才能發展其他的應用軟體,不過他的想法沒有被採納,促成了他打定主意要開發一套符合自己理念的區塊鏈網路架構共識,這家公司可以說是他跨出的第一步,在以太坊區塊鏈上推出了應用軟體,如果我們把時間往回倒轉幾年,就會發現一個很有趣的對照。
有位大師托瓦茲推出Linux作業系統的舉動,正如布特林推出以太坊一樣如出一轍。共識系統公司的聯合創始人約瑟夫魯賓談到區塊鏈以太坊的興起時表示,我愈發覺得走上街頭去貼海報訴求是很浪費時間的一件事,倒不如一起合作,在這個失衡的 社會 的經濟體制帶來要比較實際得改變。
跟許多創業者一樣,魯賓提出的願望也很有企圖心,他不只想要創立一家了不起的公司,也想借機克服這個世界上難解的問題。這個公司的應用程序會對十多個其他領域的產業帶來震撼力十足的效果,他們的計劃包括分布式的三重記賬會計體系,針對原本廣受好評,但是後來卻因為集中管控兒而遭受爭議的reddit論壇推出分布式的新版本,自動執行的文件格式進行管理,系統現在叫智能合約,涵蓋商務 體育 和 娛樂 領域的預測市場、公開競標的能源市場、足以和蘋果電腦分庭抗禮的一整套可以供大規模協作集體創造,實現無管理階層公司之共同管理機制的商務工具。
以太坊Ethereum由V神(Vitalik Buterin)在2014年創辦,它是一個區塊鏈底層系統,類似於互聯網的操作系統,基於它開發的DAPP(去中心化應用)類似於基於互聯網操作系統開發的軟體APP。
它的出現主要是彌補比特幣的不足,比特幣只能實現點對點的電子現金交易系統,但是區塊鏈技術在其他場景的應用卻無法實現。如果每用於一個場景,就搭建一個底層基礎系統,再進行開發,太耗時間和精力,成本也很高。為此,以太坊就建了一個底層系統供開發者使用,開發者只需要在其基礎上開發自己的DAPP應用就可以了。去年5月數據顯示,全球就已有200多個以太坊應用。
此外,以太坊也是區塊鏈比較優秀的公鏈之一。不過,它的交易速度太慢令眾多開發者詬病,以太坊開發者正在不斷嘗試研發分片技術對此現象進行改變。
以太坊的本質是一個可編程可視化而且操作簡單的區塊鏈,允許任何人編寫智能合約和發行代幣(這也是為什麼市面上各類空氣幣、傳銷幣如此之多的一個原因之一)。和比特幣一樣,以太坊也是去中心化的,全網共同記錄以太坊的所有情況,而且公開透明不可篡改。
那你想問,以太坊和比特幣的不同之處在哪?通俗地講,你可以把以太坊理解成為能夠編程的區塊鏈,它提供了一套圖靈完備的腳本語言,後續的開發人員可以直接在這個基礎上進行c語言等語言編程,之後轉變成匯編語言,由此降低了區塊鏈的應用的開發難度。就好像安卓系統上,准備好了api和介面,用戶直接開發app就可以這樣的邏輯。從以太坊誕生之初到現在,以太坊上已經誕生了幾百個應用,俄羅斯政府甚至也與以太坊基金會合作。
希望我的回答能夠幫助你!
在基礎層面上,以太坊是基於區塊鏈技術的軟體平台。該平台允許構建和部署分散式應用程序。以太坊里的「以太」是什麼?對Ethereum感興趣的人們經常會問「以太是什麼?」
了解以太是非常重要的,因為它是以太坊功能的基礎。就像所有機器使用某種燃料一樣,區塊鏈也是如此。以太坊使用乙太網,這是一種獨特的代碼,可用作支付運行應用程序或程序的方式。就像老虎機需要硬幣(或者現在的預付卡)來運行硬幣一樣,客戶必須使用乙醚作為付款才能在以太坊運行他們所要求的操作。
大家其他人的答案真的都是太麻煩了
講得太復雜了
以太坊
簡單來說就是這么一個結論:
以太坊等於 BTC+智能合約+合同自由+通縮資產+使用價值
這個結論其實不難理解的
官方定義更加詭詐:
開源的有智能合約功能的公共區塊鏈平台。通過其專用加密貨幣以太幣(Ether,又稱「以太幣」)提供去中心化的虛擬機
以太坊簡單來說就是這么一個結論:
以太坊等於 BTC+智能合約+合同自由+通縮資產+使用價值
我給大家簡單地來說說吧
首先先來看下面這個視頻:也就是以太坊創始人V神的視頻 特別好的解釋
以太坊簡單來說就是這么一個結論:
以太坊等於 BTC+智能合約+合同自由+通縮資產+使用價值
官方定義更加詭詐:
以太坊是一個可編程,可視化的區塊鏈平台。其操作功能非常多,計算匯總各類數據等等。
以太坊是區塊鏈技術的一個質的飛躍!就好比http是互聯網底層支撐技術而以太坊就是可以基於以太坊智能合約做各種生態dapp
以太坊是什麼?
以太坊是互聯網新時代的基礎:
內建貨幣與支付。
用戶擁有個人數據主權,且不會被各類應用監聽或竊取數據。
人人都有權使用開放金融系統。
基於中立且開源的基礎架構,不受任何組織或個人控制。
以太坊的創建以太坊主網於 2015 年上線,是世界領先的可編程區塊鏈。
和其它區塊鏈一樣,以太坊也擁有原生加密貨幣,叫作 Ether (ETH)。 ETH 是一種數字貨幣, 和比特幣有許多相同的功能。 它是一種純數字貨幣,可以即時發送給世界上任何地方的任何人。 ETH 的供應不受任何政府或組織控制,它是去中心化且具稀缺性的。 全世界的人們都在使用 ETH 進行支付,或將其作為價值存儲和抵押品。
但與其它區塊鏈不同的是,以太坊可以做更多的工作。 以太坊是可編程的,開發者可以用它來構建不同於以往的應用程序。
以太坊的作用這些去中心化的應用程序(或稱「dapps」)基於加密貨幣與區塊鏈技術, 因而值得信任,也就是說 dapps 一旦被「上傳」到以太坊,它們將始終按照編好的程序運行。 這些應用程序可以控制數字資產,以便創造新的金融應用; 同時還是去中心化的,這意味著沒有任何單一實體或個人可以控制它們。
目前,全世界有成千上萬名開發者正在以太坊上構建應用程序、發明新的應用程序,其中有許多現在已經可以使用:
1.加密貨幣錢包:讓你可以使用 ETH 或其他數字資產進行低成本的即時支付
2.金融應用程序:讓你可以借貸、投資數字資產
3.去中心化市場:讓你可以交易數字資產,甚至就現實世界事件的「預測」進行交易
4. 游戲 :你可以擁有 游戲 內的資產,甚至可以由此獲得現實收益以及更多。
以太坊社區以太坊社區是世界上最大最活躍的區塊鏈社區。它包括核心協議開發者、加密經濟研究員、密碼朋克、挖礦組織、ETH 持有者、應用開發者、普通用戶、無政府主義者、財富 500 強公司。
沒有公司或中心化的組織能夠控制以太坊。 一直以來,以太坊由多元化的全球性社區貢獻者來協同進行維護和改善,社區成員耕耘於以太坊的方方面面,從核心協議到應用程序。
以太坊擁堵的元兇找到了,竟然是它!
H. 區塊鏈的網路構架包括哪些
區塊鏈技術框架有哪些?當前主流的區塊鏈架構包含六個層級:網路層、數據層、共識層、激勵層、合約層和應用層。圖中將數據層和網路層的位置進行了對調,主要用途將在下一節中詳述。
網路層:區塊鏈網路本質是一個P2P(Peer-to-peer點對點)的網路,網路中的資源和服務分散在所有節點上,信息的傳輸和服務的實現都直接在節點之間進行,可以無需中間環節和伺服器的介入。每一個節點既接收信息,也產生信息,節點之間通過維護一個共同的區塊鏈來同步信息,當一個節點創造出新的區塊後便以廣播的形式通知其他節點,其他節點收到信息後對該區塊進行驗證,並在該區塊的基礎上去創建新的區塊,從而達到全網共同維護一個底層賬本的作用。所以網路層會涉及到P2P網路,傳播機制,驗證機制等的設計,顯而易見,這些設計都能影響到區塊信息的確認速度,網路層可以作為區塊鏈技術可擴展方案中的一個研究方向;
數據層:區塊鏈的底層數據是一個區塊+鏈表的數據結構,它包括數據區塊、鏈式結構、時間戳、哈希函數、Merkle樹、非對稱加密等設計。其中數據區塊、鏈式結構都可作為區塊鏈技術可擴展方案對數據層研究時的改進方向。
共識層:它是讓高度分散的節點對區塊數據的有效性達到快速共識的基礎,主要的共識機制有POW(ProofOfWork工作量證明機制),POS(ProofofStake權益證明機制),DPOS(DelegatedProofofStake委託權益證明機制)和PBFT(實用拜占庭容錯)等,它們一直是區塊鏈技術可擴展方案中的重頭戲。
激勵層:它是大家常說的挖礦機制,用來設計一定的經濟激勵模型,鼓勵節點來參與區塊鏈的安全驗證工作,包括發行機制,分配機制的設計等。這個層級的改進貌似與區塊鏈可擴展並無直接聯系。
合約層:主要是指各種腳本代碼、演算法機制以及智能合約等。第一代區塊鏈嚴格講這一層是缺失的,所以它們只能進行交易,而無法用於其他的領域或是進行其他的邏輯處理,合約層的出現,使得在其他領域使用區塊鏈成為了現實,以太坊中這部分包括了EVM(以太坊虛擬機)和智能合約兩部分。這個層級的改進貌似給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似並無直接聯系
應用層:它是區塊鏈的展示層,包括各種應用場景和案例。如以太坊使用的是truffle和web3-js.區塊鏈的應用層可以是移動端,web端,或是是融合進現有的伺服器,把當前的業務伺服器當成應用層。這個層級的改進貌似也給區塊鏈可擴展提供了潛在的新方向,但結構上來看貌似並無直接聯系。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
區塊鏈由哪些結構組成?
區塊鏈是由區塊相互連接形成的鏈式存儲結構,區塊就是鏈式存儲結構中的數據元素,其中第一個區塊被稱為創始區塊。
?
一般區塊包括區塊頭和區塊體兩部分。區塊頭包含每個區塊的身份識別信息,如版本號、hash值、時間戳、區塊高度等信息;區塊體主要包含具體的交易數據。
金窩窩:區塊鏈的構架是什麼?區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式,金窩窩集團認為是由數據層、網路層、共識層、激勵層、合約層和應用層組成:
1、數據層:封裝了底層數據區塊以及相關的數據加密和時間戳等技術;
2、網路層:則包括分布式組網機制、數據傳播機制和數據驗證機制等;
3、共識層:主要封裝網路節點的各類共識演算法;
4、合約層:主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;
5、應用層:則封裝了區塊鏈的各種應用場景和案例。