Steve Shadders, Connor Murray, and Dylan Murray

比特币系统的幕后:以下是Teranode的工作原理

到目前为止,您可能已经多次听到“Teranode”这个词了;尤其是如果您参加或观看了最近几次的CoinGeek大会,您将会知道比特币SV基础设施团队的技术总监Steve Shadders在这些会议上频繁地介绍了Teranode基础设施的最新情况以及它将如何改善比特币系统。

直到最近,许多人对Teranode只有在较高层次上的了解,但多亏了Murray Distributed Technologies创建的新“白板会议”,我们才慢慢了解到更多Teranode的相关信息以及它是如何在幕后工作的。

“这是我们第一次在nChain之外的地方认真地讨论【Teranode】的内部结构与架构。”Shadders随后对Connor Murray和Dylan Murray表示,他希望把他对于Teranode的解释过程分解为一个由几个部分内容组成的系列,而不是一次性地告诉观众关于Teranode的一切信息。

Teranode中的交易验证

“与Steve Shadders的白板会议”中的第一集节目内容主要是关于在Teranode中交易是如何被验证的以及它的架构理念。为了以最好的方式解释它是如何工作的,Shadders拿出了他的白板,通过使用白板向观众展示图表和原理图,以补充他对于系统架构的解释。

“Teranode中的一个关键概念是分片;当我说到分片时,我所说的不是Vitalik在谈论分片和在许多不可信任的各方之间分工时所说的那种东西。【相反地,】我们谈论的是在Teranode的范畴内,所有的东西都是可信的。”Shadder一边说,一边开始在他的白板上进行书写。

“一个真正简单的分片方案将会是说,我有两个可能会用到的盒子【集群节点】可以处理这笔交易,我们查看一下它的交易ID,如果它的前四位是0-7,那么它就会被发送到盒子一中,如果它的前四位是8-15,那么它就会被发送到盒子二中。

“因为我们做的所有分片工作都是基于分片密钥进行的——在这个例子中,分片密钥是交易ID,我们可以准确预测出交易将会在哪个集群节点上被处理。这是一个非常有用的属性,因为它意味着如果我要去搜索什么东西,我总是知道它将在哪个分片上,而这个分片会映射到一个特定的集群节点上。”

Teranode所创造的未来

“在节点演变为Teranode结构的方式的过程中,您看到了哪些新的商业机会?”Connor Murray提出问题。

对此,Shadders回答道:“因为它是可扩容的,就像【我在这一集节目中所解释的】那样,您可以使用它上面存在的各种服务。您甚至不需要操作核心Teranode的人,就可以在它上面添加额外的信息。您可以有一个运行Teranode的矿工,他们可能会向您提供数据或其他东西,因为他们有Teranode了,并且不管怎么说他们已经得到了它了,然后您可以在他们旁边共同部署,用它来建立代币索引或其他什么的,来为Merkle证明服务——一些严格来说不是核心节点的功能,它可能存在着经济方面的意义。但是,可能会有一个专家来运行这些只进行区块验证的节点,并使用它来建立Merkle树、Merkle路径,并且作为一种商业模式为这些事情来提供服务。我认为其中存在着一个充满了可能性的世界。

“从根本上来说,该框架本身就是一种嵌入在比特币系统中发生的事物的方式,但它也是一种能够做任何类型的工作的方式,这些工作可以像这样被分发和分片。我将会真的很高兴有一天能发现人们在使用这个开放框架来做些与比特币无关的事情。这将会是一场胜利,这意味着我们实际上已经做了一些在更广泛范围内有用的事情。”

请您订阅Murray Distributed Technologies的YouTube频道,以获得“Steve Shadders的白板会议”的最新剧集。

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

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

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[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]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[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]