主页 > imtoken安卓app > RSK采用双挖机制的初衷是将智能合约赋能给比特币

RSK采用双挖机制的初衷是将智能合约赋能给比特币

imtoken安卓app 2023-01-18 19:19:48

创建 RSK 的目的是为比特币提供区块链的智能合约功能。 RSK 是最有趣的智能合约开发平台之一,因为它结合了比特币的网络安全性和 Solidity 语言的易用性

创建 RSK 的目的是为比特币提供区块链的智能合约功能。

RSK 是最有趣的智能合约开发平台之一,因为它结合了比特币的网络安全性和 Solidity 语言的易用性。 为了给系统提供动力,Rootstock 使用了双重挖掘方法。 想知道什么是双挖吗? 让我们开始吧!

工作量证明的简要概述

在继续之前,让我们快速总结一下工作量证明(POW)。

矿工通过解决密码难题“挖掘”区块并将其添加到链中。

· 这个过程需要大量的能源消耗和计算能力。 这些加密问题的设计方式使其变得难以回答并给系统带来负担。

· 当矿工解决一个难题时,该块可以提交给网络进行验证。

在比特币生态系统中挖矿是一个艰难的过程。 这就是矿工集中他们的资源和计算能力来创建“矿池”的原因。 矿池遵循客户端-服务器架构,其中矿工(客户端)连接到矿池服务器(服务器)。 矿池服务器运行矿池服务器软件。 常见的软件有CKpool、BTCpool和Eloipool。

什么是双挖?

双挖 () 是一种允许使用相同算法同时挖掘不同加密货币的机制。 在这种情况下,由于比特币和 RSK 都是基于 SHA-256 算法的,因此可以通过双挖联合挖矿。 双挖最大的两个优势是:

显着降低矿工的投资成本,因为他们不需要购买新的挖矿设备。

· 算力较低的加密货币可以通过与算力较高的加密货币挂钩获得足够的算力。

· 矿工还可以通过维护双挖链获得额外奖励。

Namecoin 是第一个与比特币双重挖掘的加密货币。 我们来看看双挖的整体工作流程:

· 双矿链的区块ID嵌入在主链的区块中。 区块 ID 是区块在二级链中的加密哈希。

· 双挖区块的哈希值以双挖“标签”为前缀。 标签可以是一些简短的描述性文本或魔术字节。

· 为避免混淆,主链中的一个区块最多只能关联一个副链中的区块。

· 为了保证双挖的整体安全性,必须保证在主链上挖出一个可以与侧链中的两个区块关联的主区块要比挖出两个区块的难度大仅在主链上相互关联。 平行链区块主区块的难度。

在 RSK-Bitcoin 的例子中,RSK 的挖矿难度相当于 70 位,而比特币的难度相当于 74 位。

比特币矿池通常会在提供给矿工的每项挖矿工作中参考 RSK 的区块。 矿工每次找到解决方案时,都会将其与比特币和 RSK 的挖矿难度进行比较。 这时候可能会出现三种情况:

矿工计算出的解决方案满足比特币网络难度。 块被封装并发送到网络。 比特币网络还将传播 RSK 的双挖参数。 由于 RSK 的难度低于比特币,因此该解决方案也适用于包装 RSK。

· 该解决方案满足 RSK,但不满足比特币。 解决方案将提交给 RSK 网络,而不是比特币网络。

· 该解决方案不满足任何难度要求。

无论如何,提交给 RSK 的最终解决方案允许节点构建 SPV 证明。 如果证明有效,它将成为提交给网络的块的一部分。

深层发掘

比特币区块头类似于双挖中的 POW 代理。 RSK 区块链解释了比特币区块头的工作量证明。 通过搜索比特币区块中的标签来确定 RSK 链上的哪个区块应该与其相关联。 同时我们需要记住,RSK 区块链不需要完整的比特币区块来验证区块头的 POW 并将其与相应的 RSK 区块头相关联。 一个简单的 SPV 证书就足以建立这种关系。 我们将继续讨论一些 SPV 证明。 在此之前,让我们进一步了解RSK标签。

RSK 标签的当前格式是:

RSKBLOCK:RskBlockHeaderHash

在:

· "RSKBLOCK:" 是由 52 53 4b 42 4c 4f 43 4b 3a 字节组成的 ASCII 字符串。

· RskBlockHeaderHash 是二进制格式的RSK 块头的Keccak 哈希运算结果的汇总,没有双矿区,将在PoW 解决后填充。

尽管不是强制性的,但 RSK 令牌应包含在输出脚本的 OP_RETURN OP_PUSHDATA1 操作码之后。 这有助于防止垃圾数据被发送到比特币 UTXO。

RskBlockHeaderHash 由标准 RSK 节点(rskj 守护进程)创建。 池服务器插件轮询 rskj 守护进程并维护提供给池服务器的最新 RskBlockHeaderHash 值。

除上述规定外,还可能适用以下附加限制:

· RskBlockHeaderHash 之后到coinbase 最新交易的字节数必须小于或等于128 字节。

· 二进制字符串“RSKBLOCK:”(52 53 4b 42 4c 4f 43 4b 3a) 不能包含在尾随的原始字节中。

· 如果 RSK 标记在非最后一个输出脚本中,它可能会出现在下一个输出的字节中。 这就是为什么强烈建议对 RSK 标记使用最后一个输出脚本。

· 如果 RSK 代币在 coinbase 区,则“RSKBLOCK:”可能会出现在 Coinbase 区。

什么是SPV证明?

如上所述,可以通过 SPV 证明建立次级 RSK 区块链和主要比特币区块链之间的链接。 SPV 证明主要由 Merkle 树成员证明组成。

蓝框表示包含在 SPV 证明中并沿 RSK 块传输的信息。 由于尾随字节的限制,RSK 全节点将创建 SPV 证明的压缩版本,包括:

· 比特币区块头(80 字节)。

Coinbase 交易的 Merkle 分叉(约 320 字节)。

使用 Coinbase 交易标头的 SHA-256 中间状态(32 字节)。

· 一个 64 字节对齐的数据块(最大 169 字节),由 Coinbase 交易记录和 RSK 标签组成。

目前,SPV 双挖证明的最大大小为 780 字节。

池服务器软件可以将完整的块或 SPV 证明发送到 rskj 守护程序。 如果 rskj 收到一个块,它将解析它并提取必要的字段来构建 SPV 证明。

双倍挖矿难度

在继续之前,我们需要了解困难是什么以及为什么首先引入它。 您可能知道,比特币的上限是 2100 万个。 随着越来越多的矿工参与挖矿,需要有一种机制来防止矿工过快地挖完所有的比特币。

为了防止比特币的供应失控并使其成为一个更可持续的模型,中本聪引入了难度机制。 随着越来越多的块被开采比特币是不是智能合约,解决密码问题的难度呈指数级增长。 基本上,开采的比特币越多,开采过程就越困难。

考虑到 RSK 链的难度远低于比特币。 在内部,难度转化为与难度成反比的“目标”。 目标是一个 256 位无符号整数。

在同一天合并开采的区块链是一个大概的目标。 RSK 的目标更高,因为它的出块频率是比特币的 20 多倍。

这就是解决 RSK POW 难题的区块头可能不被比特币网络接受的原因,因为它可能无法满足其难度。 所以,这里要问的问题是:如果矿池一直在寻找比特币区块,它如何检测到 RSK 区块? 块法。 这些中间的、低难度的区块被称为“Shares”,矿池服务器需要它们进行计费。 一个矿池中的许多矿工会主动在比特币真实解之间创造更多的配额,从而为矿工的贡献提供更高的粒度。

以下是有关配额的一些注意事项:

· 配额非常频繁地传输到池服务器。 这样,服务器就可以根据矿工的算力贡献,将未来的收益分配给相关矿工。

· 根据系统的整体计算能力,比特币挖矿难度有时会下降。 这就是配额通过系统传递的原因,因为它可能是当前比特币 POW 操作的解决方案。

· 如果配额的散列摘要低于比特币的当前目标,则将其转发给 bitcoind 守护程序,后者将其传播到整个网络。

· 不同的二级区块链可能有不同的困难。 这就是为什么能够双挖的矿池服务器必须将配额目标与其支持的所有二级区块链的目标进行比较。 因此,如果配额满足 RSK 目标,则相应的块被认为对 RSK 网络有效。

RSK双挖的安全性

在RSK双挖机制中,一个理性的矿工只需要进行2^69次操作(RSK目前的难度)。 恶意攻击者需要在 30 秒内计算多达 2^80 次哈希运算才能对系统造成损害。 为了进行这种攻击,攻击者必须投入比矿工多2000倍的硬件。 总投资约5万亿美元。

但是,这里还需要考虑一件事。 攻击者还可以针对相同的 RSK 块高度生成一个或多个共享其 POW 的块。 如果真是这样,还需要浪费5万亿美元的成本才能实现。

(译者注:所以RSK网络现在是非常安全的。)

SHA256 算法的假设弱点

RSK 使用非标准的加密方法来压缩交易生成。 RSK 不是通过散列 Merkle-Damgard 结构的中间状态来传输整个交易,而是只传输尾部。 然而,这种方法假设 SHA256 算法完全抵抗“自由启动冲突”。 根据 RSK 的设置,SHA256 需要至少与暴力破解 80 位一样安全。

到目前为止,在 SHA256 中没有发现自由启动碰撞比特币是不是智能合约,最接近的结果是在 SHA256 的简化版本中发现的半自由启动碰撞(64 轮中的第 38 轮,成本为 2^65 次操作)。

到目前为止,该算法被认为是安全的。 但是,如果发现此类攻击,RSK 可以通过网络升级来应对。 在这种情况下,RSK 不会使用加密压缩技术。 当然,这会导致块大小的小幅增加。

注意:如果 SHA256 遭受自由启动碰撞攻击,它将完全失败。 这对比特币来说也是一个非常大的问题。

此外,RSK 1.0.0 版提供 80 位安全性以防止可能的标签冲突。 80 位碰撞攻击在理论上是不经济且不可计算的。

POV 计算:如此大规模的攻击需要天文数字的内存。 此外,碰撞攻击的 CPU 成本比解决 RSK PoW 难题(69 对 80 位)的成本高 2000 多倍。

POV 理论:RSK 的 DECOR+ 共识认为,碰撞区块可以共享区块奖励,因此如果过去的区块奖励与新的区块奖励大致相等,那么为过去的区块图挖掘新的替代区块将变得无利可图。 这实际上意味着攻击者将主要与自己竞争。

· POV经济:好心的双矿可以赚取比特币交易手续费,所以双矿是有比特币补贴的。 另一方面,攻击者将不得不支付碰撞攻击的全部成本。 这意味着对 POW 链接的任何攻击都不符合成本效益。

RSK 团队表示:“即使考虑到计算效率的提高,我们认为标签在未来 20 年内仍将保持安全。但是,如果计算趋势发生根本性变化,未来的网络升级很容易将哈希大小扩展到完整的 32字节。”

总结

RSK 是双挖比特币的最有利可图的选择。 RSK 团队为 CoiniumServ、CKpool、BTCpool 和 Eloipool 等矿池开发了几个功能齐全的插件。 其他矿池也开发了自己的插件。 RSK 团队更喜欢 CKpool,因为它经过适当优化。 如果你是新矿池,按照RSK双挖的说明操作即可。 (作者 | Rajarshi Mitra)

比特币是不是智能合约_比特币合约每天都要转出吗_比特币合约模拟交易app

关键词: