比特幣常用術語解釋

FLy_鵬程萬里發表於2018-06-12


前言

每一個領域都有每一個領域的專業術語,比特幣領域也一樣,在這一節我們將簡單的介紹一些比特幣中經常會涉及到的術語。

術語

地址:

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

bip:

比特幣改進提議(Bitconin 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錢包:

使用建立層次確定的鑰匙和BIP32傳輸協議的錢包。

HD錢包種子:

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

雜湊時間鎖定合約:

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

KYC

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

LevelDB:

LevelDB是一個開源的硬碟鍵值對資料庫,LevelDB是一個用於持久化繫結多個平臺的輕量級、單用途的庫。

閃電網路:

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

鎖定時間:

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

交易池:

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

默克爾根:

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

默克爾樹:

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

礦工:

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

多重簽名:

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

網路:

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

隨機數:

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

離線交易:

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

操作碼:

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

開放資產協議:

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

OP_RETRUN:

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

OP_RETRUN交易:

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(錢包匯入格式):

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

相關文章