位元幣的交易機制
如何交易:一位所有者(A)利用他的私鑰對前一次交易T1和下一位所有者(B)的地址簽署一個隨機散列的數字簽名,A將此資料簽名制作為交易單T2,并將交易單T2廣播全網,電子 貨幣就發送給了下一位所有者
■要點:
1.交易發起者的私鑰:私鑰為個人所知,他人無從知曉
2.前一次交易:前一次交易資料說明了該次交易的貨幣的來源
3.下一位所有者的地址:即交易接收方的地址,此資料說明了當前交易的目標是誰
4.數字簽名:發起方將前一次交易資料和接收方公鑰連接起來并對其求Hash值x ,再利用自己的私鑰對x加密,便得到了這份數字簽名

驗證交易:
1.利用交易T2中交易的發起方A的公鑰對簽名進行解密,得到整數X
2.將T1交易資料和B的公鑰連接起來,用同樣的Hash演算法計算Hash值y
3.若x==y,說明:
a.這筆交易確實是A本人發起的,因為只有A本人的私鑰才可以生成此簽名( A同時也無
法否認自己曾簽署了此份交易)
b.交易的目的方確實是B
c.發起方確實是打算把交易T1中A獲得的貨幣發送給B
雙重支付 ( Double Spend )
■二重支付(雙花) :指攻擊者幾乎同時將同筆錢用作不同交易或者抹掉自己曾經發給別人錢的記
雙花如何操作 :
■假設現在block高度為100,攻擊者給商戶發了一個交易10BTC, 記作交易A,通常這筆交易會被收錄進高度101的block中,當商戶在101 (著急了吧? )塊中看到這筆交易后,就把貨物給了攻擊者■此時,攻擊者便開始構造另個高度為 101的block, 但用交易B替換了交易 A.交易B中的輸入是同一筆,使得發給商戶的那筆錢發給他自己
■同時,攻擊者努力計算block 使得他的分支能夠趕上并超過主分支,如果最終大家接受其分支為主干分支,這筆錢就成功的完成雙重支付
雙重支付的難度
區塊鏈--位元幣的作業量證明_阿洋太愛大資料的博客-CSDN博客
雙花需要讓自己成為最長的鏈 ,其他節點才會切到這個最長鏈上 來,那么攻擊者必須在10分鐘內連續創建出6個(商戶在101塊中看到這筆交易后,繼續等待到106出塊成功且看到這筆交易沒變)合法Block才有可能將原鏈替換,這意味著攻擊者在10分鐘內產生的算 力需超過位元幣網路其他所有節點在60分鐘內算力的總和
面意味著攻擊者要能做出比誠實鏈長出7個區塊,才能讓其他節點切到這個非誠實鏈上,僅僅算出比誠實鏈長出2,3個區塊是不夠的,因為接受者通常會等6個確認(否則接受者看不到區塊中有自己的內容就不會發貨)
.位元幣網路Block鏈被增加6個后,Block鏈被修改的可能性概率基本降為0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/345823.html
標籤:區塊鏈
下一篇:區塊鏈作用
