天天看點

大一小白區塊鍊,學習筆記 簡述數字簽名,spv節點 no#2# (也許有錯誤)

本人大一新生,十分喜歡區塊鍊技術,同時也看好其未來的發展。會大概每周更新一次學習成果。歡迎喜歡的朋友可以找我一起讨論,我的QQ824389855 本小白剛開始學習 如果有錯誤也請大神指出,一定洗耳恭聽。

區塊不是比特币, 雜湊演算法不可逆。

正文

數字簽名

解釋:數字簽名是指使用者用自己的私鑰對原始資料的哈希摘要(Hash digest)進行加密所得的資料。(比特币系統使資料有價值)

資訊接收者(即收款方)使用資訊發送者(付款方)的公鑰對附在資訊後的數字簽名進行解密後獲得哈希摘要。通過與自己用收到的原始資料産生的哈希摘要對照,需要确定:

1資訊是由簽名者發送的(身份驗證、不可抵賴性).

2資訊自簽發後到收到為止未曾信得過任何修改(完整性)。

Spv輕節點

不運作完整節點,進行支付驗證。(隻判斷是否交易也被驗證,以及得到了多少算力保護。)

原理

(block header中有三個關鍵字段,一是prev_block_hash(前一區塊確定交易次序);二是bits(目前區塊計算難度);三是(merkle樹))

驗證方式

1.從網絡擷取并下載下傳最長頭哈希至本地。

2.計算該交易的哈希值 。

3.定位該哈希值,所在區塊。驗證其頭哈希是否在已知最長鍊中。(但是如何通過哈希值定位到區塊,在以往的比特币協定中缺少支援。)

4.從區塊中擷取merkle樹的哈希值。

5.計算merkle根,和區塊頭中merkle根比較。

6.同時根據所在位置确定有多少算力保護。(因為其他節點的認證方式是在其之後延長區塊鍊,是以根據51%算力可以确定交易真實存在。)

優點 節約空間,因為頭哈希的大小不變。

UTXO(未花費的交易輸出)

區塊鍊由區塊連接配接而成,區塊中有若幹筆交易記錄。其中的交易記錄由兩部分築成,資金去向和資金來源.術語叫:Tx_out(交易輸出)Tx_in(交易輸入)其中來源和去向都可以是多方的(還存在找零機制)。除創世塊(區塊鍊開始的區塊)外,每筆交易必須有資金來源。

資金來源有兩種

1挖礦獎勵。

2未曾使用的交易輸出即UTXO:

Tx_out包含兩個部分分别是傳遞金額和支配權(就是誰可以用)。而收款權由比特币系統的腳本系統來實作(具體實作看收款方的位址是否為多重簽名)。一個完整錢包存有所有UTXO和對應私鑰(錢包會使用多對一将零散的UTXO,結合為一個,減少儲存。同時也可以将大額拆分為零散。),同時為安全考慮可能把錢包分為兩個部分,線上(公開)錢包隻有UTXO,而離線錢包(冷儲存)儲存私鑰用于簽名(非對稱行加密的特點私鑰保密即安全)。

總體來說使用者所謂錢包中的比特币實際是使用者擁有支配權且尚未花費的TX_out的金融總和比特币或者說虛拟貨币的本質就是擁有支配權的有價值資料。

參考文獻;http//www.8btc.com/spv_spv_node_and_spv_wallet.

精通比特币