区块链基础与比特币网络全解析
区块链存储位置
区块链是一个由众多计算机组成的去中心化网络,这些计算机贡献计算资源来协助进行交易存储和处理。那么,区块链数据究竟存储在哪里呢?不能简单地将区块链账本中的块分散存于各个节点,因为若某个节点出现故障,就无法访问存储在该节点的块。所以,需要一定的冗余来确保可用性,即一个块应在多个节点上进行复制。
在区块链中,完整的区块链账本会在每个节点上进行复制,每个节点都存储着整个区块链的完整副本。这是为了实现完全的去中心化(节点无需依赖其他节点来访问特定块)和完全的可用性(即使在最坏的故障情况下也能始终访问)。
当新节点加入区块链网络时,它需要发现现有的邻居节点并与之进行点对点(P2P)连接。新节点从这些邻居节点获取区块链副本,且区块链节点列表是公开的。在大多数区块链网络中,P2P 网络拓扑结构可以是任意的,可随机选择现有节点,不受地理位置的限制。
随着时间推移,由于节点自主独立工作,它们的本地区块链副本可能会出现不一致的情况。为确保一致性,节点需要频繁地,或者在某些触发事件(如添加新交易)发生时,向邻居节点发送自己的区块链副本,或者从邻居节点拉取区块链副本。当面对多个区块链副本时,节点必须决定哪个副本是全局正确的版本,默认标准是选择最长的副本。
交易处理流程
当有人发起区块链交易时,通常会通过一个用户友好的前端应用程序,该程序通过 API 调用与区块链网络进行交互。交易需要发送到区块链节点(实际中会发送到多个节点,以防某个节点故障或行为异常),处理流程如下:
1. 节点 X 首次收到交易 Tx 时 :
- 交易转
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



