Smart Contract Design in Times of Congested Networks

Updated on: August 12th, 2020
This content has been Fact-Checked.
Smart Contract Design in Times of Congested Networks

在这篇文章中,让我们了解以太坊气体的含义以及为什么它最近暴涨。之后,我们将看到 RSK 和 EOS 等其他智能合约平台如何在智能合约设计方面处理天然气价格。

以太坊有一个气体问题。虽然听起来很有趣,但我们可以向你保证,开发人员正在做任何事情,但嘲笑这个声明。

对 DeFi(分散式融资)应用程序的需求不断增加,增加了主要以太坊区块链的拥堵。这反过来又打击了主链上的天然气价格。根据比特信息图,交易费中位数已经上升至 2018 年初以来的最高水平。

智能合约和以太坊虚拟机 (EVM)

智能合约是自动化合约。它们是自动执行的,并在其代码上写入特定的指令,这些指令在创建某些条件时被执行。

您可以在我们的深度指南中了解有关智能合约的更多信息。

智能合约是如何在以太坊生态系统上完成事情。当有人想要在以太坊中完成特定任务时,他们会与一个或多个人启动一个智能合同。

智能合约是一系列使用编程语言 “可靠性” 编写的指令,它基于 IFTTT 逻辑,也就是 IF-THIS-THE 逻辑。基本上,如果完成了第一组指令,则执行下一个函数,然后执行下一个函数,并继续重复,直到达到合同结束。

这是智能合约背后的核心原则。这使我们能够在代码监督的多方之间达成具有约束力的协议,而不是像律师那样的第三方。

什么是以太坊虚拟机?

以太坊虚拟机是您执行智能合约的生态系统。正确的智能合约功能需要三个重要的事情:

确定性。

可终止。

孤立。

功能 #1:确定性

如果程序每次向给定输入提供相同的输出,则是确定性的。例如。如果 3+1 = 4,那么 3+1 将始终是 4(假设相同的基数)。因此,当一个程序将相同的输出提供给不同计算机中的同一组输入时,它被称为确定性。

功能 #2:可终止

在数学逻辑中,我们有一个名为 “停止问题” 的错误。基本上,它指出,无法知道给定的程序是否可以在时间限制内执行其功能。这显然是智能合约的一个问题,因为根据定义,合同必须能够在特定时限内终止。智能合约需要一个能够集成停止机制的环境。

功能 #3:隔离

在区块链中,任何人和每个人都可以上传智能合约。然而,正因为如此,合同可能在知情和不知情的情况下包含病毒和错误。如果合同不是孤立的,这可能会妨碍整个系统。因此,必须将合同隔离在沙箱中,以保护整个生态系统免受任何不利影响。

以太坊通过 EVM 提供所有这些功能。它是一个简单但功能强大的图灵完整 256 位虚拟机。

什么是以太坊气体?

气体是一个测量执行某些操作所需要的计算工作量的单位。EVM 中运行的所有智能合约都使用固体编码(以太坊计划将来从固体转移到毒蛇)。每一行固体代码都需要一定量的气才能进行计算。

下面的图片取自以太坊黄页,可用于获得一个粗略的概念,具体的指令成本多少气体。

图片提供:以太坊黄皮书

为了更好地了解气体在以太坊中的工作原理,让我们使用一个类比。假设你要去一个公路旅行。在执行此操作之前,请执行以下步骤:

你去加油站,并指定你想填补你的车多少气体。

你得到的气体充满你的车。

你付给加油站的钱你欠他们的油。

现在,让我们与以太坊绘制相似之处。

汽车是你想要执行的操作,如气体或智能合约。

气体很好... 气体。

加油站是你的矿工

你付给他们的钱是矿工费。

用户想要在以太坊中执行的所有操作都必须为以下内容提供气体:

为了涵盖其数据又名固有气体。

覆盖整个计算。

现在我们已经介绍了裸露的基础知识,你可能会问以下问题。

为什么我们有这个气体系统?

答案很简单... 激励。

像任何工作证明点对点系统一样,以太坊在很大程度上依赖其矿工的哈希率。矿工越多,哈希率越多,更安全,更快的系统。

为了吸引更多的矿工进入该系统,他们需要使该系统尽可能有利可图和诱人的矿工。在以太坊中,矿工可以通过两种方式赚钱:

通过挖掘块并获得块奖励。

通过成为他们的矿区块的临时独裁者。

让我们来探讨第二点。

矿工负责将交易放入他们的区块内。为此,他们必须使用其计算能力来验证智能合约。气体系统允许他们收取特定费用这样做。

这个费用被称为矿工费,它有助于激励他们积极参与生态系统。

那么,他们可以收取多少费用?在我们可以计算之前,让我们了解我们如何测量气体。

气体测量的最小单位是 Wei。所以,如果我们在操作过程中花 1 气体单位,我们称之为 1 卫。

测量单位如下增加:

图片信用:Steemit

在我们进一步之前,了解气体限制的概念是非常重要的。

什么是气体限制?

要在以太坊中完成操作,操作生成器(即发起交易的人或智能合约创建者)必须在将其提交给矿工之前指定气体限制。在确定了气体限制后,矿工才会开始执行作业。

提交气体限制时,必须考虑以下几点:

不同的操作将有不同的天然气成本(如前所示)。

矿工将停止执行的那一刻气体耗尽。

如果残留任何气体,将立即退还给操作发电机。

让我们在假设情况下看到这一点。

假设,我们正在添加两个数字,为此合同必须执行以下操作:

将 10 存储在变量中。假设这个操作成本为 45 威气体。

添加两个变量,让我们假设这个成本 10 微气。

存储结果,再次成本 45 威气体。

假设气体限值为 120 威。

矿工使用的气体总量为(45+10+45)100 威。

假设 1 韦费用 0.02 微以太坊的费用是(100*0.02 微以太坊)= 0.0002 ETH。

现在,剩下多少气体?

120-100 = 20 韦。

20 伟已退还给操作发电机。

所以,在指定了这一点之后,有两种情况必须考虑:

气体限制太低。

气体限制太高。

场景 #1:气体限制太低

如果一个操作耗尽了气体,那么它会恢复到原始状态,就像没有发生任何事情一样,但是,操作生成器仍然必须支付矿工的计算费用,并将操作添加到区块链中(即使它没有被执行)。

回到我们的公路旅行比喻,如果你没有在你的车里填充足够的气体,那么你将无法到达你的目的地,但即使如此,你支付了加油站的钱用于燃料的权利?

让我们来看看这是如何在我们假设的加法智能合约中工作的。步骤是:

将 10 存储在变量中。假设这个操作成本为 45 威气体。

添加两个变量,让我们假设这个成本 10 微气。

存储结果,再次成本 45 威气体。

然而,这一次,气体限值是 90 威。

现在,我们知道履行合同所需的气体是 100 威,但我们只有 90 条限制。

在这种情况下,矿工将进行 90 威的计算,然后收取 90 威的操作发电机费,这是(90 * 0.02 微 ETH)0.0018 ETH。

此外,合约恢复到原始状态,并添加到区块链中。

场景 #2:气体限值过高

那么,如果我们把气体限制设定得太高呢?

这将是有意义的做对吗?毕竟剩余的东西都会退还给操作发电机吧?

这在纸面上听起来不错,但它并不真正工作在现实中。你必须记住,以太坊上的每个区块都有一个整体气体限制。矿工只能添加加加起来小于或等于块气限值的作业。

图片提供:哈克中午

假设交易 A 的气体限额为 42,000,而两个交易 B 和 C 的正常限额为 21,000。

哪些对矿工来说更有意义?

他们会进行交易 A 并退还大量的气体吗?

或者他们会把交易 B 和 C 和退款几乎没有回来?

第二点对他们更有意义的经济权利?

这正是为什么有一个膨胀的气体限制是不合理的方法。

高低气体与高低费用

到目前为止,应该清楚的是,气体和醚是不一样的事情。气体是所需的计算能力量,而乙醚是价格,也就是必须为该气体支付的费用。

现在,随着我们迄今所获得的一切知识,让我们来看一下某些天然气和费用情况。

如果操作具有低气体,那么矿工甚至不会拿起它,因为它没有足够的气体来完成计算。

如果一个操作的费用低,那么它可能只有足够的天然气来支付它,但是矿工仍然不会在这些位子里挑选它,因为低费用的操作对他们来说在经济上是不可行的。

如果作业具有 HIGHG 气体,则意味着作业膨胀,气体极限很高,因此矿工不会拿起它。

如果操作费用高,那么矿工知道他们会赚很多钱,并立即拿起它。

不同交易费用的建议天然气价格,根据煤气站:

以太坊天然气价格上涨

近年来,以太坊区块链的使用量有所增加。这是因为使用更复杂的智能合约的增加。

根据以太坊加油站,像 USDT 这样的稳定币和 Uniswap 这样的分散交易所是空间中更多的天然气饥饿的智能合约。这种增加的使用率会提示用户支付更高的费用,以便更快地处理交易。因此,当有大量活动时,费率可能会迅速上升。

要了解情况有多严重,请考虑这一点。根据硬币指标,在一定程度上,每笔交易的平均成本已从 2020 年初的约 8 美分攀升到 7 天平均约 91 美分。数字资产数据的康纳·阿本彻恩笔记:

“到目前为止,较高的天然气费用阻止了较小的玩家参与 DeFi 最有趣的协议,例如合成。”

这是一个绝对的耻辱,因为以太坊和 DeFi 是建立一个开放和易于访问的全球金融体系。

更糟糕的是,随着更复杂的 DEFI 协议和用户进入生态系统,这个问题只会恶化。

那么,以太坊的竞争对手如何处理气体问题?让我们来看看..

EOS 中的智能合约设计:所有权模型

以太坊气体系统可以被认为是一种租赁模式。以太坊是一款全球超级计算机,您可以租用资源(气体)来创建和运行您的应用程序。

另一方面,EOS 则使用所有权模型。EOS 不是一个去中心化的超级计算机,而是计划成为一个去中心化的操作系统,Dapp 开发人员可以利用它来创建和编码各种 Dapp。EOS 令牌充当收费站,持有它们可以让您访问各种资源,如带宽,计算和 RAM。

由于这些资源稀缺,EOS 不希望您持有他们的令牌太长时间。EOS 背后的公司 Block.One 在平台章程中明确提到,三年内不使用他们的令牌的 EOS 成员将被终止他们的帐户。

通过投注和锁定 EOS 令牌,您可以获得同等数量的网络和 CPU 带宽资源作为回报。但是,由于 RAM 是一个稀缺的资源,所以你不会通过下注自动获得它。因此,要获得它们,您需要直接从 RAM 市场购买它。

每当有人购买或销售 RAM 时,买方和卖方均需支付 0.5% 的费用(总体 1%)。这实际上给了用户出售其 RAM 的经济激励,并阻止投机性营销和通货膨胀,因为收集的费用被迅速烧毁(从生态系统中删除)。

此内部 RAM 市场将确保 RAM 的稳定可用性,并将抵消任何未来预测的短缺。您将能够根据系统设置的价格,根据当前可用的 RAM 供应购买 RAM。

通过购买和使用这些资源,开发人员可以创建去中心化的应用程序。

EOS 开发成本

与以太坊相反,您不需要在 EOS 中支付天然气价格。您需要投注您的 EOS 令牌来接收带宽、CPU 和存储以获得您的智能合约。随着这一切,你仍然需要 RAM。由于 RAM 是如此罕见的资源,您需要从内部 RAM 市场购买它。根据 EOS 资源规划人员,记录管理费用为每个 KiB 0.154 美元

因此,考虑到所有这些信息,让我们看看运行应用程序需要投注多少 EOS。假设我们将为 1000 个用户创建一个应用程序。您需要考虑以下指标:

为每个用户帐户付费。

您将需要为他们的存储付费

您还需要考虑所需的网络带宽和 CPU 带宽。

RSK-比特币和以太坊之间的桥梁-智能合约设计

Rootstock(RSK)是一个智能合约平台,通过侧链技术连接到比特币区块链。Rootstock 出生就是与以太坊的应用程序(Web3/EVM/Solidity 模型)兼容,比特币作为底层的加密货币。创建 RSK 背后的想法是给比特币区块链智能合约功能。在其核心上,Rootstock 是以下几种组合:

一个图灵完整的资源占用的确定性虚拟机(用于智能合约)兼容以太坊的 EVM。

基于强联盟的双向挂钩比特币侧链(用于 BTC 计价的交易)

SHA256D 合并挖掘共识协议(依赖于比特币矿工的共识安全),具有 30 秒的块间隔。(用于快速付款)。

RSK 允许您构建直接连接到以太坊区块链的令牌桥梁。这使得合同创建者能够利用两个区块链的优势,但它也允许在两者之间创建一个蓬勃发展的、可互操作的生态系统。

那么,这是如何转化为天然气价格的?在天然气成本方面,RSK 历史上比以太坊便宜。

上面的蓝线是以太坊的天然气价格,而下面的绿线是 RSK 的天然气价格。如果您需要更多的澄清,了解与以太坊相比有多少气体效率的 RSK,那么请查看:

以下是过去十天以太坊和 RSK 的平均交易费用比较。所以,这意味着不仅 RSK 更便宜,而且还带来了比特币区块链的整体安全性,使其比以太坊和 EOS 都具有明显的优势。

结论

随着我们进入 DeFi 创新和更广泛采用的全新时代,开发人员将需要一个能够高效开发应用的平台。虽然没有人否认以太坊是第一个推动者,但像 RSK 这样的其他平台肯定会成为未来潜在的沉重打击者。如果我们考虑到开发智能合约和所有类型的可替换令牌和不可替换令牌是 RSK 上的无缝过程的事实,开发人员有很大的激励措施来测试这个智能合约平台。

Rajarshi Mitra
Rajarshi started writing in the blockchain space after listening to Andreas Antonopoulos’ podcast with Joe Rogan. A content generating machine, Rajarshi has been consistently producing high-quality guides and articles for us since late 2016. His articles have been shared extensively in social media and several start-ups have used his guide as learning material for their staff. He is continuously invited all over his country to give talks in various crypto seminars and conferences. He has gained a solid reputation as a speaker/educator on top of being one of the most promising writers in the crypto space. When he is not busy nerding out over the latest in the blockchain/crypto space, he is usually busy watching re-runs of top gear and MMA.

Like what you read? Give us one like or share it to your friends and get +16

1,102
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In