什么是 BlockChain(區塊鏈)之二

昨天收到現金打賞,驚喜,感謝捧場!BlockChain 專題的所有內容,均為我的筆記(包括摘抄),原創部分不多,僅僅為梳理思路和分享。整個專題計劃分四部分,第一部分是介紹中本聰先生在《 Bitcoin: A Peer-to-Peer Electronic Cash System 》提出的解決方案要點;第二部分是整體描述解決方案(因為沒有第一部分的鋪墊第二部分的內容理解起來會比較晦澀);第三部分是分享實踐和案例;第四部分是思考和疑惑。

七 簡化的支付確認

這章的思路是:在某個環節認為之這個環節之前的所有結果都是對的,這樣驗證本次結果是對的,總體就是對的。同時在這個環節之后鏈接在后面的 Block 進一步輔證這個環節是正確的。

第六章講過節省磁盤空間的思路,可以對歷史數據進行壓縮,這樣節點可以選擇僅保存 Block 頭。這種情況下一個節點僅需要保存一份最長工作量證明鏈的區塊頭,得到本次擬新增 Block 待確認交易的Merkle Branch。該節點并不能自行檢查該交易的有效性,但是當它把這個 Merkle Branch 接到區塊鏈上,就能看出某個節點曾經認可過這個交易,并且其后創建的區塊進一步增強了認可。也就是說本次僅需要驗證 Merkle Tree 成立,則即認為響應 Block 上的交易是真的。如下圖中對交易 Tx3 的驗證。

當然這種驗證方式成立的前提是誠實的節點控制著整個網絡。但是,當全網被一個計算力占優的攻擊者攻擊時,此方法將較為脆弱。由于缺乏完整節點自行檢查交易有效性的能力,只要攻擊者擁有計算力優勢,簡化機制則會一直被攻擊者的偽造交易所欺騙。一個補償策略是,運行簡化機制的節點隨時接收其他節點發現無效區塊的警報,一旦收到警告則下載完整區塊及警告涉及的交易信息,以確認是否存在不一致。

對于擁有完成數據的節點,則驗證較為輕松。擁有完成數據的節點有能力回溯本次交易涉及的 BitCoin 的歷史情況,(回溯的范圍到第二部分再詳談)從而驗證本次交易的真實性。并在發現問題后還能協助整個網絡發起無效區塊報警。對于經常性大量收付的商業機構,適合于運行完整節點,以得到更獨立自主的安全保障和更快的交易檢驗。

八 價值的組合與分割

雖然理論可為每一枚電子貨幣單獨發起一次交易,但不提倡。為了使得交易中的價值易于組合與分割,交易被設計為可以包含多個輸入和輸出。經常會出現如下兩種情況:一個從前一個大的交易中分離出的單一價值做為本次的交易輸入,或由幾個價值較小的前次交易共同構成并行多輸入,但是輸出最多只有兩個:一個用于支付,另一個用于找零。即便一筆交易依賴于之前的多筆交易,并且這些交易又各自依賴于多筆交易,也并不會有性能問題。因為不會有回溯電子貨幣所有交易歷史的需要。

九 隱私保護

傳統的銀行模式為交易的參與者供了一定程度的隱私保護,因為試圖向可信任的第三方索取交易方的信息是嚴格受限的??墒侨绻麑⒔灰仔畔⑾蛉W廣播,就無法采用這種方式保護隱私。但是依然可以通過限制某種信息流動來保護隱私:將公鑰保持為匿名。公眾僅僅能看到某人將一定數量的貨幣給了另外一個人,但是難以將該交易同特定的人聯系在一起。這同股票交易機構公開發布股票交易信息是類似的,每一筆股票交易發生的時間、交易量等信息是記錄在案且可供公眾查詢的,但是交易雙方的身份信息卻不予透露。

作為一種額外的安全保障,用戶可以為每一次交易生成一對新秘鑰,以防止不同的交易被關聯到同一個擁有者。風險在于,交易的并行輸入(第八章提到的 input )使得追溯還是不可根本避免的,因為并行輸入表明這些貨幣同屬于一個所有者。這就會導致如果某人的一個公鑰被確認屬于他,那么他人可以查出此人的其它很多交易。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容