《精通比特幣》第二版詞彙表

風靈使發表於2018-09-28

該部分包含了大部分與比特幣相關的術語。這些術語的使用貫穿於全書,所以對其進行標註以提供快速參考。

地址:

比特幣地址(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串字元和數字組成。它其實是通過對160位二進位制公鑰雜湊值進行base58check編碼後的資訊。就像別人向你的email地址傳送電子郵件一樣,他可以通過你的比特幣地址向你傳送比特幣。

bip:

比特幣改進提議 (Bitcoin Improvement Proposals的縮寫),指比特幣社群成員所提交的一系列改進比特幣的提議。例如,BIP0021是一項改進比特幣統一資源識別符號(URI)計劃的提議。

比特幣:

“比特幣”既可以指這種虛擬貨幣單位,也指比特幣網路或者網路節點使用的比特幣軟體。

區塊:

一個區塊就是若干交易資料的集合,它會被標記上時間戳和之前一個區塊的獨特標記。區塊頭經過雜湊運算後會生成一份工作量證明,從而驗證區塊中的交易。有效的區塊經過全網路的共識後會被追加到主區塊鏈中。

區塊鏈:

​ 區塊鏈是一串通過驗證的區塊,當中的每一個區塊都與上一個相連,一直連到創世區塊。

拜占庭將軍問題:

​ 一個可靠的計算機系統必須能夠處理一個或多個元件產生的失敗。一個失敗的元件可能表現出通常被忽略的行為型別,即傳送矛盾的資訊到系統的不同部分。處理這類失敗型別的問題抽象地被表達為拜占庭將軍問題。

coinbase:

​ 一個用於為創幣交易提供唯一輸入的特殊欄位。coinbase允許宣告區塊獎勵,併為任意資料提供多達100位元組。不要與創幣交易混淆。

Coinbase交易:

​ 區塊中的第一個交易。該交易是由礦工建立的,它包含單個coinbase。不要與Coinbase混淆

冷儲存:

​ 該術語指的是離線儲存比特幣。當比特幣的私鑰被建立,同時將該私鑰儲存在安全的離線環境時,就實現了冷儲存。冷儲存對於任何比特幣持有者來說是重要的。線上計算機在黑客面前是脆弱的,不應該被用於儲存大量的比特幣。

染色幣:

​ 比特幣2.0開源協議允許開發者在比特幣區塊鏈之上,利用它的超越貨幣的功能建立數字資產。

確認:

當一項交易被區塊收錄時,我們可以說它有一次確認。礦工們在此區塊之後每再產生一個區塊,此項交易的確認數就再加一。當確認數達到6及以上時,通常認為這筆交易比較安全並難以逆轉。

共識:

​ 當網路中的許多節點,通常是大部分節點,在其本地驗證的最長區塊鏈中都具有相同的區塊時,稱為共識。不要與共識規則混淆。

共識規則:

​ 全節點與其他節點保持共識的區塊驗證規則。不要與共識混淆。

難度:

​ 整個網路會通過調整“難度”這個變數來控制生成工作量證明所需要的計算力。

難度重定:

​ 全網中每新增2016個區塊,全網難度將重新計算,該新難度值將依據前2016個區塊的雜湊算力而定。

難度目標:

​ 使整個網路的計算力大致每10分鐘產生一個區塊所需要的難度數值即為難度目標。

雙重支付:

​ 雙重支付是成功支付了1次以上的情況。比特幣通過對新增到區塊中的每筆交易進行驗證來防止雙重支付,確保交易的輸入沒有被支付過。

ECDSA:

​ 橢圓曲線數字簽名演算法(ECDSA)是比特幣使用的加密演算法,以確保資金只能被其正確擁有者花費。

超額隨機數:

​ 隨著難度增加,礦工通常在迴圈遍歷4億次隨機數值後仍未找到區塊。因為coinbase指令碼可以儲存2到100位元組的資料,礦工開始使用這個儲存空間作為超額nonce空間,允許他們利用一個更大範圍的區塊頭雜湊值來尋找有效的區塊。

礦工費:

​ 交易的發起者通常會向網路繳納一筆礦工費,用以處理這筆交易。大多數的交易需要0.5毫比特幣的礦工費。

分叉:

​ 分叉也被稱為意外分叉,是在兩個或多個區塊擁有同一區塊高度時發生的,此時使區塊鏈產生了分叉。典型情況是兩個或多個區塊礦工幾乎在同一時刻發現了區塊。共識攻擊的情況下也會出現分叉。

創世塊:

​ 創世區塊指區塊鏈上的第一個區塊,用來初始化相應的加密貨幣。

硬分叉:

​ 硬分叉,也叫硬分叉改變,是區塊鏈中一個永久分歧。通常在已按照新的共識規則進行了版本升級的節點產生了新區塊時,那些未升級節點無法驗證這些新區塊時產生硬分叉。不要與分叉、軟分叉或者Git分叉混淆。

硬體錢包:

​ 硬體錢包是一種特殊的比特幣錢包,硬體錢包可以將使用者的私鑰儲存在安全的硬體裝置中。

雜湊:

​ 二進位制輸入資料的一種數字指紋。

雜湊鎖:

​ 雜湊鎖是限制一個輸出花費的限制物件,其作用一直持續到指定資料片段公開透露。雜湊鎖有一個有用的屬性,那就是一旦任意一個雜湊鎖被公開開啟,任何其他使用相同金鑰保護的雜湊鎖也可以被開啟。這使得可能建立多個被同一雜湊鎖限制的輸出,這些輸出將在同一時間被花費。

HD協議:

​ 層級確定性(HD)金鑰建立和傳輸協議(BIP32),該協議允許按層級方式從父金鑰建立子金鑰。

HD錢包:

​ 使用層級確定性(HD)金鑰建立和傳輸協議(BIP32)的錢包。

HD錢包種子:

​ HD錢包種子或根種子是一個潛在簡短的值,用於作為種子為HD錢包生成主私鑰和主鏈碼。

雜湊時間鎖定合約:

​ 雜湊時間鎖定合約(HTLC)是一類支付方式,其使用雜湊鎖和時間鎖來鎖定交易。解鎖需要接收方通過加密支付證明確認在截止日期之前收到了支付,或者接收方喪失了認領支付的能力,此時支付金額將返回給支付方。

KYC:

​ 充分了解你的客戶(KYC,Know yourcustomer)是一個商業過程,用於認證和驗證顧客的身份資訊。也指銀行對這些活動的監管。

LevelDB:

​ LevelDB是一個開源的磁碟鍵值對資料庫。LevelDB是一個重量輕、功能單一的永續性庫,可以繫結到許多平臺。

閃電網路:

​ 閃電網路是雜湊時間鎖定合約(HTLCs)的一種推薦實現方式。閃電網路通過雙向支付通道方式允許支付方通過多個點對點支付通道安全地路由支付。這樣就可以形成一個網路,該網路中的一方可以支付給其他任何一方,即使在他們雙方沒有直接建立支付通道的情況。

鎖定時間:

​ 鎖定時間(技術上來說是nLockTime)是交易的一部分,其表明該交易被新增至區塊鏈中的最早時間或區塊。

交易池:

​ 比特幣記憶體池是區塊中所有交易資料的集合,這些交易已經被比特幣節點驗證,但未被確認。

默克爾根:

​ 默克爾樹的根是樹的根節點,該節點為樹中所有節點對的多次雜湊計算結果。區塊頭必須包括區塊中所有交易雜湊計算得到的有效默克爾根。

默克爾樹:

​ 生成一棵完整的Merkle樹需要遞迴地對雜湊節點對進行雜湊,並將新生成的雜湊節點插入到Merkle樹中,直到只剩一個雜湊節點,該節點就是Merkle樹的根。在比特幣中,葉子節點來自於單個區塊中的交易。

礦工:

​ 一個為新區塊通過重複雜湊計算來尋找有效工作量證明的網路節點。

多重簽名:

​ 多重簽名指的是需要多於一個金鑰來驗證一個比特幣交易。

網路:

​ 傳播交易和區塊至網路中每個比特幣節點的點對點網路。

隨機數:

隨機數是比特幣區塊中一個32位(4位元組)的欄位,在設定了該值後,才能計算區塊的雜湊值,其雜湊值是以多個0開頭的。區塊中的其他欄位值是不變的,因為他們有確定的含義。

離線交易:

​ 離線交易是區塊鏈外的價值轉移。當在鏈交易(通常簡單來說就是一個交易)修改區塊鏈並依賴區塊來決定它的有效性時,離線交易則依賴其他方法來來記錄和驗證該交易。

操作碼:

​ 操作碼來源於比特幣指令碼語言,通過操作碼可以在公鑰指令碼或簽名指令碼中實現壓入資料或執行函式的操作。

開放資產協議:

​ 開放資產協議是一個建立在比特幣區塊鏈之上簡單有效的協議。它允許使用者建立資產的發行和傳輸。開放資產協議是顏色幣概念的一個進化。

OP_RETURN:

​ 一個用在OP_RETURN交易中的一種輸出操作碼。不要與OP_RETURN交易混淆。

OP_RETURN交易:

​ OP_RETURN在比特幣核心0.9.0中預設的一種被傳播和挖出的交易型別,在隨後的版本中新增任意資料至可證明的未花費公鑰指令碼中,全節點中無需將該指令碼儲存至他們的UTXO資料庫中。不要與OP_RETURN操作碼混淆。

孤塊:

​ 孤塊由於父區塊未被本地節點處理的區塊,所以他們還不能被完全驗證。

孤立交易:

​ 孤立交易是指那些因為缺少一個或多個輸入交易而無法進入交易池的交易。

交易輸出:

​ 交易輸出(TxOut)是交易中的輸出,交易輸出中包含兩個欄位:1.輸出值欄位:用於傳輸0或更多聰;2.公鑰指令碼:用於確定這些聰需在滿足什麼條件的情況下才可花費。

P2PKH:

​ 支付到比特幣地址的交易包含支付公鑰雜湊指令碼(P2PKH)。由P2PKH指令碼鎖定的交易輸出可以通過給出由相應私鑰建立的公鑰和數字簽名來解鎖(消費)。

P2SH:

​ P2SH是一種強大的、新型的、且能大大簡化複雜交易指令碼的交易型別。通過使用P2SH,詳細描述花費輸出條件的複雜指令碼(贖回指令碼)將不會出現在鎖定指令碼中。相反,只有贖回指令碼雜湊包含在鎖定指令碼中。

P2SH地址:

​ P2SH地址是基於Base58編碼的一個含有20個位元組雜湊的指令碼。P2SH地址採用“5”字首。這導致基於Base58編碼的地址以“3”開頭。P2SH 地址隱藏了所有的複雜性,因此,運用其進行支付的人將不會看到指令碼。

P2WPKH:

​ P2WPKH簽名包含了與P2PKH花費相同的資訊。但是簽名資訊放置於見證欄位,而不是簽名指令碼欄位中。公鑰指令碼也被修改了。

P2WSH:

​ P2WSH與P2SH的不同之處在於加密證據存放位置從指令碼簽名欄位轉變至見證欄位,公鑰指令碼欄位也被改變。

紙錢包:

​ 在大多數特定含義下,紙錢包是一個包含所有必要資料的檔案,這些資料用於生成比特幣私鑰,形成金鑰錢包。然而,人們通常使用該術語來表達以物理檔案形式離線儲存比特幣的方式。第二個定義也包括紙金鑰和可贖回編碼。

支付通道:

​ 微支付通道和支付通道是設計用於允許使用者生成多個比特幣交易,且無需提交所有交易至比特幣區塊鏈中。在一個典型的支付通道中,只有兩個交易被新增至區塊鏈中,但參與雙方可以生成無限制或接近無限制數量的支付。

礦池:

​ 礦池一種挖礦方式,在礦池中多個客戶端共同貢獻算力來產生區塊,然後根據貢獻算力大小來分配區塊獎勵。

權益證明:

​ 權益證明(POS)是一種方法,加密貨幣區塊鏈網路獲得分發共識。POS會讓使用者證明其擁有的資產總量(他們在數字貨幣中的權益)。

工作量證明:

​ 工作量證明指通過有效計算得到的一小塊資料。具體到比特幣,礦工必須要在滿足全網目標難度的情況下求解SHA256演算法。

獎勵:

​ 每一個新區塊中都有一定量新創造的比特幣用來獎勵算出工作量證明的礦工。現階段每一區塊有12.5比特幣的獎勵。

RIPEMD-160:

​ RIPEMD-160是一個160位的加密雜湊函式。RIPEMD-160是RIPEMD的加強版,其雜湊計算後的結果是160位雜湊值。通過RIPEMD-160加密期望能實現在未來的10年或更長時間都是安全的。

中本聰:

​ 中本聰有可能是一個人或一群人的名字。中本聰是比特幣的設計者,同時也建立了比特幣的最初實現,比特幣核心。作為實現的一部分,他們還發明瞭第一個區塊鏈資料庫。在這個過程中,他們是第一個為數字貨幣解決了雙花問題的人或組織。但他們的真實身份仍然未知。

指令碼:

​ 比特幣使用指令碼系統來處理交易。指令碼有著類Forth語言、簡單、基於堆疊以及從左向右處理的特點。指令碼故意限定為非圖靈完備的,沒有迴圈計算功能。

ScriptPubKey (公鑰指令碼):

​ 指令碼公鑰或者公鑰指令碼是包含在交易輸出中的指令碼。該指令碼設定了比特幣花費需滿足的條件。滿足條件的資料可以由簽名指令碼提供。

ScriptSig (簽名指令碼):

​ 簽名指令碼是有支付端生成的資料,該資料幾乎總是被用作滿足公鑰指令碼的變數。

祕鑰 (私鑰):

​ 用來解鎖對應(錢包)地址的一串字元,例如5J76sF8L5jTtzE96r66Sf8cka9y44wdpJjMwCxR3tzLh3ibVPxh+。

隔離見證:

​ 隔離見證是比特幣協議的一個升級建議,該建議技術創新性地將簽名資料從比特幣交易中分離出來。隔離見證是一個推薦的軟分叉方案;該變化將從技術上使得比特幣協議規則更嚴謹。

SHA:

安全雜湊是有NIST(國家標準技術研究所)釋出的加密雜湊函式族。

軟分叉:

​ 軟分叉是區塊鏈中的一個短暫分叉,通常是由於礦工在不知道新共識規則的情況下,未對其使用節點進行升級而產生的。不要與分叉、硬分叉、軟分叉或者Git分叉混淆。

SPV (簡化支付驗證):

​ 簡化支付驗證是在無需下載所有區塊的情況對特定交易進行驗證的方法。該方法被用在一些比特幣輕量級客戶端中。

舊塊:

​ 舊塊是那些被成功挖出,但是沒有包含在當前主鏈上的區塊,很有可能是同一高度的其他區塊優先擴充套件了區塊鏈長度導致的。

時間鎖:

​ 時間鎖是一種阻礙型別,用於嚴格控制一些比特幣只能在將來某個特定時間和區塊才能被支出。時間鎖在很多比特幣合約中起到了顯著的作用,包括支付通道和雜湊時間鎖合約。

交易:

​ 簡單地說,交易指把比特幣從一個地址轉到另一個地址。更準確地說,一筆“交易”指一個經過簽名運算的,表達價值轉移的資料結構。每一筆“交易”都經過比特幣網路傳輸,由礦工節點收集並打包至區塊中,永久儲存在區塊鏈某處。

交易池:

一個無序的交易集合,該集合未在主鏈的區塊中,但其有輸入交易。

圖靈完備:

​ 在給定足夠時間與記憶體的情況下,如果一個程式語言開發的程式能執行在圖靈機上,該程式語言就被稱為“圖靈完備”的程式語言,

UTXO (未花費交易輸出):

​ UTXO是未花費交易輸出,UTXO可以作為新交易的輸入。

錢包:

​ 錢包指儲存比特幣地址和私鑰的軟體,可以用它來接受、傳送、儲存你的比特幣。

WIF (錢包匯入格式):

​ 錢包匯入格式是一個資料交換格式,設計用於允許匯出和匯入單個私鑰,該私鑰通過標誌標明是否使用壓縮公鑰。

相關文章