回复:BitDNS 与比特币的通用化
原始发布页
打开来源页面查看 1 个交叉存档
引用自:nanotube,2010 年 12 月 09 日晚上 09:20:40
看起来矿工基本上必须做“额外工作”。如果 bitdns 挖矿的额外工作没有奖励(当然,这会拖慢主要的比特币工作),矿工有什么动力把 bitdns(以及其他任何侧链)包括进来?
动力在于,用同一份工作也能获得额外侧链的奖励。
既然你在生成比特币,为什么不靠同一份工作再免费获得一些域名呢?
如果你目前每周生成 50 BTC,现在就可以得到 50 BTC,外加一些域名。
你只有一份工作。如果你解决了它,就会同时解决比特币和 BitDNS 的一个区块。从概念上说,它们通过一棵默克尔树连接在一起。要把它提交给比特币,你就拆掉 BitDNS 分支;要把它提交给 BitDNS,你就拆掉比特币分支。
在实际操作中,为了让比特币兼容这种改造,BitDNS 一侧也许得多出约 200 字节,但这不是什么大问题。你一直在说每个区块包含 50 个域名,与之相比,为向后兼容而让每个区块增加区区 200 字节根本不算什么。如果我们足够在意节省这几个字节,也可以安排在未来某个很远的区块,让比特币升级到一种现代化的布局,把默克尔树放在顶层。
请注意,各条链位于这棵新默克尔树之下。也就是说,比特币和 BitDNS 各自在自己的区块内部拥有自己的链式链接。这与常见的时间戳服务器布局相反;后者把链放在顶层、默克尔树放在下面,因为那会形成一条共同的主链。这里则是两个不共享链的时间戳服务器。
英文原文
展开英文原文
Quote from: nanotube on December 09, 2010, 09:20:40 PM
seems that the miner would have to basically do "extra work". and if there's no reward from the bitdns mining from the extra work (which of course, slows down the main bitcoin work), what would be a miner's incentive to include bitdns (and whatever other side chains) ?
The incentive is to get the rewards from the extra side chains also for the same work.
While you are generating bitcoins, why not also get free domain names for the same work?
If you currently generate 50 BTC per week, now you could get 50 BTC and some domain names too.
You have one piece of work. If you solve it, it will solve a block from both Bitcoin and BitDNS. In concept, they're tied together by a Merkle Tree. To hand it in to Bitcoin, you break off the BitDNS branch, and to hand it in to BitDNS, you break off the Bitcoin branch.
In practice, to retrofit it for Bitcoin, the BitDNS side would have to have maybe ~200 extra bytes, but that's not a big deal. You've been talking about 50 domains per block, which would dwarf that little 200 bytes per block for backward compatibility. We could potentially schedule a far in future block when Bitcoin would upgrade to a modernised arrangement with the Merkle Tree on top, if we care enough about saving a few bytes.
Note that the chains are below this new Merkle Tree. That is, each of Bitcoin and BitDNS have their own chain links inside their blocks. This is inverted from the common timestamp server arrangement, where the chain is on top and then the Merkle Tree, because that creates one common master chain. This is two timestamp servers not sharing a chain.