幣圈用語進階版,看懂白皮書常用的技術詞彙(下篇) 幣坊財經
幣圈用語進階版,看懂白皮書常用的技術詞彙(下篇)
上回介紹「雜湊函數」、「拜占庭容錯」以及「 51% 攻擊」後,本篇將繼續解說常見的技術詞彙。

一、零知識證明

多數匿名幣,或是能夠實現隱私功能的底層鏈,都會用到這個詞彙。 Google 母公司 Alphabet Inc. 的總裁 Sergey Brin 也公開表示:「零知識證明太不可思議!」。那麼,究竟什麼是零知識證明呢?

零知識證明 (Zero-Knowledge Proofs)的定義為「證明者能夠在不向驗證者提供任何有用的訊息的情況下,使驗證者相信某個論斷是正確的。」

定義通常比較抽象,這邊引用麻省理工學院多媒體實驗室(MIT Media Lab)對零知識證明的解釋:

 A 手上有兩顆撞球,分別是綠色和紅色,除了顏色之外這兩顆撞球一模一樣。假設 B 是紅綠色盲,就 B 看來 A 手上拿的是兩顆一模一樣的撞球。 A 是否能在不提到任何顏色資訊的前提下,說服 B 相信這兩顆球顏色不同?

當然可以!只要把兩顆球交給 B ,然後 B 將球拿到背後,隨意變換左右順序之後,再拿出來讓 A 「猜」原本在左手的球,現在換到了哪一手。對 A 來說,一眼就可以判斷球的顏色,指出球的位置,根本不用猜。但是就 B 看來,完全相同的兩顆球,不論怎麼換都會被猜到。這對色盲來說簡直不可思議!只要重複做幾次測試, A 就能向 B 證明,這兩顆球肯定有哪裡不同,只是 B 看不出來。證明過程中 A 也完全沒有透露任何關於顏色的資訊。

說起零知識證明在區塊鏈的應用,就不得不提到 Zcash 的 zk-SNARKs ,這是許多零知識證明的做法之一,也是最有名的一個。 Zcash 的理念,是在實現點對點電子現金系統的同時,實現完整的隱私保護。與比特幣相比, Zcash 集成了一種巧妙機制,在轉賬時自動隱藏發送方、接收方的地址,甚至轉賬金額,僅限定持有瀏覽權限秘鑰的人員查看。而且可達成任意等級的強隱私保護。

二、私鑰

私鑰 (private key) 的概念其實是踏入虛擬貨幣的入門知識。但是由於如今虛擬貨幣交易所如雨後春筍般開了一間又一間。這些交易所為了讓使用者容易註冊,通常會簡化私鑰操作,甚至不介紹私鑰,只提供虛擬貨幣地址的功能,以致許多幣圈人,也許買賣虛擬貨幣已久,卻誤解了私鑰的意義。

私鑰是一段由電腦隨機產生的亂數,包含了大約五十個數字和大小寫字母, 沒有固定的邏輯和規則,所以很難記住。以下用圖例說明對錢包常見的錯誤認知:

 

首先比特幣並非保管於 A 的錢包中,若是這樣,區塊鏈就不會是分散式的記帳本了。同理, A 打幣給 B ,也不會是從 A 的錢包轉移到 B 的錢包。比較正確的示意圖如下:

 

 A 使用錢包管理自己的私鑰,解鎖分散式帳本中的比特幣,將所有權轉移給 B ,所有權轉移時,會加上 B 的私鑰才能開啟的鎖。

私鑰的作用相當於金融卡提款或消費的密碼,可以給交易訊息簽名,以證明訊息的發布者是相應位址的所有者。私鑰必須保密,任何人只要擁有某一位址的私鑰,即可使用其比特幣。也不能遺失,若比特幣的私鑰遺失,將如同忘記保險箱的密碼,無法正常打開取用保險箱內的物品,而且沒有方法可以重設。

三、礦工費

由於目前多數的 ICO 項目還是接收以太幣,很多人搞不清楚,為何在以太坊網路上,明明是用 ETH  (以太幣) 來支付礦工費,卻常常看到 Gas 以及許多由 Gas 衍生的詞。本篇文章的最後,就來給大家釋疑:

當要傳送以太幣時,有兩個欄位與礦工費有關,分別是「Gas Limit」和「Gas Price」。其公式如下:

Gas Fee = Gas Limit x Gas Price

 Gas Fee 就是礦工費,計算方式是 Gas Limit 乘上 Gas Price 。若是 Gas Limit 設定太低,或是餘額不足導致交易失敗,礦工費也不會退還,還是必須為區塊鏈已進行的運算支付手續費。

而 Gas Limit 是在這筆交易中,使用者願意支付 Gas 單位的最大數量。完成一筆交易所需的 Gas 單位數量,取決於交易的複雜程度。當一筆交易越複雜,就必須要耗費較多的運算資源,因此需要花費較多 Gas。

特別要注意的是,當設定的 Gas 單位不夠多時,將會導致交易失敗。 21,000 是一般轉帳交易的 Gas Limit 預設值,參與某些比較受關注的 ICO 或是使用 DApp ,可能需要設置更高的 Gas Limit 。基本上不需要擔心把 Gas Limit 設定得太高,如果有 Gas 沒被用完,會在交易完成之後退還。

 Gas Price 則是每個單位 Gas 的價格,以 Gwei 表示。 1 Gwei = 0.000000001 ETH 。 Gas Price 影響到交易被礦工打包放上區塊鏈的速度。設的越高,就給礦工更大的誘因打包;設的低就要等待比較長的時間。也就是說,想節省礦工費,應該調低 Gas Price 而不是 Gas Limit ,如果調低 Gas Limit 可能會無法滿足完成交易所需的 Gas ,導致交易失敗。