Steve Shadders:中本聪对比特币的P2P愿景终于实现了

nChain首席技术官兼比特币SV Node项目技术总监Steve Shadders表示,最初的比特币计划已承诺了点对点交易,但这仍然是网络的关键 “缺失部分”。这一切都将随着 “SPV Channels ”的出现而改变——这是一种新的方式,让比特币用户可以直接在设备之间进行安全的P2P交易,同时还可以向网络传播,同时避免了双花等安全隐患。

Shadders延续了他作为第一个在CoinGeek活动上发言的传统,在今天于纽约和伦敦开始的CoinGeek Live上讲解了技术更新。他说,“P2P交易”一词经常被误用,许多人认为这就是比特币交易就是这样发生的(感谢白皮书的标题)。

他在演讲中宣布了三个新的软件包。SPV Channels v1.0.0, mAPI (以前的Merchant API) v1.2, 以及Bitcoin SV v1.0.6, 题为 “Push”。Shadders指出,所有这些目前都处于测试阶段,但他表示,这些版本的发布是为了让开发者能够立即 “开始使用它们”。

比特币上的P2P交易终于实现了

比特币的原始版本(Shadders将其描述为 “alpha ”和 “原型”)具有向IP地址发送交易的功能(被称为IP2IP),这在当时是不完整的,也从未得到正确的开发。要做到这一点,发送者必须知道接收者的IP地址——这一点通常是未知的,而且很难被发现。第二个问题:究竟如何准确连接到这个IP,构建交易,并设法将其广播到网络上以进行确认,多年来仍然是一个问题。

如果用户处于离线状态,或者直接在设备之间进行通信,如何还能以安全的方式将其广播到网络和交易处理器?如果一笔交易直到后来才广播,接收者如何才能确信发送者不是有意或无意地尝试双花(在两笔不同的交易中发送相同的币)?

SPV Channels方法,顾名思义,与简化支付验证(SPV)并驾齐驱,是比特币扩容必不可少的组成部分。它是一种具有推送功能的端到端消息传递“纳米服务“,可在只需要对外连接的专用通道上运行。它类似于现有的在线消息传递平台中的功能,Shadders将其比作IMAP电子邮件——即使您离线一段时间,仍然会收到所有的消息。

steve-shadders-satoshis-p2p-vision-for-bitcoin-is-here-at-last

他举了以下用例。一个客户和商家通过Paymail服务发现来找到彼此的详细信息。然后商家通过MinerID找到一个处理器(矿工)的mAPI,并使用它来请求费用报价。商家构建一个交易并将其提交给客户,接着客户发送交易。然后商家通过mAPI将其发送给处理器,并注册一个SPV Channels连接(URL)用于回调。这部分流程是检测任何具有双花尝试的情况,并立即通知商家(如果在线)。一旦交易在一个区块中被处理,处理器/矿工就会向SPV Channels发送一个merkle证明记录,商家将其保存在他们的数据库中。商家也可以选择将该证明也发送给客户。

Shadders在舞台上对SPV Channels进行了现场演示,包括一次双花尝试,该尝试被立即检测到并被标记出来。

三个新软件版本的功能都有助于实现中本聪对点对点交易网络的初衷,并有助于扩容。比特币SV是唯一能够做到这一点的区块链交易网络,在保持合法合规的同时仍然开放,能够以最小的成本进行大规模的扩容。

202024日的“创世”协议升级是比特币历史上的一大里程碑,将见证BSV最大程度地回归到中本聪原先设想的协议。请访问“创世”硬分叉页面以了解更多信息。

要直接在您的收件箱接获CoinGeek.com最新消息,CoinGeek会议特别优惠以及其他内部信息,请加入我们的邮件列表

[10]
[10]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
['on' + event]
['on' + event]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[i]
[i]
[results[1]]
[results[1]]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[10]
[10]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
['on' + event]
['on' + event]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[i]
[i]
[results[1]]
[results[1]]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]