1. BSV首页
  2. 技术发展

与nChain CTO Steve Shadders一起回到创世纪

与nChain CTO Steve Shadders一起回到创世纪

以下是对nChain首席技术官Steve Shadders的书面采访,具体问题是关于2月4日即将进行的Genesis升级。这次采访的目的是为了澄清一些常见的问题,这些问题不断出现在生态系统的关键部分,以及一些基于我的好奇心和个人观点而提出的具体问题。

你能解释一下为什么我们现在可以把数据链上的数据量提升到4GB,而以前只有100kb ?

原始的PUSHDATA4 op_code允许最多4gb的数据。由于BTC核心软件内建的限制(包括堆栈项大小的520字节限制),此op代码变得无用。这一共识限制已被取消,因此矿商现在可以自由地接受更大的数据元素。OP_RETURN为这个限制启用了一个厚颜无耻的解决方案,但是现在任何类型的数据操作都可以超过这个限制,并受最大事务大小的限制(目前默认为1GB)。现在由采矿者来选择他们将接受多大的数据元素。

您能谈谈使用OP_PUSHDATA和OP_RETURN存储数据的好处和利弊吗?矿商可以从OP_PUSHDATA中删除数据吗?

是的,没有技术原因矿工需要保持可证明的不可花费的输出,与经典的OP_RETURN输出是一个例子。这并不意味着他们不会。它们确实需要由希望为初始块下载(IBD)提供服务的存档节点保存。

但重要的是,矿商(或其他参与者)可能有很好的经济理由来保存这些数据。原因很简单,因为它很有价值,而且在未来的某个时候,通过提供数据有机会获得收入。也许不是所有的数据,但是如果您不知道哪些数据子集将来有价值,那么您需要保留所有的数据。

在Genesis之后,在可使用的输出中存储数据将变得很简单。这些不能被采矿者删除,因为他们可能需要验证未来的事务。不同的属性对采矿者有不同的要求,我可以预见不同的数据存储机制会有不同的定价模型,因为采矿者理解这一点。

如果保证的矿机保留或未来的可使用性(可能是数据过期的信号)对您有价值,那么您可能会选择支付更高的价格来获得这些数据属性。

为什么将脚本数字类型从32位改为大数字意义重大?

在几乎无限的用例中,这个是显而易见的。密码学。几乎所有的密码学都是基于使用大于32位的数字的数学。能够轻松地在脚本中实现加密具有巨大的潜力。毫无疑问,在未来的几年和几十年里,还会有许多其他用途被发现,关键是为什么要在一开始就限制它?原始比特币没有这种限制。

为什么sighash算法被恢复?

根据比特币SV生态系统中各参与者的反馈,决定需要进一步准备更广泛的生态系统,以避免潜在的破坏。考虑到《创世纪》中还有大量其他需要准备的变化,我们没有时间像要求的那样做得那么彻底。

不分裂的BTC会重新出现在《创世纪》中的BSV上吗?

不,它需要启动原始的sighash算法。

交易的尘埃限制状况如何?

虽然它的寿命很短,但灰尘限制仍然存在。它最初的目的是防止人们创造出如此小的产出,以至于花费的交易费用超过了它们的实际价值。

在genesis之后不久,一个计划中的改变是允许矿商接受我们所说的“合并交易”,以零费用或大折扣。整合事务是将大量非常小的输入收集到单个输出中的事务。

这对矿工来说是值得的,因为它减少了他们必须维护的UTXO集的大小。一旦这是可能的,就不需要进一步的粉尘限制。如果你产生了灰尘,你只需等待,直到你收集了足够的灰尘来巩固,你可以再次利用它。

启用灰尘大小输出打开了一些非常有趣的用例。例如,在现有交易上附加小额付款。假设一个商人想要对20c的交易进行某种保险,他要求客户包括一个直接支付给保险人的0.02c的输出。

有了粉尘限制,这可能是不可行的,但没有它,保险公司,谁大概得到成千上万的这些每天可以简单地合并他们每天把他们变成有用的产出。

你能纠正25个连锁交易限制的记录吗?为什么这个限制会让你知道要提高/删除什么?

在Genesis版本中,默认值被提升到50。基于对STN的广泛测试,我们确定各种性能改进意味着我们可以在没有可测量影响的情况下提高它。

祖先的大部分问题是由费用会计引起的。如果你设定了区块规模的上限,矿商需要挑选最有价值的交易组合,以实现费用最大化。如果块的大小是无界的,你只要添加所有的东西,块模板就会变成一个仅限追加的列表,所以所有那些可怕的会计代码都可以删除,我们一层一层地剥离它,最终的结果应该是一个更简单、更高效的内存池。但这些层次是复杂的,需要非常小心地拆解。

比特币SV节点团队非常清楚,这是应用程序开发人员最需要的功能,我们正在对其进行适当的优先级排序。

从Ryan最近的采访中我们可以得知,创建“比特币规范”的时间表是怎样的?

我们还没有正式启动这个项目,它是在创世纪之后工作的路线图上,但现在给出任何确切的时间表还为时过早。

有没有什么特别类型的剧本让你感到兴奋,或者你想看《后创世纪》?

我最感兴趣的是将脚本序列链接在一起的概念(事务链),其中一个(或多个)的输出可以作为下一个的输入。创建一个跨越脚本边界并可能引入其他交互的活系统的潜力令我着迷。

为此,我们试图通过将比特币脚本引擎从比特币SV节点中提取出来,并将其放入一个单独的Nakasendo库模块中来鼓励这种做法。

我们希望人们能够更轻松地使用脚本引擎。未来可能会有一个新的工作描述,但现在还不存在,那就是一个专业的脚本工程师。第一代可能会在今年出现。如果你以前有过这方面的经验,你很可能成为这一领域的先驱之一。

为什么创世纪的日期被提前到了2020年4月2日?

这实际上是提出的块大小的帽子的移除。它原本计划在2020年底建成。但那是在我们仍然使用旧的BCH 6每月硬叉时间表的时候。在BCH离开后,我们很快就意识到我们没有理由坚持这个计划。同样明显的是,块大小增加的阶段性进展也是BCH风格思维的后遗症。其目标是尽快将共识限制的治理交给矿商,以便比特币SV团队能够专注于规模化。

日期本身有一些可爱的象征意义,因为它是11年1月1日之后的创世纪块时间戳。尽管有可能,创世纪号实际上可能会提前一天激活,因为开采区块的速度是不可预测的。

你认为二月份的网上交易会激增吗?

我无法预测。人们可能会尝试对它进行压力测试,尽管这没有什么意义,因为最新的软件版本关注的是功能更改,而不是性能增强。随着人们开始尝试使用脚本,我希望能看到一些更不寻常的事务。

实现细节vs.协议:您认为困难的调整是否属于实现细节的范畴,即在技术上符合每两周(2000个块)的协议与在给定时间内调整平均值的协议?

我认为难度调整算法是一个协议细节。周期的长度似乎是经过精心选择的,我们已经知道不断调整算法的一些后果,比如当前的DAA和EDA。一旦事务量显著增加,就会出现原算法的安全恢复,这是我所期望的最后一次协议更改硬fork。在《创世纪》之后,我们已经走了90%的路,但是在最后的硬分叉之后,我们将实现完整的协议锁定。

请详细说明为什么禁用P2SH。

Jerry Chan在这里详细阐述了这一点。

您能否谈一下如果一个矿工试图创建一个P2SH输出会发生什么?

这个特定的脚本模板被一致禁止。这样做是不幸的,但是同样的功能可以通过稍微修改脚本来实现。这意味着不可能意外地创建P2SH输出。

在大多数情况下,这并不是世界末日,你只是需要一个诚实的矿工的帮助来收回你的资金。但在某些情况下,这些资金可能会被盗窃。这个决定仅仅是为了保护用户,使他们不会不知不觉地将自己置于危险之中。它可能会在稍后由各矿商达成共识后恢复。

你认为最新的“修复”是绝对必要的吗?难道这不是由矿工来执行的吗?

这本来可以由矿商来执行,但利用这一变化的机制的公开披露,引起了许多人的注意。受到的关注越多,受到资源丰富的攻击的可能性就越大,而诚实的矿工击退攻击的成本也就越高。我们认为,信息披露改变了风险状况,足以证明有必要将机制改为更明确的机制。

你在nChain/Bitcoin协会的角色会如何改变?

我认为2019年的重点是基础设施。有很多东西需要研究、构建和修复。我们现在已经为比特币SV生态系统打下了坚实的基础。

还有更多的工作要做,但这已经足够开始构建下一层了。因此,我认为2020年的重点将开始转向让企业更容易使用比特币的工具。在基础设施方面,重点将主要转向扩展,即Teranode。

2020年将是非常激动人心的一年,因为我们已经达到了这样一个阶段,即比特币SV不仅拥有可靠的成就记录,而且现在可以让真正的企业在其基础上构建对他们来说重要的东西。

* * *

谢谢Steve抽出时间来回答问题。我希望读者们能在几天内清楚地了解到创世纪的升级!

请继续关注比特币SV节点首席开发者丹尼尔·康诺利(Daniel Connolly)关于Teranode的书面采访。

【免责声明】本文仅代表作者本人观点,与本站无关。比特币元网站对文中关于比特币,BSV,比特币SV,bitcoinsv等观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何保证。请读者仅作参考,特此声明!转载请注明出处:http://www.bsvers.com/1956.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

QR code