使用者把交易發到位元幣網路上,節點收到交易後把他們打包到區塊裡,然後把區塊發到位元幣網路上。那麼新發布的交易和區塊在網路上是如何傳輸的?
簡單、魯棒而不是高效。每個節點維護乙個鄰居節點的集合,訊息傳播在網路中採取的是flooding方式,節點第一次聽到某個訊息的時候,把它傳播給所有的鄰居節點,同時記錄一下這個訊息我已經收到過,下次再收到這個訊息就不再**。鄰居節點的選擇是隨機的,沒有考慮底層的拓撲結構,比如加利福尼亞的節點擊的鄰居節點可能在阿根廷,這樣設計的好處是增強魯棒性,但是犧牲的是效率,你向身邊的人轉賬和美國的人轉賬速度是差不多的。位元幣系統中,每個節點要維護乙個等待上鏈的交易的集合,第一次聽到某個交易的時候,把這個交易加入集合,並且**這個交易給鄰居節點,以後再收到這個交易就不**,這樣避免交易在網路中無效傳播,**的前提是交易是合法的。這裡有乙個risk condition(風險狀況),有可能兩個有衝突的交易同時被廣播到網路上,比如有乙個交易是a→b,另外乙個交易是a→c,它們用的是同乙個輸出,每個節點根據在網路中的位置的不同,有的可能先收到前者,有的可能先收到後者,收到後加入等待上鏈的交易的集合,下次收到另外乙個交易的時候就認定是非法的,就不管了。集合中的交易如果被寫到區塊鏈中就要被刪掉,比如說有個節點聽到新發布的區塊裡面包含了a→b這個交易,這個交易在自己的等待上鏈的交易的集合中,就會被集合刪掉,如果它聽到的新發布的區塊是a→c這個交易,也會把a→b給刪掉,因為它是非法的。新發布的區塊在網路中傳播的方式和新發布的交易類似,每個節點除了要檢查區塊的內容的合法性,還要檢查是不是在最長合法鏈上,越是大的區塊在網路上傳播的速度越慢,位元幣協議對區塊大小有乙個1m的限制。
位元幣網路的傳播是屬於best effort,乙個交易被發布到位元幣網路上,不一定所有節點都能收到,而且不同節點收到這個交易的順序也不一定一樣,網路傳播存在延遲,可能會很長,而且有的節點可能不會按位元幣協議的要求進行**,比如有的該**不**,導致別的節點收不到合法交易;有的**不該**的,像不合法交易,這個是面臨的實際問題。
位元幣 位元幣的實現
位元幣系統是乙個基於交易的賬本,這意味著儲存在賬本中的是一筆筆交易。那麼在使用者進行轉賬交易時,首先就需要確保使用者所持有的數量要大於或等於將要交易的。這要做的目的是為了避免雙花問題。這種基於交易的賬本好處在於隱私保護性比較好,缺點在於每次交易都需要說明幣的 在位元幣的全節點中,會在記憶體中維護乙個...
位元幣簡單概念 位元幣是啥幣?
閒來無事,密碼技術 的確是本科普密碼學的好書,安利一波。看到最近大熱的位元幣,挺有趣,看看一些基礎概念,豐富下見識。簡寫bitcoin 位元幣的交易是在位址的基礎上實現的。那是怎樣的乙個交易流程呢?emmmm,這個也很好理解滴。假如你去去買一包辣條,老闆生成乙個位址,然後告訴你,你生成乙個位址,向老...
位元幣是什麼?怎麼購買位元幣?
據duneanalytics的資料,位元幣交易在以太坊上的數量增長了45 在defi熱潮中,位元幣持有者對回報的追求正在增加。現在,老三eos已經漸行漸遠,還被淘汰出主流貨幣 波場孫哥在搶占市場的腳步愈加激烈,sun在加持下,誓言要與以太坊一較高下 以太坊雖然尚未進入它的2.0時代,但defi下的菜...