【问题标题】:How to sign miners rewards on a blockchain?如何在区块链上签署矿工奖励?
【发布时间】:2021-03-01 19:53:09
【问题描述】:

如果我要问一些愚蠢的问题,请不要杀了我。但我在整个加密世界中都很菜鸟,而且我对它的技术非常着迷。

因此,出于教育目的,我决定构建自己的区块链,或多或少遵循比特币原则(使用 secpbk1 曲线生成 ECC 密钥对,SHA256 作为散列算法,基于前一个块的时间戳的动态差异,p2p 连接等。)。但我已经到了对区块链钱包本身感到非常困惑的地步。

就我目前了解到的情况而言,每笔交易必须由钱包签名。所以我的交易基本上有三个字段:inputoutputsid。由于用户的钱包签署了交易的 outputs 字段,因此如果不使用属于 input 中包含的公钥的相同私钥再次签名,则无法再更改此字段em> 领域,如何奖励矿工?

如果我做对了,矿工会使用 outputs 字段中的费用创建一个由链以某种方式签署的交易,或者通过要求链本身生成并签署一个特殊的 reward 该矿工的交易。

我遵循的指南是使用第二种方法,每次在客户端上执行程序时都会生成一个区块链钱包。这种方法让我很困惑:

客户不会在每次重新上线时为“他的”区块链生成一个新钱包吗?如果是这样,这不会给链上签名的交易造成混乱吗?由于每个矿工(因此是同行)签署自己的奖励将使用与其他同行不同的区块链钱包?这不会导致任何问题吗?

我可能想到的第一个是,如果我们生成一个新的区块链钱包来为矿工签署奖励,每个节点都会创建一个不同的钱包,那么这不会导致链中出现许多“幽灵”钱包,从哪里吐出奖励代币?这应该发生吗?

因为我认为使用费用来奖励矿工肯定更直接,但这根本不能解决我的疑问。由于交易的输出是在创建时签署的,那么发起交易的对等方怎么可能提前知道找到该区块的可能矿工?如果他不知道,矿工怎么可能在不篡改交易本身的情况下“提取”其奖励?当然,它可以创建一个新交易,并将其添加到区块中。但谁会签署该交易?这些奖励代币从哪里来?

如果答案不是每次都生成一个新钱包,那么你可能将链钱包的第一个私钥存储在哪里,没有人可以看到它,但仍然可以使用它,而无需放置中间有服务器吗?

在我看来,这打破了整个去中心化的概念,并会增加单点故障。

我还实现了一个交易池,每当矿工请求将其中的一个子集标记在一个块中时,它就会自动过滤掉无效(被篡改的)交易。但这是否意味着该唯一例外的矿工可以篡改交易,因为它将在区块中“伪造”?那么,一旦它进入链中就被篡改了,谁给它一个 *** 呢? MEEEEEH,听起来一点也不好听。

我非常困惑,我在晚上梦到钥匙对。请帮帮我。

【问题讨论】:

    标签: blockchain bitcoin cryptocurrency


    【解决方案1】:

    客户不会在每次重新上线时为“他的”区块链生成一个新钱包吗?如果是这样,这不会对链上签名的交易造成混乱吗?由于每个矿工(因此是同行)签署自己的奖励将使用与其他同行不同的区块链钱包?这不会导致任何问题吗?

    你没有说你认为这会导致什么问题。我想不出来。

    因为我认为使用费用来奖励矿工肯定更直接,但这根本不能解决我的疑问。由于交易的输出是在创建时签署的,那么发起交易的对等方怎么可能提前知道找到该区块的可能矿工?如果他不知道,矿工怎么可能在不篡改交易本身的情况下“提取”其奖励?

    最简单的解决方案是让交易本身只包含其输入和输出。费用是总投入和总产出之间的差额。

    矿工只是将交易包含在他们挖掘的交易块中。他们还在区块中添加了一笔额外的交易,向自己发送了奖励。显然,他们知道自己的目的地地址。每个收到新开采区块的参与者都会检查以确保此交易有效(就像他们检查其他所有交易一样)并且不会要求超过允许的奖励。

    如果答案不是每次都生成一个新钱包,那么你可能将链钱包的第一个私钥存储在哪里,没有人可以看到它,但仍然可以使用它,而无需放置中间有服务器吗?

    通常在本地磁盘上的文件中。无论如何都不需要私钥——您只需要它来发送。您不需要它来挖掘或报告。所以只有在实际需要时才可以提示或解密。

    当然,它可以创建一个新交易,并将其添加到区块中。但谁会签署该交易?这些奖励代币从哪里来?

    通常的规则是奖励交易没有输入,只有一个输出,也没有签名。代币来自无人认领的矿工奖励代币池,根据区块链的设计,这些代币可以是有限的或无限的。 (对于比特币,这个池是有限的。)

    【讨论】:

    • 感谢您的回答,但是我在创建一个每次都签署矿工奖励的新钱包时看到的第一个问题是,没有单个区块链的钱包,但它有点不存在。这种行为是否允许?不知从哪里吐出代币的“幽灵”钱包?
    • 我已经更新了这个问题,试图回答你引用的部分,因为评论太长了
    • @Caius 这不是一个从无处吐出代币的幽灵钱包,而是允许首先创建代币的规则。矿工被允许附加一个有一个输出没有输入的“奖励”交易。
    • @Caius 没有理由签署,也有很好的理由不签署。您不希望采矿设备必须拥有私钥。
    • 哦,更正了。比特币确实允许奖励交易有多个输出。这使得矿工分配奖励的情况更加方便。
    猜你喜欢
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多