區塊鏈加密語言
Ⅰ 什麼是區塊鏈加密演算法
區塊鏈加密演算法(EncryptionAlgorithm)
非對稱加密演算法是一個函數,通過使用一個加密鑰匙,將原來的明文文件或數據轉化成一串不可讀的密文代碼。加密流程是不可逆的,只有持有對應的解密鑰匙才能將該加密信息解密成可閱讀的明文。加密使得私密數據可以在低風險的情況下,通過公共網路進行傳輸,並保護數據不被第三方竊取、閱讀。
區塊鏈技術的核心優勢是去中心化,能夠通過運用數據加密、時間戳、分布式共識和經濟激勵等手段,在節點無需互相信任的分布式系統中實現基於去中心化信用的點對點交易、協調與協作,從而為解決中心化機構普遍存在的高成本、低效率和數據存儲不安全等問題提供了解決方案。
區塊鏈的應用領域有數字貨幣、通證、金融、防偽溯源、隱私保護、供應鏈、娛樂等等,區塊鏈、比特幣的火爆,不少相關的top域名都被注冊,對域名行業產生了比較大的影響。
Ⅱ 區塊鏈技術入門,都涉及哪些編程語言
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法
區塊鏈(Blockchain)是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式
GO語言+區塊鏈培訓課程:
1、 Go有什麼優勢
Go的優勢
1:性能
2:語言性能很重要
3:開發者效率&不要過於創新
4:並發性&通道
5:快速的編譯時間
6:打造團隊的能力
7:強大的生態系統
8:GOFMT,強制代碼格式
9:gRPC 和 Protocol Buffers
可直接編譯成機器碼,不依賴其他庫,glibc的版本有一定要求,部署就是扔一個文件上去就完成了。
靜態類型語言,但是有動態語言的感覺,靜態類型的語言就是可以在編譯的時候檢查出來隱藏的大多數問題,動態語言的感覺就是有很多的包可以使用,寫起來的效率很高。
Ⅲ 區塊鏈之加密原理總結(一)
先放一張以太坊的架構圖:
在學習的過程中主要是採用單個模塊了學習了解的,包括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演算法-Key Agreement)。然後利用該對稱秘鑰對數據進行加密,針對共享秘鑰這里的流程如下:
對於B節點,當接收到傳輸過來的數據時,解析出其中A節點的隨機公鑰,之後利用A節點的隨機公鑰 與 B節點自身的私鑰 計算出對稱秘鑰(KA演算法)。之後利用對稱秘鑰機密數據。
對於以上加密方式,其實仍然存在很多問題,比如如何避免重放攻擊(在消息中加入 Nonce ),再比如彩虹表(參考 KDF機制解決 )之類的問題。由於時間及能力有限,故暫時忽略。
那麼究竟應該採用何種加密呢?
主要還是基於要傳輸的數據的安全等級來考量。不重要的數據其實做好認證和簽名就可以,但是很重要的數據就需要採用安全等級比較高的加密方案了。
密碼套件 是一個網路協議的概念。其中主要包括身份認證、加密、消息認證(MAC)、秘鑰交換的演算法組成。
在整個網路的傳輸過程中,根據密碼套件主要分如下幾大類演算法:
秘鑰交換演算法:比如ECDHE、RSA。主要用於客戶端和服務端握手時如何進行身份驗證。
消息認證演算法:比如SHA1、SHA2、SHA3。主要用於消息摘要。
批量加密演算法:比如AES, 主要用於加密信息流。
偽隨機數演算法:例如TLS 1.2的偽隨機函數使用MAC演算法的散列函數來創建一個 主密鑰 ——連接雙方共享的一個48位元組的私鑰。主密鑰在創建會話密鑰(例如創建MAC)時作為一個熵來源。
在網路中,一次消息的傳輸一般需要在如下4個階段分別進行加密,才能保證消息安全、可靠的傳輸。
握手/網路協商階段:
在雙方進行握手階段,需要進行鏈接的協商。主要的加密演算法包括RSA、DH、ECDH等
身份認證階段:
身份認證階段,需要確定發送的消息的來源來源。主要採用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA簽名)等。
消息加密階段:
消息加密指對發送的信息流進行加密。主要採用的加密方式包括DES、RC4、AES等。
消息身份認證階段/防篡改階段:
主要是保證消息在傳輸過程中確保沒有被篡改過。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。
ECC :Elliptic Curves Cryptography,橢圓曲線密碼編碼學。是一種根據橢圓上點倍積生成 公鑰、私鑰的演算法。用於生成公私秘鑰。
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演算法提供的一套集成(混合)加密方案。其中包括了非對稱加密,對稱加密和簽名的功能。
ECC 是 Elliptic Curve Cryptography的簡稱。那麼什麼是橢圓加密曲線呢?Wolfram MathWorld 給出了很標準的定義: 一條橢圓曲線就是一組被 定義的且滿足 的點集。
這個先訂條件是為了保證曲線不包含奇點。
所以,隨著曲線參數a和b的不斷變化,曲線也呈現出了不同的形狀。比如:
所有的非對稱加密的基本原理基本都是基於一個公式 K = k*G。其中K代表公鑰,k代表私鑰,G代表某一個選取的基點。非對稱加密的演算法 就是要保證 該公式 不可進行逆運算( 也就是說G/K是無法計算的 )。
ECC是如何計算出公私鑰呢?這里我按照我自己的理解來描述。
我理解,ECC的核心思想就是:選擇曲線上的一個基點G,之後隨機在ECC曲線上取一個點k(作為私鑰),然後根據k*G計算出我們的公鑰K。並且保證公鑰K也要在曲線上。
那麼k*G怎麼計算呢?如何計算k*G才能保證最後的結果不可逆呢?這就是ECC演算法要解決的。
首先,我們先隨便選擇一條ECC曲線,a = -3, b = 7 得到如下曲線:
在這個曲線上,我隨機選取兩個點,這兩個點的乘法怎麼算呢?我們可以簡化下問題,乘法是都可以用加法表示的,比如2*2 = 2+2,3*5 = 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
於是乎得到 2*P = -Q (是不是與我們非對稱演算法的公式 K = k*G 越來越近了)。
於是我們得出一個結論,可以算乘法,不過只有在切點的時候才能算乘法,而且只能算2的乘法。
假若 2 可以變成任意個數進行想乘,那麼就能代表在ECC曲線里可以進行乘法運算,那麼ECC演算法就能滿足非對稱加密演算法的要求了。
那麼我們是不是可以隨機任何一個數的乘法都可以算呢? 答案是肯定的。 也就是點倍積 計算方式。
選一個隨機數 k, 那麼k * P等於多少呢?
我們知道在計算機的世界裡,所有的都是二進制的,ECC既然能算2的乘法,那麼我們可以將隨機數k描 述成二進制然後計算。假若k = 151 = 10010111
由於2*P = -Q 所以 這樣就計算出了k*P。 這就是點倍積演算法 。所以在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上的例子說明如何生成共享秘鑰,也可以參考 Alice And Bob 的例子。
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 = ka KB = 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-based Message Authentication Code. 其模型如下:
在 以太坊 的 UDP通信時(RPC通信加密方式不同),則採用了以上的實現方式,並擴展化了。
首先,以太坊的UDP通信的結構如下:
其中,sig是 經過 私鑰加密的簽名信息。mac是可以理解為整個消息的摘要, ptype是消息的事件類型,data則是經過RLP編碼後的傳輸數據。
其UDP的整個的加密,認證,簽名模型如下:
Ⅳ 超詳細整理區塊鏈和加密貨幣行業術語(建議收藏)
比特幣詞彙表:你需要知道的每一個區塊鏈和加密貨幣短語
盡管困難重重,區塊鏈技術已成為主流。比特幣已成為家喻戶曉的詞,世界各地的金融機構都投資於加密貨幣或允許其客戶這樣做。與此同時,NFT 吸引了各路名人的加入和贊賞。
但盡管如此,區塊鏈技術仍然非常神秘。只有才華橫溢的工程師才能真正理解這些——其中許多人是比特幣和以太幣等加密貨幣的早期採用者,而對於外行來說可能仍是很困難的。
以下是您可能會覺得有用的區塊鏈術語的詞彙表。(所有短語按英文字母順序排列)
空投(Airdrop)
空投是指公司將加密貨幣或 NFT 直接放入您的錢包中。 區塊鏈 服務將推出代 幣 並空投給曾使用過該服務的用戶,而不是首次公開募股。這樣做有幾個原因:它可以是純粹的營銷,因為空投提高了人們可以投資的代幣的意識,或者可以為 DAO 提供治理代幣。
最近的一個例子:以太坊名稱服務允許用戶將他們的錢包號碼更改為錢包名稱(如 CNET.eth)。去年 12 月,它推出了自己的 ENS 代幣,向所有使用該服務的人空投了一定金額。使用以太坊名稱服務的人越多,他們被空投的代幣就越多——在某些情況下價值數萬美元。
山寨幣(Altcoin)
任何不是 比特幣 或 以太幣的加密貨幣都被稱為山寨幣(Altcoin) 。有時候也被稱為「 shitcoins。 」
幣安(Binance)
世界上最大的 加密貨幣 交易所,人們在這里購買和交易加密貨幣。它正在接受美國司法部和美國國稅局的逃稅和洗錢調查。
區塊鏈(Blockchain)
區塊鏈是「分布式資料庫」。簡單來說,它是一個去中心化的賬本,將信息記錄在數字「塊」中。一旦一個塊被挖掘並添加到鏈中,它就不能被更改,因此區塊鏈提供了不可更改數據的公共記錄。
有許多不同的區塊鏈具有不同程度的去中心化、效率和安全性。許多人擁有自己的加密貨幣——例如,以太幣是一種建立在 以太坊區塊 鏈上的加密貨幣。
比特幣(Bitcoin)
比特幣是第一個 加密貨幣 ,建立在比特幣區塊鏈之上。它是由一個人或一群人以中 本聰 的筆名於 2009 年創建的。只能鑄造2100 萬枚,其中大約1890 萬枚已經在流通。
銷毀(Burning)
加密貨幣 通過發送到只能接收而不能發出的錢包而被「燒毀」。銷毀機制通常被用來造成通縮影響:流通中的 代幣 越少,投資者持有的 代幣 就越稀缺。
買跌(Buy the dip)
這是指在價格下跌後購買更多資產。例如,如果價格下跌 10,000 美元,比特幣持有者可能會「逢低買入」。
冷錢包(Cold Wallet)
未連接到互聯網的加密貨幣錢包。這些錢包更安全,更不容易受騙。
跨鏈(Cross-chain)
將數據、代幣或資產從一個區塊鏈發送到另一個區塊鏈的能力。這不同於為在多個區塊鏈上工作而構建的「 多鏈 」服務。
密碼學(Cryptography)
一種信息加密形式,其中數據只能使用密鑰進行解密。使用 工作量證明 協議的 區塊鏈 依賴於解決極其復雜的密碼學難題,以便挖掘和驗證新區塊。
加密貨幣(Cryptocurrency)
加密貨幣是 區塊鏈 原生的代 幣 。加密貨幣通常隨著每個新區塊的開采而鑄造。例如,每 挖出 一個新的 以太坊 區塊, 都會 獲得兩個以太幣作為對礦工的補償。
加密貨幣是一種代 幣 。它們的誕生是它們的決定性因素:其他代幣是使用構建在區塊鏈之上的平台和應用程序創建的,而加密貨幣則內置於區塊鏈的協議中。
去中心化應用(Dapps)
去中心化應用程序的縮寫。
道(DAO)
一個去中心化的自治組織。DAO 是一個通過共識做出決策的組織:所有 治理代幣的 持有者都在組織決策中獲得投票權,投票最多的解決方案是 DAO 的行動方案。想像一個去中心化的投資銀行,但不是由基金經理做出投資決定,而是由其 治理代幣 的持有者投票決定如何投資其國庫中的資金。
去中心化交易所(Decentralized exchange)
去中心化交易所用於購買和交易 加密貨幣 。與典型的交易所不同,這些交易所使用繞過任何中心化權威的點對點交易。其中包括 Uniswap 和 Sushiswap。
去中心化金融(DeFi)
「decentralized finance」的縮寫。DeFi 是使用 區塊鏈 技術繞過中心化機構任何金融工具,例如 智能合約 或 DAO 。
鑽石手(Diamond Hands)
鑽石手是長期或在價格動盪期間持有金融資產的人。
DYOR
「Do Your Own Research」的縮寫。
以太幣(ETH)
在以太坊區塊鏈上開採的 加密貨幣 。以太 幣 的市值僅次於 比特幣 ,但卻是一種更常用的加密貨幣。大多數 山寨幣 也是 基於以太坊構建的 ,因此與以太 幣掛鉤 。大多數 NFT 也建立在以太坊上,這就是為什麼以太是 NFT 交易中使用的主要代幣。
以太坊(Ethereum)
與 比特幣 競爭的區塊鏈。它旨在採用 比特幣 開發人員開創的區塊鏈技術,並將其用於更復雜的金融工具,如 智能合約 。
閃貸(Flash loan)
閃電貸是一種 DeFi 工具,允許在沒有抵押品的情況下進行貸款。閃電貸允許您借錢購買資產,但前提是可以購買資產並在同一區塊內償還利息。想像一下,使用貸款購買一棟 100 萬美元的房子,但只有當您已經排好另一個願意支付足夠費用讓您償還貸款和利息的買家時,貸款才會被批准。
這些貸款使用 智能合約 技術。
FUD
「fear, uncertainty and doubt」的縮寫。這可能是合法的,例如人們對代幣或 NFT 項目的安全性或合法性或安全性表示擔憂,例如鼓勵人們出售、降低資產價格的有組織的舉動。
Gas
Gas 是您使用 以太坊 網路所要支付的價格。每筆交易都需要支付gas 費 ,這取決於 區塊鏈的 過載程度。每筆交易的價格通常在 50 美元到 500 美元之間,但在網路負載過重時價格可能會飆升。
治理代幣(Governance token)
治理代幣是賦予所有者對給定項目投票權的加密貨幣。另請參閱: DAO 。
GWEI
gas 的成本以 GWEI 表示。作為粗略的指導,當 gwei 低於 50 時,gas 會很便宜,而當 gwei 高於 100 時,gas 會很貴。
HODL
「hold」的故意拼寫錯誤,用於鼓勵人們在價格下跌期間持有他們的代幣。
Layer 1和Layer 2
如果您涉足 加密貨幣, 您會聽說Layer 1和Layer 2解決方案。Layer 1是 區塊鏈 架構本身,而Layer 2是指建立在區塊鏈之上的架構。
例如,以以太坊的高gas成本問題為例。Layer 1解決方案是讓 以太坊區塊 鏈更高效,例如通過採用 權益證明 協議。Layer 2解決方案的一個例子是 Immutible X,這是一個建立在以太坊之上的交易所,它使用 智能合約 技術允許無氣體、碳中和的交易。
流動性市場(Liquid Market)
流動性市場是一個擁有大量買家和賣家的市場,它允許幾乎立即完成買賣訂單。 加密貨幣 市場具有流動性,而 NFT 市場則不然。大多數合法的加密貨幣可以隨時買賣,因為 NFT 交易者需要列出待售物品,希望買家手動購買。
主網(Mainnet)
一個供公眾使用的區塊鏈協議將被放入主網。這將它與測試網區分開來,後者更像是區塊鏈協議的測試版發布。
模因幣(Memecoins)
許多加密貨幣旨在提供實用程序或服務為目的。Memecoins 不提供實用前景,純粹作為投機資產存在。狗狗幣是最知名的 ,但還有很多很多。
元掩碼(MetaMask)
一種基於瀏覽器的在線數字錢包,主要用於 以太坊區塊鏈 上的交易。
礦業(Mining)
挖礦是驗證交易並將區塊添加到區塊 鏈的過程 。這通常涉及解決復雜 密碼 問題的強大計算機。至關重要的是,這也是將新的 加密貨幣 添加到流通中的方式。
礦機(Mining Rig)
為挖掘 加密貨幣 的特定目的而設置的功能強大的計算機。
礦場(Mining Farm)
全天運行的采礦設備倉庫(或房間),用於挖掘 加密貨幣 。
鑄幣(Mint)
在區塊鏈上,鑄幣意味著驗證信息並將其作為區塊鏈上的一個塊。
「鑄造」 NFT 意味著在公開發售期間從其創建者那裡購買它。「鑄幣價格」是指它的創造者出售它的價格——例如無聊猿遊艇俱樂部的「鑄幣價格」是 0.08 以太幣。在一個集合中的所有 NFT 都被鑄造之後,想要接觸該集合的交易者需要從 OpenSea 等二級市場購買它們。
多鏈(Multi-chain)
設計用於多個 區塊鏈 的應用程序或服務。這與 跨鏈 應用程序和服務不同, 跨鏈 應用程序和服務旨在將數據或資產從一個區塊鏈發送到另一個區塊鏈。
月球(MOON)
價格的急劇飆升被稱為「mooning」或「a moon」。「To the moon(去月球)」是一個常見的短語。
NFT
不可替代的代幣(Non-fungible token)。這些是證明數字資產所有權的數字契約。目前,它們與藝術相關,但 NFT 可以證明任何數字的所有權。
鏈下/鏈上(Off-Chain/On-chain)
鏈上是指存在於 區塊鏈 上的東西,鏈下是指存在於 區塊 鏈之外的東西。 加密貨幣 是鏈上貨幣,法定貨幣是鏈下貨幣。
OpenSea
它是最大的 NFT 市場,專門研究基於 以太坊 的 NFT。(建立在不同區塊鏈上的 NFT 通常在專門的市場上出售。例如,Solana NFT 在 Solanat 上出售。)
Play to Earn(P2E)
Play to Earn (P2E) 游戲 集成了區塊鏈,並以 游戲 內 加密貨幣 獎勵玩家。這些 游戲 中的加密貨幣可以兌換成比特幣或以太幣。最突出的例子是 Axie Infinity,玩家可以獲得 Smooth Love Potion ($SLP)。
工作量證明(Proof of Work)
工作量證明(POW)是一種共識機制,通過該機制將塊添加到區塊鏈中。工作量證明要求礦工解決復雜的 密碼學 難題,這需要強大的采礦設備提供大量能源,以驗證新的區塊鏈交易。
工作量證明是一種安全且去中心化的共識機制,但效率低下是出了名的。這就是比特幣和以太坊區塊鏈的運作方式,盡管以太坊很快就會轉向更高效 的權益證明(Proof of Stake) 。
權益證明(Proof of Stake)
面對工作量 證明 的巨大能源需求, 權益 證明(POS)是一種更新的共識機制,可以更有效地挖掘區塊。權益證明允許 加密貨幣 持有者在相關區塊 鏈 上驗證新區塊。
他們通過抵押他們的 加密貨幣來 做到這一點。網路用戶質押他們的加密貨幣,如果他們的股份是通過隨機演算法選擇的,他們就有機會驗證一個新區塊——為此他們將獲得更多加密貨幣形式的獎勵。質押的加密貨幣越多,選擇用戶驗證新區塊的機會就越大。
工作證明獎勵那些花費最多計算能力來解決密碼難題的人,而權益證明獎勵那些長期投資加密貨幣的人。
抽水和傾銷(Pump and mp)
抽水和傾銷計劃涉及對產品的人為刺激,從而導致人們購買並提高其價格。然後,抽水和傾銷協調者以高價出售其資產,從而導致價格急劇下跌。
這些存在於傳統市場中,但在 加密貨幣 交易中更為常見,因為微市值加密貨幣的低流動性使其價格更容易操縱。
地毯拉動(Rug pull)
地毯拉動是指 加密貨幣 的創造者消失,並帶走資金。最近的一個例子是偽造的Squid Game 硬幣,盡管這些硬幣遠非罕見。「地毯」本質上是「騙局」的簡寫。
中本聰(Satoshi Nakamoto)
比特幣 創造者的化名。解釋去中心化金融的必要性和解釋比特幣如何運作的白皮書由中本聰簽署,但沒有人知道真實的人是誰。據推測,中本聰實際上是幾個人。
助記詞(Seed Phrase)
當你創建一個 加密貨幣 錢包時,你會得到一個 12 字的種子短語。每次在新設備上登錄錢包時,都需要使用助記詞。 永遠不要把你的助記詞給任何人 。
分片(Sharding)
分片在 區塊鏈上 分配網路負載,允許每秒處理更多事務。這聽起來很枯燥,但它非常重要。 以太坊 將在明年整合分片,這將使使用它更便宜,對環境的破壞也更小。
垃圾幣(Shitcoin)
Shitcoin 是一種不提供任何效用的 山寨幣 ,無論是 memecoin 還是無效的 山寨幣 。
絲綢之路(Silk Road)
Silk Road 是一個在線黑市,於 2013 年被 FBI 關閉。這是許多人第一次接觸 加密貨幣的地方 ,因為 比特幣 是該網站非法商品的流行支付方式。
智能合約(Smart contract)
智能合約是在滿足所需條件時自行執行的數字合約。例如,如果 Wallet X 向 Wallet Y 發送 0.08 ether,Wallet Y 向 Wallet X 發送 NFT Z。它們最常用於自動交易,但也可用於更復雜的用途,例如 快速貸款 。
穩定幣(Stable coin)
穩定幣是與美元掛鉤的加密貨幣。其中包括 Tether 和 USDC。他們的目的是讓 加密貨幣 交易者將他們的代幣保存在加密生態系統中,而不會經歷 比特幣 和 以太幣 價格波動的波動。
質押(Staking)
權益質押是在加密貨幣錢包中鎖定持有資金,從而支持區塊鏈網路運營。從本質上講,它包括鎖定加密貨幣以獲得獎勵。在大多數情況下,該流程需要用戶使用個人加密錢包參與到區塊鏈活動中。
權益質押的概念與權益證明(PoS)機制密切相關。它被用於許多基於PoS或相類似的其他區塊鏈系統中。
TLT
「think long term」的縮寫。
代幣(Token)
代幣是多種形式的區塊鏈資產。像 比特幣 這樣的 加密貨幣 是一種代幣。其他類型包括 治理代幣 ,它授予持有者在 DAO 或服務中的投票權,或 實用代幣 ,其中根據持有的代幣數量授予對服務的訪問許可權。
TXN
交易(transaction)的縮寫。
實用代幣(Utility Token)
旨在提供某種功能的代幣。這些可以是對應用程序、服務或 游戲 的訪問。示例包括 Filecoin,它授予對基於區塊鏈的數字存儲的訪問許可權,以及 Link,它連接 了鏈下 類型數據的智能合約。
虛榮地址(Vanity Address)
由 Ethereum Name Service 等公司提供的個性化錢包地址。它允許您將錢包地址更改為您選擇的單詞或短語,例如 CNET.eth。
Vaporware
承諾但從未真正進入市場的產品。該術語在 90 年代後期隨著最初的互聯網繁榮而流行起來,並且由於陰暗的 加密貨幣 創造者而得到了復興。
維塔利克·布特林(Vitalik Buterin)
以太坊區塊鏈 背後的創造者。
錢包(Wallet)
加密貨幣錢包是您可以存儲加密貨幣和 NFT 的地方。這些錢包可以是熱錢包或冷錢包——即連接到互聯網的瀏覽器錢包或未連接到互聯網的物理硬體。錢包可以讀寫,這意味著它們可以接收信息,也可以作為簽名或在線 ID。
Web 3
Web3 是區塊鏈愛好者想像的互聯網的下一次迭代。從互聯網發明到 2005 年左右,Web1 是只讀互聯網。Web2 指的是用戶能夠製作內容並將其上傳到互聯網上的出現。Web3 將是一個集成了區塊鏈的互聯網。想像一下,將您的社交媒體帖子作為 NFT 擁有,使用像以太幣這樣的 加密貨幣 作為通用貨幣,並將您的錢包作為一種 ID 形式而不是電子郵件/密碼組合。
鯨(Whale)
持有大量加密貨幣的人。
白名單 ( Whitelist)
加密貨幣 和 NFT 的 預售清單。列入白名單的投資者可以在公開發行前購買資產,有時以折扣價購買。
WAGMI
「we're all going to make it」的縮寫。
Ⅳ 區塊鏈密碼演算法是怎樣的
區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的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-bit Wt。其中Wt是分組之後的報文,t=1,2,...,16 。
STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。
2、環簽名
2001年,Rivest, shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。
環簽名方案由以下幾部分構成:
(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。
(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。
(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。
環簽名滿足的性質:
(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。
(2)正確性:簽名必需能被所有其他人驗證。
(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。
3、環簽名和群簽名的比較
(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。
(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追蹤性。群管理員可以撤銷簽名,揭露真正的簽名者。環簽名本身無法揭示簽名者,除非簽名者本身想暴露或者在簽名中添加額外的信息。提出了一個可驗證的環簽名方案,方案中真實簽名者希望驗證者知道自己的身份,此時真實簽名者可以通過透露自己掌握的秘密信息來證實自己的身份。
(3)管理系統。群簽名由群管理員管理,環簽名不需要管理,簽名者只有選擇一個可能的簽名者集合,獲得其公鑰,然後公布這個集合即可,所有成員平等。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
Ⅵ 區塊鏈的加密技術
數字加密技能是區塊鏈技能使用和開展的關鍵。一旦加密辦法被破解,區塊鏈的數據安全性將受到挑戰,區塊鏈的可篡改性將不復存在。加密演算法分為對稱加密演算法和非對稱加密演算法。區塊鏈首要使用非對稱加密演算法。非對稱加密演算法中的公鑰暗碼體制依據其所依據的問題一般分為三類:大整數分化問題、離散對數問題和橢圓曲線問題。第一,引進區塊鏈加密技能加密演算法一般分為對稱加密和非對稱加密。非對稱加密是指集成到區塊鏈中以滿意安全要求和所有權驗證要求的加密技能。非對稱加密通常在加密和解密進程中使用兩個非對稱暗碼,稱為公鑰和私鑰。非對稱密鑰對有兩個特點:一是其間一個密鑰(公鑰或私鑰)加密信息後,只能解密另一個對應的密鑰。第二,公鑰可以向別人揭露,而私鑰是保密的,別人無法通過公鑰計算出相應的私鑰。非對稱加密一般分為三種首要類型:大整數分化問題、離散對數問題和橢圓曲線問題。大整數分化的問題類是指用兩個大素數的乘積作為加密數。由於素數的出現是沒有規律的,所以只能通過不斷的試算來尋找解決辦法。離散對數問題類是指基於離散對數的困難性和強單向哈希函數的一種非對稱分布式加密演算法。橢圓曲線是指使用平面橢圓曲線來計算一組非對稱的特殊值,比特幣就採用了這種加密演算法。非對稱加密技能在區塊鏈的使用場景首要包含信息加密、數字簽名和登錄認證。(1)在信息加密場景中,發送方(記為A)用接收方(記為B)的公鑰對信息進行加密後發送給
B,B用自己的私鑰對信息進行解密。比特幣交易的加密就屬於這種場景。(2)在數字簽名場景中,發送方A用自己的私鑰對信息進行加密並發送給B,B用A的公鑰對信息進行解密,然後確保信息是由A發送的。(3)登錄認證場景下,客戶端用私鑰加密登錄信息並發送給伺服器,伺服器再用客戶端的公鑰解密認證登錄信息。請注意上述三種加密計劃之間的差異:信息加密是公鑰加密和私鑰解密,確保信息的安全性;數字簽名是私鑰加密,公鑰解密,確保了數字簽名的歸屬。認證私鑰加密,公鑰解密。以比特幣體系為例,其非對稱加密機制如圖1所示:比特幣體系一般通過調用操作體系底層的隨機數生成器生成一個256位的隨機數作為私鑰。比特幣的私鑰總量大,遍歷所有私鑰空間獲取比特幣的私鑰極其困難,所以暗碼學是安全的。為便於辨認,256位二進制比特幣私鑰將通過SHA256哈希演算法和Base58進行轉化,構成50個字元長的私鑰,便於用戶辨認和書寫。比特幣的公鑰是私鑰通過Secp256k1橢圓曲線演算法生成的65位元組隨機數。公鑰可用於生成比特幣交易中使用的地址。生成進程是公鑰先通過SHA256和RIPEMD160哈希處理,生成20位元組的摘要成果(即Hash160的成果),再通過SHA256哈希演算法和Base58轉化,構成33個字元的比特幣地址。公鑰生成進程是不可逆的,即私鑰不能從公鑰推導出來。比特幣的公鑰和私鑰通常存儲在比特幣錢包文件中,其間私鑰最為重要。丟掉私鑰意味著丟掉相應地址的所有比特幣財物。在現有的比特幣和區塊鏈體系中,現已依據實踐使用需求衍生出多私鑰加密技能,以滿意多重簽名等愈加靈敏雜亂的場景。
Ⅶ 學習區塊鏈我們需要了解什麼
首先需要了解網路通信方面的相關內容,其次是數據儲存、加密技術、共識機制和安全技術,最後是跨鏈技術和鏈下技術。個人認為要學習區塊鏈應該從實踐出發,如果是程序員可以去區塊鏈相關的公司接觸相關的業務,在工作中學習。我之前在煊凌科技工作,公司在區塊鏈開發方面的實力和經驗都很不錯,不管是工作還是合作都是不錯的對象。
Ⅷ 區塊鏈要什麼技術開發
區塊鏈要什麼技術開發:
一、區塊鏈理論:區塊鏈開發者要對區塊鏈的理論知識具備熟悉的掌握能力,這是作為一名區塊鏈開發者最基本的要求。在裡面的內容包括了區塊鏈網路架構、去中心化等相關應用技術。拓展技術理論是對以太坊開發的掌握。
二、智能合約:智能合約是需要區塊鏈開發者用區塊鏈編程語言寫出來的一串代碼,根據不同場景構思邏輯後開發出來的信任機制,旨在消除第三方的介入,創造出高效、高信任的區塊鏈網路。區塊鏈開發者要實現這串代碼自動執行,且是不可逆的操作效果。
三、密碼學:區塊鏈應用場景很多都是具備高加密性的,點對點的加密模式是密碼學的特點。區塊鏈開發者通過研究密碼學,了解到錢包、密鑰、廣泛的加密和解密技術等加密概念
四、分布式架構:區塊鏈開發人者必須懂得分布式架構和網路的功能。去中心化網路是區塊鏈架構的基礎,在區塊鏈網路中信息的傳遞要遵循去中心化的方式,這樣每個人才能享受到同等的網路權益。
Ⅸ 區塊鏈中的對稱加密是什麼非對稱加密又是什麼
對稱加密演算法是指在加密和解密時使用的是同一個秘鑰。與對稱加密演算法不同,非對稱加密演算法需要公鑰和私鑰。公鑰和私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。
非對稱加密與對稱加密相比,其安全性更好。對稱加密的通信雙方使用相同的秘鑰,如果一方的秘鑰遭泄露,那麼整個通信就會被破解。
而非對稱加密使用一對秘鑰,一個用來加密,一個用來解密,而且公鑰是公開的,秘鑰是自己保存的,在通訊前不需要先同步秘鑰,避免了在同步私鑰過程中被黑客盜取信息的風險。
Ⅹ Tendermint詳解
摘要
您熟知並喜愛的區塊鏈有一個相當嚴格的結構。作為一名開發人員,在這種情況下您有兩種選擇:在受限的環境中構建應用程序,或者進行代碼分叉並創建自己的鏈。然而,創建自己的鏈並非易事——您還需要啟動網路並決定所使用的共識機制。
Tendermint是用來啟動區塊鏈的開源軟體,讓您可以用任何語言編寫應用程序。更厲害的是,它可以與其他區塊鏈進行通信。
創建加密貨幣或區塊鏈網路需要投入大量工作,遠遠不止於初始化資料庫。它需要在安全性、去中心化和可擴展性之間為激勵和權衡取得微妙的平衡。
有些團隊已經 探索 了一系列不同的方法,來構建最強大的區塊鏈生態系統,這也在情理之中了。在這篇文章中,我們將詳細了解其中一種方法:Tendermint。
如果您對區塊鏈有所了解,就會感覺Tendermint的大部分內容都似曾相識。在深入研究之前,我們首先回顧一些關鍵概念。
Tendermint是一種 區塊鏈堆棧 。比特幣和以太坊等同樣也是區塊鏈堆棧。請記住,這並非只關乎區塊鏈資料庫本身,還關乎節點的對等網路、它們如何相互作用,以及您通過交易和智能合約可以做到的事情。其目標是在即便不信任其他任何人的情況下,讓所有人都統一一種 狀態 (比如資料庫的快照)。
在很大程度上,如今的主要區塊鏈已經想出了達成這一點的「秘籍」。然而,它們通常依賴於 一體化架構 :這是一個軟體工程概念,意味著組件相互連接且相互依賴。您不能從中取走一部分,然後插入到別的架構中。
如果您想保證靈活性,一體化架構並非理想的選擇。在相反類型的模型(具有 模塊化架構 )中,您可以在不必擔心破壞任何架構的情況下調整單個組件。對於一體化架構,您在升級單個組件時必須確保每個組件保持兼容。
現在,我們理解了其中的差別,可以繼續來了解Tendermint協議。
您可能已經知道,比特幣最大的創新之處在於它解決了所謂的 拜占庭將軍問題 。在這里我們不會詳細討論這個問題(如果您感興趣,請參閱我們關於拜占庭容錯的文章)。您只需要知道,它詳細說明了參與者必須在分布式環境中進行通信的場景。
這些參與者不知道其他人是否在撒謊,也不知道他們之間發送的消息是否被篡改。即便存在這些問題,如果參與者可以針對一組事實達成一致,則系統會被認為存在 拜占庭容錯 。
顯然,在去中心化的環境中,正確把握這一點至關重要。不具有拜占庭容錯的加密貨幣並不能真正發揮作用——您需要某種中心化組織進行協調,這就與目的背道而馳。如果很多數字貨幣一樣,比特幣通過使用工作量證明(PoW)共識演算法來解決這個問題。
我們已經了解一體化/模塊化架構之間的區別,也知道去中心化加密貨幣網路需要具有拜占庭容錯能力。接下來我們談談我們通常在區塊鏈中看到的三層架構: 應用 層、 共識 層和 網路 層。
共識層和網路層是讓網路節點相互通信並盡量就一組事實達成一致的地方。應用層則可讓您自行進行操作——好比以太坊的去中心化應用程序和智能合約或者比特幣中的自定義交易。
然而,Tendermint是公司的名稱(由最初撰寫白皮書的開發人員Jae Kwon創立),而Tendermint Core是這家公司正在開發的實際軟體。更具體地說,這款軟體有兩個主要組件:核心共識引擎(Tendermint core)和應用程序介面(ABCI)。
Tendermint Core是一個能夠實現容錯的系統。本質上,它是一台大型分布式計算機,可在同一時間向每個人顯示相同的狀態。只要至少三分之二的參與者是誠實的,一切就會順利進行。但幾乎每個區塊鏈都是這樣的,難道不是嗎?它究竟有什麼特別之處?
首先,Tendermint Core使用的共識機制是權益證明(PoS)。每個周期從一組驗證者中選擇一個隨機節點。隨後,該節點必須提出下一個區塊(在所謂的 循環 系統上進行)。如果其他驗證者對它滿意,就會添加新的區塊,並更新鏈。結果可以即時確定——與比特幣或以太坊不同,它不需要等待確認來確保您的交易有效。
別著急,它還有其他特色!Tendermint Core採用模塊化架構,應用層與共識層和網路層分離。簡而言之,這意味著您可以將自己的應用程序層插入到堆棧中,而無需擔心繁雜的激勵機制或共識演算法。
這對終端用戶來說並不值得大驚小怪。但對於開發人員來說,能夠利用現有框架就意味著他們可以直接構建應用程序,而無需建立整個網路。來自區塊鏈的數據可以通過管道傳輸到集成層,讓開發人員可以用任何語言編寫軟體。
神奇的事情發生在所謂的應用程序區塊鏈界面(或簡稱ABCI)上。您可以把它想像成樹莓派電腦上的GPIO引腳。您可將各種第三方組件連接到這些引腳,從LED到精心設計的植物灑水系統。ABCI以類似的方式定義了區塊鏈以及在區塊鏈上運行的應用程序之間的邊界。
應用程序介面和共識機制的分離為分布式應用程序提供了更大的靈活性,可以將任何編程語言合並到它們的業務邏輯當中。
您只需要看看Ethermint這個具體示例就可以知道它的用處:Ethermint採用了以太坊代碼庫,刪除了工作量證明機制,並將以太坊虛擬機建立在Tendermint之上。
這使得一些有趣的操作成為可能。首先,以太坊開發人員可輕松將他們的智能合約移植到新引擎上,或者使用Solidity語言編寫新的合約。除了提供以太坊功能之外,Ethermint還可作為以太坊權益證明,讓我們一睹Casper在以太坊2.0中實現的樣子。
「區塊鏈互聯網」的承諾吸引了許多人使用Tendermint協議。互操作性是加密貨幣領域期待已久的一個補充,因為它意味著數百個單獨的區塊鏈將變得交叉兼容。
目前,Cosmos SDK已投入大量工作,Cosmos SDK是一個開源框架,讓任何人都能創建特定於應用程序的公共或私有區塊鏈。隨後,這些區塊鏈可以通過所謂的Cosmos Hub接入更廣泛的Cosmos網路,並在那裡與其他區塊鏈進行交流。
很多熱門的項目已經使用Cosmos SDK來構建,比如BSC、KAVA、Band Protocol、Terra和IRISnet。
作為一個區塊鏈引擎,Tendermint已經引起了加密貨幣領域眾多利益相關者的注意,包括開發人員和終端用戶。