官术网_书友最值得收藏!

第八節(jié) Merkle樹和簡單支付驗(yàn)證(SPV)

Merkle樹被SPV節(jié)點(diǎn)廣泛使用。SPV節(jié)點(diǎn)不保存所有交易,也不會下載整個(gè)區(qū)塊,僅僅保存區(qū)塊頭。它們使用認(rèn)證路徑或者M(jìn)erkle路徑來驗(yàn)證交易存在于區(qū)塊中,而不必下載區(qū)塊中的所有交易。

例如,一個(gè)SPV節(jié)點(diǎn)欲知它的錢包中某個(gè)比特幣地址即將到達(dá)的支付,該節(jié)點(diǎn)會在節(jié)點(diǎn)間的通信鏈接上建立起B(yǎng)loom過濾器,限制只接受含有目標(biāo)比特幣地址的交易。當(dāng)節(jié)點(diǎn)探測到某交易符合Bloom過濾器的過濾條件時(shí),它將以Merkle區(qū)塊消息的形式發(fā)送該區(qū)塊。Merkle區(qū)塊消息包含區(qū)塊頭和一條連接目標(biāo)交易與Merkle根的Merkle路徑。SPV節(jié)點(diǎn)能夠使用該路徑找到與該交易相關(guān)的區(qū)塊,進(jìn)而驗(yàn)證對應(yīng)區(qū)塊中該交易是否存在。SPV節(jié)點(diǎn)同時(shí)也使用區(qū)塊頭去關(guān)聯(lián)區(qū)塊和區(qū)塊鏈中的區(qū)域區(qū)塊。這兩種關(guān)聯(lián),交易與區(qū)塊、區(qū)塊和區(qū)塊鏈,證明交易存在于區(qū)塊鏈。簡而言之,SPV節(jié)點(diǎn)會收到少于1KB的有關(guān)區(qū)塊頭和Merkle路徑的數(shù)據(jù),其數(shù)據(jù)量只約占一個(gè)完整的區(qū)塊(目前大約有1MB)的1/1000。

主站蜘蛛池模板: 犍为县| 中阳县| 宾阳县| 平和县| 宝兴县| 荔波县| 海南省| 海原县| 灵璧县| 南安市| 福建省| 林周县| 陆良县| 淄博市| 德惠市| 合水县| 六枝特区| 惠水县| 文化| 乐都县| 石阡县| 镇雄县| 菏泽市| 朔州市| 海兴县| 青神县| 辽中县| 罗山县| 安达市| 壶关县| 永兴县| 绵阳市| 靖边县| 平江县| 桐梓县| 贡山| 浮梁县| 福贡县| 隆子县| 玉门市| 镇安县|