知识库详情
BSV知识库

以“词条释义”的形式对比特币区块链技术中经常涉及的术语及基本概念进行专业化的阐释和解读。

矿工ID(Miner ID)
返回上级
BSV区块链编辑 2022-04-14 18:01 800

MinerID是一种协议,允许矿工将信息嵌入到自己的节点挖出的每个区块的coinbase交易中,这样可以使该节点挖出的所有区块都与一个化名的身份相关联,矿工也可以选择将网络上的这个化名身份与现实世界自己的真实身份关联起来。

 

具体实现方法

目前,比特币矿工可以利用自己挖出区块中的coinbase交易里的可扩展输入字段,在其中写入信息,从而将他们的身份数据嵌入比特币账本。但是,这些数据并不总是准确的,并且可以被轻易地伪造,来欺骗大众。

然而,MinerID协议使用了密码学方法,将区块与特定矿工的化名身份关联起来。MinerID只是一个来自ECDSA密钥对的公钥。矿工使用这个密钥用于对区块coinbase交易的 False Return输出中包含的minerID元数据进行签名。

使用ECDSA加密技术对MinerID元数据(而不是生成未签名的任意数据)进行签名,为数据提供了确定真实性,并以可靠的方式将矿工的身份与其挖出的区块相关联。

虽然MinerID协议是Bitcoin SV(BSV)网络上的有效的基础设施工具,但它不是强制性的。它是一个矿工自愿使用的协议,矿工可以选择使用这个公钥基础设施的协议,来保障他们基于账本的其它服务。

准确定义

  • MinerID它是一个矿工用来标识自己身份的ECDSA公钥(基于 secp256k1参数)。
  • VcTx (Validity check transaction) :它是一笔用来确定MinerID有效性的交易,它根据是该交易当前是未花费(有效)还是已花费(无效/撤销)的状态,来确定MinerID是否有效的。若矿工的MinerID对应的私钥被泄露,VcTx还允许矿工立即撤销其MinerID。有一种简陋的做法,即矿工在coinbase文档中添加一个字段,用以指定MinerID是否仍然有效;但是,这种情况下矿工必须要等到自己挖出了下一个区块,才能撤销他们的MinerID。但是使用VcTx,矿工无需做工作量证明(挖矿),就可以随时撤销其MinerID密钥的有效性。
  • coinbase文档:它指的是coinbase交易中OP_RETURN(可证明的不可花费的)输出中的格式化数据包。矿工身份信息都将存储在此文档中。

安全性

理想情况下,MinerID(通过coinbase交易的扩展)应该专属于它所在的区块。我们可以利用“因果关系困境”来将矿工的MinerID签名有效地绑定在他的区块:因为如果矿工还没有生成MinerID密钥,那么它就无法生成coinbase交易,没有完整的coinbase交易就无法创建区块头。

如果没有这种绑定,恶意矿工就可能复用别的区块的coinbase文档,来生产自己的区块中,用这个区块破坏拥有这个MinerID的矿工的声誉,比如生产降低网络数据处理效率的空块(empty block)。但是现实中,由于区块高度包含在coinbase文档中,因此想要复用coinbase文档数据的成本极高,就如同网络分叉或重组一样(参见 Re-org)需要进行大量的工作量证明。由此一来,恶意矿工盗用其他矿工身份进行网络攻击可能性就大大降低了。

 

MinerID例子

自2019年12月20日起,MinerID协议已得到TAAL矿业公司的支持,请参见下面两个有MinerID的交易:

 

推荐参考资料

Medium.com博客文章https://medium.com/@jadwahab/6578046ac88?

网络
创世纪升级
mAPI(商户用API)
比特币测试网
矿工ID(Miner ID)
点对点协议
中本聪愿景
交易池