重点
?切源于资源定价
FuelV1是在以太坊上推出的第?个optimisticrollup,是?前唯?具有欺诈证明、不可变的智能合约和?许可区块?产的rollup。它是为P2P?付设计的。
FuelV2是?个模块化的执?层,在UTXO上提供Ethereum?格的智能合约。它将启动多个实例,使?Ethereum/Celestia作为结算层、数据可?性层和共识层。
Fuel?前还在开发?测试,主?发布还需要?个?时间。SwaySwap是在其上推出的UNIV2?格的AMM的第?个?作实例。
UTXO的好处包括可并?执?、欺诈证明和?状态账户抽象。
FuelVM是?个为?计算带宽?从头设计的新虚拟机。它带有WASM、EVM和Solana的SeaLevel的特征。
FuelVM?被称为述语和脚本的程序增强了智能合约的图灵完备。与合约不同,述语和脚本不会持久存储,从?限制了状态的增?。
你可能已经听到了Fuel的宣传——有史以来最快的模块化执?层。确实是?个?胆的说法。不幸的是,由于Fuel链还没有上线,我们不能直接测试,?且直接测试少掉很多快乐。在这篇?章中,我们将深?研究Fuel的设计。
?先,要明确模块化执?层是什么。模块化执?层的?个核?是其可验证性。这可以通过使?欺诈或有效证明来实现。Fuel?前的执?层设计为EVM欺诈证明,使其可以作为?个Rollup运?在以太坊上。然?,模块化执?层的定义?rollup更?泛,因为它们不订阅任何特定的数据可?性、共识或结算配置。因此,Fuel可以被部署为?个rollup,celestium,甚?是?个侧链/L1。
Fuel与今天的optimisticrollups的最?区别是,它运??个全新的虚拟机架构,即FuelVM及其?具链和语?。FuelVM带有来?WASM、EVM和Solana的SeaLevel的特征。但其最引?注?的点可能是他执?在?个基于UTXO的数据模型上。
波卡生态概念板块今日平均跌幅为0.41%:金色财经行情显示,波卡生态概念板块今日平均跌幅为0.41%。26个币种中9个上涨,17个下跌,其中领涨币种为:DOCK(+26.53%)、AR(+8.81%)、PCX(+7.69%)。领跌币种为:CHI(-10.09%)、OAX(-9.82%)、CELR(-9.60%)。[2021/7/1 0:20:57]
如果你对UTXO的第?反应是想到P2P?付,那也没有完全错。事实上,Fuel的第?个版本确实有关于?付的?例。?2020年以来?直在以太坊主?上运?,到?前为?,它仍然是唯?具有欺诈证明、不可变智能合约和?权限区块?产的rollup。但我感兴趣的是FuelV2,它承诺在UTXO上提供以太坊式的智能合约。
对于像FuelV1这样的特定应?的?付rollup来说,推出?个定制的虚拟机很合理,但鉴于EVM的存在,对于像FuelV2这样的通?rollup来说,这样做的优势就不那么明显了。毕竟,EVM不兼容性意味着EVM上的应?不能简单复制粘贴他们的代码到Fuel。这也意味着Fuel利?不到现有的EVM开发者社区和它的?具。关于UTXO上的智能合约看上去不是有点?不切实际吗?
在我们深?了解FuelVM的细枝末节之前,我们应该?先了解为通?计算建??个新虚拟机背后的动机。为了深?探讨这个问题,我们先回过头来看看rollup的发展?向。
今天的rollups的主要价值是以太坊扩容,以及潜在的功能扩展。Rollup在以下两点帮助以太坊扩容。他们把状态推到链外;即把它从L1移到L2。
平?性;即多个rollup可以同时在以太坊上运?。
?前限制Ethereum吞吐量的瓶颈是状态增?。就状态????,以太坊节点已满负荷运?。Rollups通过将
?部分状态推到链外来缓解以太坊的状态增?问题;当?个dapp运?在rollup?不是以太坊上时,它就不再使?以太坊的状态。但这并不能免除维护该状态的需要。虽然以太坊节点不需要维护它,但rollup节点需要。
Optimisticrollups会消耗以下资源;L2上的状态和执?,以及L1上的数据。现在rollup对优化状态的关注并不多。这是因为rollup是从新的状态开始的,在出现紧急情况前有?些反应余地。
波卡生态概念板块今日平均涨幅为0.44%:金色财经行情显示,波卡生态概念板块今日平均涨幅为0.44%。26个币种中17个上涨,9个下跌,其中领涨币种为:EDG(+16.44%)、RING(+15.25%)、MXC(+13.32%)。领跌币种为:XOR(-60.77%)、INSTAR(-6.32%)、CHI(-5.95%)。[2021/4/5 19:47:29]
?部分rollup关注的焦点都集中在减少L1数据上,因为?前数据是rollup成本内最昂贵的部分。?约有?的Arbitrrum费?花在1Calldata上。EVMrollup对发布到L1的数据进?优化,尽可能地压缩它,为?户提供更便宜的费?。
这?没有说明的是,在模块化时代,成本的分布将发?巨?变化。随着基础层开始提供?量的数据,rollup将很快享受到数量级的廉价数据。同时,由于很少关注状态的增?,状态的??将很快再次作为模块化时代的主要瓶颈?被关注。
?论是rollup还是L1,促成状态增?的操作都会给?络带来永久性的成本。这些操作不仅花费了当前节点的资源,?且还花费了未来所有节点的资源。虽然摩尔斯法则可以缓解这些预计的未来成本,但任何不仔细维护其状态的区块链都有可能进?不可持续的状态增?,这将不可避免地使这条链慢下来。如果?个区块链运?EVM,它将继承EVM的所有不利因素。在这??,rollup并不特别。有趣的是,这个问题对于rollups来说?对Ethereum更严重,因为他们的数据成本?常昂贵,所以显得状态相对便宜。这进?步?励了dapp优化合约,尽可能多地使?状态?不是数据,加剧了不可持续状态的不良结果。
EVMrollup的?个计划是,在当前链状态积满时部署新的链,让?由市场来?动平衡;新的rollup将?旧的更便宜,会?然讲?户转换到新链。对ArbitrumOne这个名字有印象吗?最近Arbitrum推出了它的第?条名叫Nova的链,专?于游戏和社交应?。对我来说,这听起来像是?种达到?的的?段,?不是真正的扩展。
这些因素构成了Fuel的模块化执?层愿景和FuelVM的基础。FuelVM从模块化执?层的?度来考虑可扩展性,?不是从以扩展特定基础层为主要?标的rollup的?度。它推崇计算?不是数据,并尽量减少状态的使?。尽管有摩擦,Fuel将EVM的不兼容性视为?种特性,?不是?个错误。
波卡生态概念板块今日平均涨幅为9.66%:金色财经行情显示,波卡生态概念板块今日平均涨幅为9.66%。26个币种中23个上涨,3个下跌,其中领涨币种为:XOR(+68.56%)、DOCK(+39.77%)、CRU(+25.33%)。领跌币种为:OM(-8.24%)、KTON(-3.04%)、OCEAN(-1.16%)。[2021/3/9 18:29:31]
带有UTXO的智能合约
如前所述,Fuel采?了UTXO数据模型。?期以来,?们认为带有UTXO的智能合约是不实?的。为了判断这?点,让我们看看什么是UTXO。
在?特币中,状态被描述为?个UTXO集,每个UTXO代表?个特定的状态元素。由于?特币完全是关于?付的,状态只是定义了谁拥有多少个代币。因此,状态元素;即UTXO,是具有特定余额和?付状态的代币。
与?特币类似,在FuelV2中,整个状态是由UTXO集合组成的。不同的是,这些UTXO中有些是代币UTXO,有些是合约UTXO。除了余额和?付状态外,合约UTXO还有?个代码、存储和?个独特的合约ID。
UTXO的?个显著特点是,它们是原?性的。也就是说,每次交易都会完整地消耗它们,并创建新的。估计你已经熟悉了代币UTXO的使??法,但使??个合约UTXO到底意味着什么?
直觉告诉我,有效性规则定义了执?怎样表现在UTXO上。对于代币UTXO来说,众所周知的有效性规则是:输出之和不能超过输?之和。除了这个规则外,对于合约UTXO,Fuel定义了?些新的有效性规则。重要的规则包括:
合约UTXO被锁定在?个特殊的任何?都可以消费的消费状态后?。
当?个交易消耗了?个合约UTXO时,它会创建?个新的合约UTXO,具有相同的消费状态和合约ID,但可能有新的存储和余额。
在同?个交易中花费的合约UTXO可以相互影响。
如图所?,?个合约UTXO总是指向?个永久的合约ID,但可以随着交易对合约状态的改变?被消耗并重新创建。因此,它们代表了合约在某个时间点上的状态。
波卡生态项目Darwinia Network宣布主网上线:波卡生态项目Darwinia Network宣布主网上线,Darwinia Network的初始版本已经发布。作为验证者或提名人参与质押的用户在本阶段可获得奖励。
此前消息,Darwinia Network表示,主网上线将会以渐进的方式分为几个阶段来逐渐解锁主要的功能模块来完成。可以将以太坊和波场上的RING和KTON跨链转移至主网的“创世跨链”截止时间为,北京时间2020年9月24日16点。在上线第二阶段(“创世跨链”截止后大约1个月),会先开启以太坊-达尔文主网单向桥,可以通过此桥,将以太坊上的RING和KTON转移至达尔文主网。在上线第三阶段(第二阶段开启后大约半个月到1个月),会开启以太坊-达尔文主网双向桥, RING/KTON可以在这两个网络中自由转移。在主网上线第三阶段开启后,用户可以在主网进行RING和KTON的转账。[2020/9/27]
解决争议
对UTXO上智能合约的怀疑主要始于,有关Cardano上第?个AMM实现所产?的争议。
这个问题与强迫?户签署UTXO合约有关。在AMM这种流?应?中,?个区块内可能有许多交易发?在?个池??。在这种情况下,多个交易试图使?同?个合约的UTXO。但由于第?个交易消耗了该UTXO,所有以该合约UTXO为?标的交易都会失败,因为原本合约的UTXO不再存在。
Fuel是怎么解决这个问题的?他们的办法是让双?在交易的不同部分上进?签署。当?个交易启动时,?户签署合约ID,?不是合约UTXO。这样?来,?户只需指出他们的交易想交互的合约,但不?指定合约在交易执?前后的特定状态。这很直观,因为?户实际上不知道交易执?时合约的状态,因为最终交易排序不是由他们决定的。是区块?产者决定了哪笔交易要使?哪?个合约UTXO。
区块?产者决定交易排序,并且知道交易执?时合约的状态。因此,他们决定交易将花费的确切输?,并在其上签名。在执?交易时,合约UTXO被消耗,并被?个代表合约后状态的新合约UTXO所取代。
动态 | 波卡生态项目Edgeware主网启动时间推迟至2月17日:继去年9月15日Edgeware主网启动失败,改为测试网;2月12日宣布启动主网后,波卡生态项目Edgeware宣布再次推迟。今日,项目方在Discord发布公告称,Edgeware主网启动时间推迟至2月17日10时(EST),即北京时间2月17日晚上11时,原因是主网启动前出现了问题,需要进行修复。[2020/2/12]
现在我们已经介绍了UTXO的?式,接下来来看看为什么要?它。
可并?执?
可并?执?普遍被认为是?个有价值的特性。Anatoly预测,可并?执?环境将在5年内处理99%的交易。Vitalik使?们注意到可并?执?对于扩容的重要性,并且认为它是在EVM上实现Rollup的?个可?的选择。
并?化的核?在于,在交易执?前知道状态的哪?部分将被修改的能?。这被称为访问列表。今天,EVM交易的访问列表是随机的。由于没有办法知道多个交易是否访问相同的状态元素,所以这些交易都必须在?个单线程进程中执?。就像如果你的CPU有8个核?,其中7个就会闲置,这是?种资源的浪费。
基于账户的模型能被设计成可并?执?,但这需要额外的考虑,?如严格的访问列表。事实上,Solana就是这么做的,也是过去在EVM中多次被提倡的做法。
UTXO模型可以轻松获得这种能?,因为它已经将状态划分为元素,交易在使?元素前必须指定。因此,使?不同的UTXO的交易可以被整理出来,以并??式执?。这使FuelVM能够发挥多核处理的所有优势。重要的是,并?化执?不仅适?于块内的交易,也适?于跨块的交易,允许进?节点快速同步。
并?化执?的好处将变得更加越来越明显。其中?个原因是,单核性能?直在放缓,?多核CPU可以通过不断增加新的CPU以提?性能。此外,在多核处理环境下可以享受乘数效应带来的执??提升。
并?执?的颗粒度
确定访问列表的颗粒度是?个实施选择(implementationchoice)。Fuel在合约层?定义了这种粒度,相反的,Solana是在程序内部的各个存储槽内定义了这种粒度。因此,Solana的?法有着更细的颗粒度,有可能允许它?Fuel更多地并?执?交易。这当然是折衷的结果。
任何去许可?络都必须衡量其资源使?情况。执?的颗粒度越?,准确有效的资源定价就越具有挑战性,这不仅是因为复杂性提?了,还有开销的原因;计量本?就是?种计算。Solana正在努?克服这?挑战,因为它的朴素计量在过去曾多次导致?络停顿。
超出合约级别的颗粒度迫使开发?员执?低级别的状态管理。这就以增加??的?式把成本推给了应?层。
值得注意的是,在这?团队?场的差异不仅是?个社会决定,也是?个技术决定。与Solana相反,?门级功能的消费级硬件就可以?持Fuel全节点,因此对追求现代CPU提供16个线程以上的多线程性能不感兴趣。
欺诈证明
UTXO模型在欺诈证明??也发挥得很好。欺诈证明,即检查?个或多个交易,验证当其应?于?个给定的前状态时,是否会产?其声称的后状态。在?个基于账户的模型中,前状态和后状态是通过代表整个状态的哈希值全局表?的。欺诈证明要求这些状态根在交易之间定期发布。UTXO模型中,每笔交易明确地定义?个状态转换,因此不需要额外的?作来计算全局状态根,减少了将执?欺诈证明的额外开销。虽然不是?个戏剧性的改进,但却是?个很好的功能。
更重要的是,现在EVM公认是?种难以建?欺诈证明的虚拟机。?乎所有的EVM推?团队都接受的解决?案是——?先将EVM编译到?个?级抽象层,如MIPS,然后在MIPS上玩防欺诈游戏
。很多?都在朝这个?向努?。?级抽象层确实可以为模块化世界带来很多好处,因为它可以将防欺诈过程的?部分标准化。任何编译到MIPS的东?都可以在EVM上运?欺诈证明,如果可以MIPS可以?成有效性证明,甚?可以进?zk证明。
另???,Fuel团队?前的计划是直接在EVM上运?FuelVM欺诈证明,因为该团队认为这是可?的。这个计划的可?性还有待观察,但我当然希望看到替代?案,因为MIPS路线也有许多未知数。
寄存器与堆栈
我不会在这?花太多时间,但值得注意的是,在最低?平上,FuelVM是?个基于寄存器的,类似于SolanaBPF。这与EVM不同,EVM是?个基于堆栈的。主要区别在于,基于堆栈的机器有更?的指令,但通常需要更多的指令来完成?作。较少的指令使基于寄存器的机器能够?得更快。
回来谈谈状态
我们已经介绍了如何提?执?性能,但还还没解释Fuel如何处理状态增?问题?
FuelVM?被称为述语和脚本的程序增强了智能合约的图灵完备性。与EVM不同的是,在EVM中,?户可以调??个合约,并让该合约调?其他合约,在FuelVM中,?户不直接调?合约。相反,他们运?脚本,可以调?多个合约。
脚本的好处是它们是可修剪的。虽然可以在合约间传递数值,但它们并不需要永久存储。因此,?旦脚本被执?,它们就会被完全修剪掉,?不会影响到状态。
述语与脚本类似,它们在执?过程中甚?不读取合约内存。它们是完全
?状态的,可以?来设置UTXO的使?条件,以限制它们在未来如何被使?。例如,?个述语被?来?持MetaMask,它将?些代币锁定在?个消费条件后?,这些条件只有在获得Ethereum兼容的签名情况下,才能被满?。
脚本和述语的主要想法是把FuelVM变成?个半去状态的执?。这?需要注意的关键是,状态和执?并不是相互排斥的资源。App可以根据??功能和这些资源的定价,偏重其中?个。状态可以通过脚本和述语得到更好的维护,?不是有状态的合约。例如,从技术上讲,Uniswap路由器合约的功能可以完全被脚本所取代。但这只有在计算的价格?状态便宜很多的情况下才会发?,?且只有在具有?计算带宽的执?环境下才有可能
灵活的吞吐量
最后,通过述语、状态和合约的组合,有各种很酷的?例都变得很容易实现。?些显著的例?包括。
多个原?资产?持;合约可以将其代币变成原?资产在?个单?的交易中批准和transferFrom
混币器和其他隐私应?
巨型合约:脚本可以从合约中加载代码,并将其附加到其执?中,有效地创建巨型合约
本地多签名?持,不需要合约
本地元TXS?持,不含合约;为别?的TXS?付汽油等。
?计算?例:AMM池的复杂曲线,闪电交易/贷款等。签署?次的分批交易,以?便?户体验。
时间轴
FuelV2?前还在开发?上。有?些?范性的?例,如AMMs、multisig、oracles和DAO投票,?部分是在最近的hackathon上完成的。Fuel团队计划为有成熟市场的产品建?其他?范性?例,如借贷、NFT市场等。SwaySwap是?个?前正在?作的UNIV2?格的AMM的参考实现。主?离推出还有?个?的时间。值得注意的是,推出主?的?部分?作与在内部建??个全新的技术栈有关。Fuel的?标是提供?个完整的开发体验,包括具有适当计量的FuelVM,基于Rust的特定Sway,?具链Forc,编译器,索引器,区块资源管理器等。
总结
我对Fuel在模块化堆栈中带来的东?感到兴奋。数据可?性层扩展了数据,但为了完整的去中?化的?户体验,我们还需要扩展执?。Fuel是?个有希望填补这?空?的选择。虽然在UTXO上的执?可能是反直觉的,但我希望Fuel的独特能?能够催?新的应?,推动当前DeFi空间的能?。
原?链接
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。