美文网首页
自学区块链(五)BTC-网络

自学区块链(五)BTC-网络

作者: 阿根廷香蕉 | 来源:发表于2019-08-28 07:38 被阅读0次

BTC-网络

新发布的区块、交易在BTC网络是怎么传播的呢?下面先看BTC网络的工作原理:BTC工作在应用层。底层是网络层

应用层(application layer):运行BTC协议

网络层(network layer):P2P Overlay Network(BTC中的节点地位是平等的,没有超级节点)

如何加入网络

加入网络需要知道一个种子节点(seed node),它会告诉你它所知道的其他节点,节点之间是通过TCP协议来传输的(有利于穿透防火墙)

离开网络不用做什么操作,直接退出程序就行,其他节点一段时间没有收到你的消息,会自动删除。

设计原则

设计原则是:简单、鲁棒性(robust),而不是高效

消息传播

消息传播采取 flooding的方式,邻居节点选取是随机的,如果该节点后面再收到这个消息就不会转发给邻居节点。

flooding:是指从任何节点通过一个路由器发送的信息包会被发送给与该路由器相连的所有其他节点(除了发送信息包出来的那个节点)。flooding是快速散布路由更新信息到整个大型网络的每个节点的一种方法。它有时也被用于多点传输信息包(在真实或虚拟网络中从一个来源节点传输到许多特定节点)。

BTC系统中节点要维护一个等待上链的交易的集合,第一次听到这个交易,节点会加入集合并转发给其他邻居节点(当然前提是交易合法),如果已经写到区块链中那么就从中删掉该交易。 

遇到有冲突的交易,会根据收到消息不同时间,每个节点存入等待上链的交易的集合可能不一样(先收到的会存入,后面的认定非法交易),具体写入哪一个需要看哪个节点先拿到记账权。

BTC协议规定最大区块大小是1M,在整个系统中带宽是瓶颈,可能1M大小的交易信息的区块传播给全网绝大多数节点需要十几秒。

相关文章

  • 自学区块链(五)BTC-网络

    BTC-网络 新发布的区块、交易在BTC网络是怎么传播的呢?下面先看BTC网络的工作原理:BTC工作在应用层。底层...

  • 自学区块链(四)BTC-实现

    BTC系统维护的数据结构 BTC的全节点会要维护一个UTXO(没被花掉的交易的输出的集合)的数据结构,作用是快速检...

  • 自学区块链(七)BTC-挖矿

    BTC系统中的两种节点 全节点的要求 默认情况下是沿着最长合法链挖下去,出现分叉也是根据自己先接受到哪一个就选哪一...

  • 自学区块链(六)BTC-挖矿难度

    我们来看下挖矿的计算公式 H(block header)target,这个target就是目标阈值 BTC用的哈希...

  • 网络支付区块链开发,搭建区块链支付平台

    网络支付区块链开发,搭建区块链支付平台 网络支付区块链开发,搭建区块链支付平台开发,随着区块链支付的发展,区块链分...

  • 0. 各类区块链测试网络搭建指南

    各类区块链测试网络搭建指南 本教程用于指导新手如何搭建各类区块链测试网络。 区块链种类包括:以太坊、EOS 等。 ...

  • 2018-10-02小白学区块链——什么是主链

    一,什么是主链 主链可以理解为正式上线的、能独立自主的区块链网络。是区块链社区公认的可信区块链网络,其交易信...

  • 使用Java编写自己的区块链

    关于区块链技术,网络上有很多入门、科普的文章,如果大家对于区块链感兴趣,应该已经通过网络了解区块链的基本概念了,这...

  • 2.3 Hyperledger Fabric - 核心概念 -

    核心概念 - 区块链网络 本主题将从概念上描述 Hyperledger Fabric 如何允许组织在形成区块链网络...

  • 2018-11-09

    区块链开发 一、区块链快速入门 区块链入门系列博客主要根据《区块链技术指南》(杨宝华)学习而来,同时参考了部分网络...

网友评论

      本文标题:自学区块链(五)BTC-网络

      本文链接:https://www.haomeiwen.com/subject/pmzlectx.html