头条
BitDNS 和比特币可以分别使用,用户不需要下载全部内容才能使用其中之一。
撰文:Crypto 花椒说
我找到了中本聪发表的有关 BitDNS 的所有帖子,以便更好地了解,他对使用比特币网络进行域名的看法。
BitDNS/Namecoin 是比特币的早期衍生项目,它是由中本聪(Satoshi Nakamoto)在 2010 年 4 月提出的,以下为中本聪的帖子原文翻译:
「我认为 BitDNS 可以作为一个完全独立的网络和独立的区块链,但与比特币共享 CPU 算力。唯一的重叠就是让矿工可以同时为两个网络搜索证明工作量。
这两个网络不需要任何协调。矿工可以并行订阅这两个网络。如果他们在扫描 SHA 时获得了一个击中,他们就有可能同时解决两个网络。如果一个网络难度较低,那么可能只解决一个网络。
我认为一个外部矿工可以对两个程序调用 getwork,并将工作合并。也许调用比特币获取工作,再交给 BitDNS 的 getwork 组合成一个组合工作。
这样不同网络可以共享和增加总 CPU 算力,而不是造成碎片化。这可以解决如果有多个网络时带来的危险,可用 CPU 算力可能会合力攻击一个网络。相反,世界上所有的网络会共享组合的 CPU 算力,增加总强度。这可以让小网络更容易启动,利用现有的矿工基础。」
来自网友的提问:矿工基本上必须做「额外的工作」。如果 bitdns 挖掘没有从额外的工作中获得奖励,那么矿工包含 bitdns (以及任何其他侧链)的动机是什么?
中本聪:「其动机是从额外的侧链中获得相同工作的奖励。
当您生成比特币时,为什么不为同样的工作获得免费域名呢?
如果您目前每周生成 50 BTC,现在您还可以获得 50 BTC 和一些域名。
你有一件工作。如果你解决了它,它将解决来自比特币和 BitDNS 的块。从概念上讲,它们通过默克尔树连接在一起。要将其交给比特币,您需要断开 BitDNS 分支;要将其交给 BitDNS,您需要断开比特币分支。
实际上,要针对比特币进行改造,BitDNS 端可能必须有大约 200 个额外字节,但这并不是什么大问题。你一直在谈论每个块 50 个域,这将使每个块的 200 字节的向后兼容性相形见绌。如果我们足够关心节省一些字节,我们可能会在遥远的未来安排一个区块,届时比特币将升级到顶部有默克尔树的安排。
请注意,链位于这个新的 Merkle 树下方。也就是说,比特币和 BitDNS 各自的区块内都有自己的链。这与常见的时间戳服务器排列相反,其中链位于顶部,然后是 Merkle 树,因为这会创建一个公共主链。这是两个不共享链的时间戳服务器。」
关于 bitdns 费用,在遥远的未来有一个可能的设计:
「你故意写一个双花。您可以使用相同的输入和输出来编写它,但这次需要付费。当您的双花进入区块时,第一次支出将变得无效。收款人并没有真正注意到,因为此时新交易变得有效,旧交易就变得无效,新交易只是取代了它的位置。
说起来容易做起来难。要让客户端正确编写双花、管理钱包中的两个版本直到选择一个版本、处理所有极端情况,需要做大量的工作。现有代码中的每个假设都是您不会尝试编写双花。
比特币矿工方面也需要进行一些改变,以便能够接受双花进入交易池,但前提是输入和输出匹配并且交易费用更高。目前,交易池永远不会接受双花,因此每个节点都会通过将其放入区块来见证它首先看到的交易。」
「将世界上每个工作量证明仲裁系统堆积到一个数据集中是无法扩展的。
比特币和 BitDNS 可以分开使用。用户不必下载全部两者来使用其中之一。BitDNS 用户可能不想下载接下来几个不相关网络决定加入的所有内容。
网络需要有不同的命运。BitDNS 用户可能完全自由地添加任何大数据功能,因为需要相对较少的域名注册商,而比特币用户可能会越来越专制地限制链的大小,以便对大量用户和小型设备来说很容易。
对用比特币安全购买域名的担忧是一种转移注意力的担忧。用比特币交换其他不可否认的商品很容易。
如果您仍然担心,可以通过加密方式进行无风险交易。双方将在双方都建立交易,这样当他们都签署交易时,第二个签名者的签名就会触发两者的释放。第二个签名者不能在不释放另一个的情况下释放一个。」
「我同意。所有交易、IP 变更、续订等都应该向矿工收取一些费用。
可能会考虑一定量的工作来生成域名,而不是固定的总流通量。每个领域的工作可以按照摩尔定律增长的时间表进行。这样,域名的数量就会随着需求和使用人数的增加而增长」归纳总结
Satoshi 提到了以下几个关键点:
1. BitDNS 可以是一个完全独立的网络和独立的区块链 ( 中本聪认为 bitDNS 不应该在 bitcoin 网络上),但与比特币共享 CPU 算力。唯一的重叠是使矿工能够同时搜索两个网络的工作量证明。
2. 外部矿工可以调用两个程序的 getwork 方法并合并工作量。可以从比特币获取工作量,然后将其传递给 BitDNS 的 getwork 方法,以将它们合并成一个组合工作量。
3. 不同网络之间共享和增强各自的 CPU 算力,而不是分散。这样做可以解决多个网络之间的竞争问题,如果可用的 CPU 算力集中在一个网络上,其他网络将面临危险。相反,全球所有网络将共享合并的 CPU 算力,增加总体强度。这将使得小型网络更容易启动,因为它们可以利用现有的矿工基础。
4. 矿工可以通过相同的工作量获得比特币和 BitDNS 的奖励。在生成比特币的同时,为什么不通过相同的工作量获取免费的域名呢?
5. BitDNS 和比特币可以分别使用,用户不需要下载全部内容才能使用其中之一。BitDNS 用户可能不希望下载其他不相关网络堆积的全部内容。
6. 对于 BitDNS 来说,较长的区块间隔比 10 分钟更合适。
7. 对于交易、IP 记录更改、续期等,都应该收取矿工费用。
8. 域名的生成可以通过一定的工作量,而不是固定的总发行量。随着需求增加,域名数量也会增长。