比特币交易的生命周期(2)

 

将交易广播到比特币网络

首先,交易需要送达比特币网络,这样才能被传播出去并被加入区块链。本质上,一个比特币交易只有300到400字节的数据,需要传播到成千上万的比特币节点。发送者无须委托广播交易的任何节点,只要它们使用超过一个节点确保交易能被传播出去就行。接收节点也不需要信任发送者或者确认它们的“身份”,因为交易已被签名并且不含任何机密信息,比如私钥、证书,交易可以通过任何方便的底层网络传输协议进行公开传播。信用卡交易由于包含敏感信息,只能通过加密网络传输数据,而比特币交易可以在任何网络上传输数据。只要交易送达能将其传播到比特币网络的节点,至于它是如何传递到第一个节点的,并不重要。

比特币交易可以通过某些不安全的网络传输到比特币网络中,比如Wi-Fi、蓝牙、近距离无线通信技术(NFC)、线性调频、条形码,甚至可以复制粘贴到一个web表单中。在极端情况下,比特币交易还可以通过无线电分组交换网、卫星中继、突发短波、扩频,或者防止检测和干扰的跳频的方式进行数据传输。比特币交易甚至也可以编码为一段表情符号(情感符),发布到公共论坛上,或者以文本消息或者Skype消息的形式发送。比特币将货币转换成一种数据结构,实际上已经无法阻止任何人创建或执行比特币交易。

blob.png

交易在比特币网络中传播

一旦比特币交易发送到任意一个与比特币网络相连的节点,交易就将被这个节点进行验证。如果有效,这个节点会继续将其传播到其他相连的节点上,交易发起者也会同步接收到一个成功应答。如果交易被验证为无效,接收节点将拒绝交易,并返回一个拒绝交易的消息给交易发起者。

比特币网络是一个点对点网络《比特币白皮书:一种点对点的电子现金系统》,意味着每个节点均会与一些启动时通过点对点协议发现的节点相连。整个网络是一种松散连接的网状结构,没有固定的拓扑结构或其他结构,所有节点都是平等的。消息包括交易和区块,从一个节点传播到与之相连的节点上。新加入网络中任何节点的有效交易,会发送到三到四个相邻节点,每个相邻节点又再次将其发送到三到四个新的相邻节点,以此类推。利用这种方式,在短短几秒内,一个有效交易像以指数级扩散的波纹一样,在网络中迅速传播,直到到达所有连接着的节点。

比特币网络被设计成能够高效、弹性地在所有节点间传播交易和区块,同时它又能够有效防止攻击。为防止网络垃圾、拒绝服务攻击或者其他针对系统的恶意攻击,每个节点均在传播交易前进行独立验证,有缺陷的交易将无法传出节点。这个交易验证规则将在“独立交易验证”中进行详细解释。

推荐学习以下比特币文章:

比特币助记码词汇表

比特币怎么实现匿名性的

通过命令行调用比特币核心的JSON-RPC接口

868区块链学习网为您整理《比特币交易的生命周期(2)》仅供参考。