Bloom过滤器是一个允许用户描述特定的关键词组合而不必精确表述的基于概率的过滤方法。它能让用户在有效搜索关键词的同时保护他们的隐私。在SPV节点里,这一方法被用来向对等节点发送交易信息查询请求,同时...
精通比特币(53):简易支付验证(Simplified Payment Verification) SPV节点简介
并非所有的节点都有能力储存完整的区块链。许多比特币客户端被设计成运行在空间和功率受限的设备上,如智能电话、平板电脑、嵌入式系统等。对于这样的设备,通过简化的支付验证(SPV)的方式可以使它们在不必存储...
精通比特币(52):全节点如何同步区块链?
一个全节点连接到对等节点之后,第一件要做的事情就是构建完整的区块链。 如果该节点是一个全新节点,那么它就不包含任何区块链信息,它只知道一个区块——静态植入在客户端软件中的创世区块。新节点需要下载从0号...
精通比特币(51):比特币全节点简介
全节点是指维持包含全部交易信息的完整区块链的节点。更加准确地说,这样的节点应当被称为完整区块链节点”。在比特币发展的早期,所有节点都是全节点;当前的比特币核心客户端也是完整区块链节点。但在过去的两年中...
精通比特币(50):新节点如何发现比特币网络?
当新的网络节点启动后,为了能够参与协同运作,它必须发现网络中的其他比特币节点。新的网络节点必须发现至少一个网络中存在的节点并建立连接。由于比特币网络的拓扑结构并不基于节点间的地理位置,因此各个节点之间...
精通比特币(49):比特币传播网络
虽然比特币P2P网络服务于各种各样的节点类型的一般需求,但是对于比特币挖矿节点的专门需求,它显示出太高的网络延迟。 比特币矿业公司正在进行时间敏感的竞争,以解决工作证明问题,并扩大块状。在参加比赛时,...
精通比特币(48):扩展比特币网络
运行比特币P2P协议的比特币主网络由大约5000-8000个运行着不同版本比特币核心客户端(Bitcoin Core)的监听节点、以及几百个运行着各类比特币P2P协议的应用(例如Bitcoin Cla...
精通比特币(47):比特币网络中的节点类型及角色
尽管比特币P2P网络中的各个节点相互对等,但是根据所提供的功能不同,各节点可能具有不同的角色。每个比特币节点都是路由、区块链数据库、挖矿、钱包服务的功能集合。 比特币网络节点,具有所有四...
精通比特币(46):P2P网络架构
比特币采用了基于国际互联网(Internet)的P2P(peer-to-peer)网络架构。 P2P是指位于同一网络中的每台计算机都彼此对等,各个节点共同提供网络服务,不存在任何“特殊”...
精通比特币(45):具有流量控制的脚本
比特币脚本的一个更强大的功能是流量控制,也称为条件条款。您可能熟悉使用构造IF ... THEN ... ELSE的各种编程语言中的流控制。比特币条件条款看起来有点不同,但是基本上是相同的结构。 &n...