1. 程式人生 > >區塊鏈術語解釋

區塊鏈術語解釋

密碼學

計算上不可行:一個處理被稱為是計算上不可行,如果有人想有興趣完成一個處理但是需要採取一種不切實際的長的時間來做到這一點的(如幾十億年)。通常,2的80次方的計算步驟被認為是計算上不可行的下限。

雜湊:一個雜湊函式(或雜湊演算法)是一個處理,依靠這個處理,一個文件(比如一個數據塊或檔案)被加工成看起來完全是隨機的小片資料(通常為32個位元組),從中沒有意義的資料可以被複原為文件,並且最重要的效能是雜湊一個特定的文件的結果總是一樣的。

加密:與被稱為金鑰的短字串的資料相結合,對文件(明文)所進行的處理。加密會產生一個輸出(密文),這個密文可以被其他掌握這個鑰匙的人“解密”回原來的明文,但是對於沒有掌握鑰匙的人來說是解密是費解的且計算上不可行。

公鑰加密:一種特殊的加密,具有在同一時間生成兩個金鑰的處理(通常稱為私鑰和公鑰),使得利用一個鑰匙對文件進行加密後,可以用另外一個鑰匙進行解密。一般地,正如其名字所建議的,個人釋出他們的公鑰,並給自己保留私鑰。

數字簽名:數字簽名演算法是一種使用者可以用私鑰為文件產生一段叫做簽名的短字串資料的處理,以至於任何擁有相應公鑰,簽名和文件的人可以驗證(1)該檔案是由特定的私鑰的擁有者“簽名”的,(2)該文件在簽名後沒有被改變過。請注意,這不同於傳統的簽名,在傳統簽名上你可以在簽名後塗抹多餘的文字,而且這樣做無法被分辨;在數字簽名後任何對文件的改變會使簽名無效。

區塊鏈

地址:一個地址本質上是屬於特定使用者的公鑰的表現;例如,與上面給出的私鑰的相關聯的地址是cd2a3d9f938e13cd947ec05abc7fe734df8dd826。注意,在實際中,地址從技術上來說是一個公鑰的雜湊值,但為了簡單起見,最好忽略這種區別。

交易:一個交易是一個文件,授權與區塊鏈相關的一些特定的動作。在一種貨幣裡,主要的交易型別是傳送的貨幣單位或代幣給別人;在其他系統,如域名註冊,作出和完成報價和訂立合約的行為也是有效的交易型別。

區塊:一個區塊是一個數據包,其中包含零個或多個交易,前塊(“父塊”)的雜湊值,以及可選的其它資料。除了初始的“創世區塊”以外每個區塊都包含它父塊的雜湊值,區塊的全部集合被稱為區塊鏈,並且包含了一個網路裡的全部交易歷史。注意有些基於區塊鏈的加密貨幣使用“總賬”這個詞語來代替區塊鏈。這2者的意思是大致相同的,雖然在使用“總賬”這個術語的系統裡,每個區塊都通常包括每個賬戶的目前狀態(比如貨幣餘額,部分履行的合約,註冊)的全部拷貝,並允許使用者拋棄過時的歷史資料。

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

帳戶:帳戶是在總賬中的記錄,由它的地址來索引,總賬包含有關該帳戶的狀態的完整的資料。在一個貨幣系統裡,這包含了貨幣餘額,或許未完成的的交易訂單;在其它情況下更復雜的關係可以被儲存到賬戶內。

隨機數:在一個區塊裡的一個無意義的值,為了努力滿足工作證明的條件來進行調整。

挖礦:挖礦是反覆總計交易,構建區塊,並嘗試不同的隨機數,直到找到一個隨機數可以符合工作證明的條件的過程。如果一個礦工走運併產生一個有效的區塊的話,會被授予的一定數量的幣(區塊中的交易全部費用)作為獎勵。而且所有的礦工開始嘗試建立新的區塊,這個新區塊包含作為父塊的最新的區塊的雜湊。

陳腐區塊:對於同一個父塊,已經有另外一個區塊被創建出來之後,又被建立的區塊;陳舊區塊通常被丟棄,是精力的浪費。

幽靈(Ghost)協議:幽靈是一個協議,通過這個協議,區塊可以包含不只是他們父塊的雜湊值,也雜湊父塊的父塊的其他子塊(被稱為叔塊)的陳腐區塊。這確保了陳腐區塊仍然有助於區塊鏈的安全性,並減輕了大型礦工在快速區塊鏈上的有優勢的問題,因為他們能夠立即得知自己的區塊,因此不太可能產生陳腐區塊。

叔塊:是父區塊的父區塊的子區塊,但不是自個的父區塊,或更一般的說是祖先的子區塊,但不是自己的祖先。如果A是B的一個叔區塊,那B是A的侄區塊。

分叉:指向同一個父塊的2個區塊被同時生成的情況,某些部分的礦工看到其中一個區塊,其他的礦工則看到另外一個區塊。這導致2種區塊鏈同時增長。通常來說,隨著在一個鏈上的礦工得到幸運並且那條鏈增長的話,所有的礦工都會轉到那條鏈上,數學上分幾乎會在4個區塊內完結自己。

硬分叉:是當比特幣協議規則發生改變,舊節點拒絕接受由新節點創造的區塊的情況。違反規則的區塊將被忽視,礦工會按照他們的規則集,在他們最後見證的區塊之後建立區塊。

軟分叉:是當比特幣協議規則發生改變,舊的節點並不會意識到規則是不同的,它們將遵循改變後的規則集,繼續接受由新節點創造的區塊。礦工們可能會在他們完全沒有理解,或者驗證過的區塊上進行工作。

雙花:是一個故意的分叉,當一個有著大量挖礦能力的使用者傳送一個交易來購買產品,在收到產品後又做出另外一個交易把相同量的幣發給自己。攻擊者創造一個區塊,這個區塊和包含原始交易的區塊在同一個層次上,但是包含並非原始交易而是第二個交易,並且開始在這個分叉上開始挖礦。如果攻擊者有超過50%的挖礦能力的話,雙重花費最終可以在保證在任何區塊深度上成功。低於50%的話,有部分可能性成功。但是它經常在深度2-5上有唯一顯著的可能。因此在大多數的加密貨幣交易所,博彩站點還有金融服務在接受支付之前需要等待6個區塊被生產出來(也叫“6次確認”)。

比特幣等區塊鏈產品

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

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

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

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

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

難度調整:BTC整個網路每產生2,106個區塊後會根據之前2,106個區塊的算力進行難度調整。

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

雜湊:二進位制資料的一種數字指紋。

礦工:礦工指通過不斷重複雜湊運算來產生工作量證明的各網路節點。

網路:比特幣網路是一個由若干節點組成的用以廣播交易資訊和資料區塊的P2P網路。

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

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

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

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

SPV客戶端(或輕客戶端):一個只下載一小部分割槽塊鏈的客戶端,使擁有像智慧手機和膝上型電腦之類的低功率或低儲存硬體的使用者能夠保持幾乎相同的安全保證,這是通過有時選擇性的下載的小部分的狀態,而在區塊鏈驗證和維護時,不需要花費兆位元組的頻寬或者千兆位元組的儲存空間。

楔入式側鏈技術( pegged sidechains):它將實現比特幣和其他數字資產在多個區塊鏈間的轉移,這就意味著使用者們在使用他們已有資產的情況下,就可以訪問新的加密貨幣系統。

工作量證明(Proof-of-Work):一種共識機制,該機制是一方(通常稱為證明人)出示計算結果,這個結果眾所周知是很難計算的但卻很容易驗證的。通過驗證這個結果,任何人都能夠確認證明人執行了一定量的計算工作量來產生這個結果。

權益證明(Proof of Stake): 一種共識機制,該機制是當創造一個區塊時,礦工需要建立一個“幣權”交易,交易會按設定的比例把一些幣傳送給礦工本身,類似利息。

股份授權證明機制(DPOS): 一種共識機制,該機制讓每一個持有幣的人對整個系統資源當代表的人進行投票,而獲得最多票數的101個代表獲得進行交易打包計算的權利,而系統給予對應的獎勵。

RChain:是具有併發和分散式的區塊鏈。“分散式”指的是區塊鏈細分成組合件,它連成一個統一的整體,而不需要一次性全部計算(而比特幣區塊鏈則需要)。“併發”的意思是,這個分支使不同的程序能夠平行執行,而且不會互相干擾。

Rholang:是RChain的本土智慧合約語言(或程式語言),一種反射性的、高階過程程式語言,基於程序演算,允許程序的並行執行和在低階智慧合約基礎上組合高階智慧合約,以一種高效和安全的方式,允許在正常的驗證基礎上進行更好的安全性測試和模擬

SpecialK:一種分散式儲存技術的方法,它提供了一個單一領域的特定語言,為程式設計師們提供了一個熟悉的、統一的API,通過API他們可以訪問分佈在整個網路的資料。資料被分配時始終兼顧冗餘度和敏感度,確保隨時隨地有需求時它都是可用的,並且不需要時就會隱藏。

零知識證明: 證明者和驗證者之間進行互動,證明者能夠在不向驗證者提供任何有用的資訊的情況下,使驗證者相信某個論斷是正確的。

比特幣的可替換性(Fungibitlity):持有的比特幣不管之前曾進行過哪些交易歷史,包括可能涉及過毒品交易等,這都與剛挖出來的“原幣”一樣,完全可以平等替換。現在有交易所或其他服務公司會追蹤使用者賬戶比特幣的來源,一旦涉及犯罪,他們會不接受。

環簽名:因簽名中引數Ci(i=1,2,…,n)根據一定的規則首尾相接組成環狀而得名。其實就是實際的簽名者用其他可能簽字者的公鑰產生一個帶有斷口的環,然後用私鑰將斷口連成一個完整的環。任何驗證人利用環成員的公鑰都可以驗證一個環簽名是否由某個可能的簽名人生成。

隔離見證:Segregated Witness,簡稱SW。使用者在交易時,會把比特幣傳送到有別於傳統的地址。當要使用這些比特幣的時候,其簽署 (即見證)並不會記錄為交易ID的一部份,而是另外處理。也就是說,交易ID完全是由交易狀態 (即結餘的進出) 決定,不受見證部份影響。

閃電網路(Lightning Network):一個可擴充套件的微支付通道網路。交易雙方若在區塊鏈上預先設有支付通道,就可以多次、高頻、雙向地通過軋差方式實現瞬間確認的微支付;雙方若無直接的點對點支付通道,只要網路中存在一條連通雙方的、由多個支付通道構成的支付路徑,閃電網路也可以利用這條支付路徑實現資金在雙方之間的可靠轉移。

序列化:將一個數據結構轉換成一個位元組序列的過程。以太坊在內部使用的編碼格式稱為遞迴長度字首編碼(RLP)。

帕特里夏樹 (MPT):一種資料結構,它會儲存每個帳戶的狀態。這個樹的建立是通過從每個節點開始,然後將節點分成多達16個組,然後雜湊每個組,然後對雜湊結果繼續雜湊,直到整個樹有一個最後的“根雜湊”。該樹具有重要的特性:(1)只有正好一個可能的樹,因此,每個資料集對應一個可能的根雜湊(2)很容易的更新,新增,或者刪除樹節點,以及生成新的根雜湊,(3)不改變根雜湊的話沒有辦法修改樹的任何部分,所以如果根雜湊被包括在簽名的文件或有效區塊中話,簽名或工作證明可以擔保整個樹( 4)任何人只可以提供一個下到特定節點的分支,可以加密得證明擁有確切內容的節點的確是在樹裡。帕特里夏樹也被用來儲存賬戶,交易已經叔塊的內部儲存。在這裡能看到更詳細的說明。

帳戶隨機數:每個賬號的交易計數。這樣可以防止重放攻擊,其中一個交易傳送比如 20個幣從A到B,並可以被B重放一遍又一遍,直到不斷抽乾A的賬戶餘額。

EVM程式碼:以太坊虛擬機器程式碼,以太坊的區塊鏈可以包含的程式語言的程式碼。與帳戶相關聯的EVM程式碼在每次訊息被髮到這個賬戶的時候被執行,並且具有讀/寫儲存和自身傳送訊息的能力。

訊息:一種由EVM程式碼從一個賬戶傳送到另一個賬戶的“虛擬交易”。需要注意的是“交易”和“訊息”在以太坊種是不同的;在以太坊用語的“交易”具體指的是物理的數字簽名的一串資料,並且每個交易觸發相關聯的訊息,但訊息也可以通過EVM程式碼傳送,在這種情況下,它們從不表示成任何資料。

儲存:包含在每個帳戶裡的鍵/值資料庫,其中鍵和值都是32個位元組的字串,但可以以其他方式包含任何東西。

外部擁有賬戶:通過私鑰控制的賬戶。外部擁有賬戶不能包含EVM程式碼。

合約:一個包含並且受EVM的程式碼控制的賬戶。合約不能通過私鑰直接進行控制,除非被編譯成EVM程式碼,一旦合約被髮行就沒有所有者。

以太(Ether):以太坊網路的內部基礎的加密代幣。以太是用來支付交易和以太坊交易的計算費用。

瓦斯 (gas):大致相當於計算步驟的計量。每一筆交易需要包括瓦斯的限制,還有願意為每瓦斯支付的費用;礦工可以選擇是否收錄交易和收集費用。由包括原始訊息以及任何可能被觸發的子訊息的交易產生的計算所使用的瓦斯總量,如果大於或者等於瓦斯的限制,則交易被處理。除非交易仍然有效並且費用仍然被礦工收集,否則瓦斯的總量小於限制則所有變更被還原。每一個操作都有瓦斯支出;對於大多數操作,花費是1瓦斯,儘管一些昂貴的操作會支出高達100瓦斯,交易本身會有500瓦斯的支出。

延伸概念

分散化應用程式DApp:為了某些特定目的(如:在某些市場上連線買家和賣家,共享檔案,網路檔案儲存,維持貨幣),無論是使用還是建立一個分散的網路,由許多人來執行的程式。基於以太坊的分散式的應用程式(也稱為Đapps,其中Đ為北歐字母“eth”)通常包括一個HTML/ JavaScript的網頁,並且如果在以太瀏覽器內部檢視的話,可識別特殊的Javascript的API,用於傳送交易資料到區塊鏈,從區塊鏈讀取資料,和耳語,蜂群互動資料。一個Đapp通常在區塊鏈上有特定的相關合約,但有利於創造許多合約的Đapps是完全可能的。

分散化組織(GDO):一個沒有中央領導,而是使用正式民主投票程序和共識主動性自我組織的結合來作為其基本操作原則。一個不太令人印象深刻,但有時混淆的概念是“地理上的分散化組織”(GDO),組織里人在相距甚遠的地方工作,甚至可能都沒有辦公室; GDOs可能會有正式的中央領導。

忒修斯標準:用於查明一個組織的分散化程度的測試。測試如下:假設組織有N個人,然後外星人一次從組織中(比如每週一次)挑選K個人出來,摧毀他們存在,在每個群裡以K個對組織不瞭解的新人來代替。現在為了讓組織起作用,K可以高達多少人呢?在獨裁政權裡,當K=1即獨裁者被摧毀後就會失敗。美國政府稍微好一點,但如果參議院和國會的所有638成員突然消失了的話,仍然會有很大的問題。但像比特幣或BitTorrent即便對極高的K值也具有復原性,因為新的代理人可以簡單地根據自己的經濟動機來填補缺失的角色。還有一個更嚴格的測試,拜占庭忒修斯標準,它包含同一時間內隨機的用惡意行為者取代K個使用者一段時間,之後再替換成新使用者。

委任式民主(或流動式民主):一個對於DOs(分散式組織)和DAO(分散式自治組織)的治理機制,在預設情況下每個人對每件事情都投票,但在某些特定的問題上個人可以選擇特定的他人為他們投票。這個想法概括了以下2種民主的權衡,完全直接民主(每個人都有相同的權力)和專家意見/有某些特定人提供的快速決策能力(允許人們自己順從朋友,政治家,領域專家或者自己選擇的任何人)。

部分被投機市場控制的理論上的政府:最初是由Robin Hanson提出的,為了管理政治組織治理機制。但它實際上是非常適用DOs和DAO的:通過預測市場來管理。從根本上,一些易於衡量成功的標準被選擇,還有發行由成功標準的值來決定的代幣,這些代幣將在未來的某個時間(例如,1年後)被支付,對於每個可能要採取的行動都用一個這樣的代幣。這些代幣都被兌換為相應的美元代幣,如果相應的措施被執行,正好1美元會被支付 (如果相應的措施沒有被執行,這兩種型別的代幣支付0美元,所以正在被執行的行動的概率不會影響價格)。市場預計的行動將有最好的結果,當其代幣在市場上有高價格時會被執行。這提供了另一種自治的,選擇機制,同時獎勵專家的意見。

代幣制度:本質上是可以交易的虛擬代替物。更正式地說,代幣制度是一個數據庫,它對映地址到數字,並具有以下屬性,基本允許的操作是把N個代幣從A轉給B,條件是N是非負,且N不小於A的當前餘額,授權該轉賬的證件由A進行數字簽名。二次“發行”和“消費”的操作也可以存在,交易費用也可以被收集,許多當事人同時進行轉賬也是可能的。典型應用案例,包括貨幣,網路加密代幣,公司的股份和數字禮品卡。

身份:一組可以加密驗證的互動,具有同一個人建立的的屬性。

唯一的身份:一組可以加密驗證的互動,具有以下屬性:同一個人建立的。再加上一個人不能有多個唯一身份的約束。

激勵相容:如果每個人都更好的“遵守規則”而不是試圖欺騙,除非至少要大量的人都同意同時一起欺騙,那麼協議是激勵相容的。

基本收入:每隔一段時間(比如幾個月)就給每一個唯一的身份傳送一定量的代幣的想法。其最終目的是為了讓不願意工作或者不能工作的人能夠依靠這份津貼活下來。這些代幣可以簡單的憑空製作出來,或者來自收益流(比如來自創收實體或政府)。為了單靠基本收入使人能夠生活,可能會用到多個收益流的組合。

公益:一個為非常多的人提供了一個非常小的好處的服務。這樣就沒有任何個體對是否進行生產有影響力,因此也沒有人有動力來支付。

聲譽:身份的一個屬性,其他實體認為這個身份可以(1)勝任一些特定的任務,或(2)在一些情況下是值得信賴。比如說不太可能因為短期的獲利而出賣別人。

信任網路:如下的想法,如果A高度信任B,B高度信任C,則A可能是信任C的。為決定特定個體在特定概念下的可靠性的複雜而有力的機制,理論上可以由這個原則推斷出來。

第三方託管:如果兩個低信譽的實體所從事的貿易時,付款人可能希望把錢留在具有高信譽的第三方,並指示只有在產品交付後,才讓第三方把錢發給收款人。這減少了付款人或收款人欺詐的風險。

保證金:放入合約裡的涉及另外一方的數字資產,如果某些條件不滿足時,該資產會自動被對方沒收。

抵押:放入合約裡的涉及另外一方的數字資產,如果某些條件不滿足時,該資產會自動被銷燬或據獻給慈善或者基本收入基金。也許可以讓利益廣泛分配,但必須讓特定的個人不能顯著的受益。

參考:《node.js開發加密貨幣》
轉自:區塊鏈相關名詞解釋彙總