区块链技术5--BTC网络
1BTC網絡的工作過程:
用戶將交易發布到BTC網絡上,節點收到交易后打包到區塊,然后將區塊發布到BTC網絡上。
2BTC網絡的工作原理:
比特幣工作于網絡應用層,其底層(網絡層)是一個P2P Overlay network(P2P覆蓋網絡)。比特幣系統中所有節點完全平等,不像一些其他網絡存在超級節點(super node)。要加入網絡,至少需要知道一個種子節點,通過種子節點告知自己它所知道的節點。節點之間的通信采用了TCP協議,便于穿透防火墻。當節點離開時,只需要自行退出即可,其他節點在一定時間后仍然沒有收到該節點消息,便會將其刪掉
比特幣網絡設計原則:簡單、魯棒(最壞情況下能達到最優狀況,即健壯性)而非高效。 每個節點維護一個鄰居節點集合,消息傳播在網絡中采用flooding,某個節點在收到一條消息會將其發送給所有鄰居節點并標記,下次再收到便不會再發送該消息。鄰居節點選取隨機,未考慮網絡底層拓撲結構(一個在加利福尼亞的節點的鄰居節點可能在阿根廷),也與現實世界物理地址無關。該網絡具有極強魯棒性,但犧牲了網絡效率。
比特幣系統中,每個節點要維護一個等待上鏈的交易集合。第一次聽到交易,若是合法交易,則將其加入該交易集合并轉發給鄰居節點,以后再收到該交易就不再轉發(避免網絡上交易無線傳輸)。假如網絡中存在兩個沖突交易,如交易1:A->B,交易2:A->C(假設花費的同一筆錢)。具體接收哪個取決于節點先接收到哪個交易,之后收到另一個交易會將其放棄。
假如某個節點先聽到A->B,但又聽到A->C已經上鏈,則此時A->B為非法交易,所以要在等待上鏈交易集合中刪除A->B新發布區塊在網絡中傳播方式與新發布交易傳播方式類似,每個節點除檢查該區塊內容是否合法,還要檢查是否位于最長合法鏈上。區塊越大,則網絡上傳輸越慢。BTC協議對于區塊大小限制為不大于1M大小。
區塊大小越大,網絡上傳播時延越長;區塊大小越小,則可以包含的交易數目就會越少。此外,比特幣網絡傳播屬于 Best effffort(盡力而為) ,不能保證一定傳輸成功。以一個交易發布到網絡上,未必所有節點都能收到,也未必所有節點收到交易順序都一致。
總結
以上是生活随笔為你收集整理的区块链技术5--BTC网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019 A Review of Mac
- 下一篇: 部门数据库设计