內容整理自 北京大學肖臻老師《區塊鏈技術與應用》公開課 06-btc-網路新發布的區塊,交易在網路上是如何傳播的?
the bitcoin network
network layer:p2p overlay network
設計原則:******,robust but not efficient。每個節點維護乙個鄰居節點的集合,訊息傳播在網路中採取floading的方式。節點第一次聽到某個訊息時,把它傳播給所有鄰居節點,同時記錄下該訊息已經收到過,當下次再收到時就不會**給鄰居節點。鄰居節點的選取是隨機的,沒有考慮底層的拓撲結構,例如乙個在加利福尼亞的節點,他選取的鄰居節點可能在阿根廷,這樣的好處是增強robust,犧牲了efficient,你向身邊的人轉賬和你向遠處某地的人轉賬速度差不多。
位元幣系統中每個節點要維護乙個等待上鏈的交易的集合,該集合中的交易都是等待要寫入區塊鏈的。第一次聽到某個交易時,把交易寫入該集合,並**交易給鄰居節點,以後再收到該交易不再**,避免交易在網路上無線傳輸下去。**前提是交易是合法的,比如合法的簽名,以前沒有被花過。
可能會出現risk condition,就是出現兩個有衝突的交易,幾乎同時被廣播到網路上,比如交易1)a-->b,交易2)a-->c(假設兩個交易花的是同乙個幣),那麼每個節點根據在網路中的位置不同,有的可能先收到1)交易,有的可能先收到2)交易,並加入到集合中,之後再收到另外乙個交易時,就認為是非法的,不予理會。
如果集合中的交易或者與其衝突的交易被寫到區塊鏈中,那麼該交易就會從集合中刪掉。比如新發布的區塊裡面包含交易1),那麼該交易就會從集合中刪掉;如果新發布的區塊包含交易2),交易1)同樣被刪掉,因為此時該交易是非法交易。
新發布的區塊在網路上的傳播與節點類似,每個節點除了檢查區塊的內容合法性之外,還要檢查是否是在最長合法鏈上。
越大的區塊傳播速度越慢,位元幣協議限制區塊大小最大為1m。因為位元幣網路採用的這種傳播方式非常消耗頻寬,頻寬是瓶頸,按照1m的區塊大小來算,乙個新發布的區塊可能需要幾十秒才能傳播到網路上的絕大多數節點。
位元幣網路的傳播屬於best effort。乙個交易發布到位元幣網路上,不一定所有節點都收到,而且不同節點收到交易順序也不一樣,網路傳播存在延遲,也不是所有節點都按照位元幣協議規定去**,比如不**合法交易,或**非法交易。
btc位元幣 錢包簡介
那麼支援bip39有何重大意義呢?舉個例子 你所用的錢包商跑路了,怎麼辦?都說錢包商拿不到你的資產,且不說這個問題。最最重要的是你怎麼拿到你的資產呢?你有助記詞又能怎樣,它不符合bip39的標準你將如何辦,只能找到與跑路錢包商相同協議的錢包或者途徑進行匯入,還要期待這個協議是不可逆的不然錢包商真的可...
位元幣(BTC)是什麼
一 位元幣 btc 是什麼?1 2008年11月1日,中本聰 中提出了一種去中心化的電子記賬系統 2 記賬系統中每個人都會把自己的交易記錄廣播出去,大約4000條交易記錄會被打包成乙個 區塊 3 新的區塊不斷連線到之前的舊塊後,就形成了乙個區塊鏈 q1 因為網路延遲,每個人的記賬順序可能不一樣,以誰...
位元幣網路
使用者把交易發到位元幣網路上,節點收到交易後把他們打包到區塊裡,然後把區塊發到位元幣網路上。那麼新發布的交易和區塊在網路上是如何傳輸的?簡單 魯棒而不是高效。每個節點維護乙個鄰居節點的集合,訊息傳播在網路中採取的是flooding方式,節點第一次聽到某個訊息的時候,把它傳播給所有的鄰居節點,同時記錄...