在过去两年里,关于扩展的争论范围逐渐缩小,最后集中在模块化与集成的核心问题上。
。
在考虑模块化与集成时,一个链可以做出的最重要的设计决策就是让应用程序开发人员承担多大的复杂性。区块链的客户是应用程序开发人员,因此设计决策最终应该考虑到他们的需求。
如今,模块化在很大程度上被誉为区块链扩展的主要方式。本文,我将从第一性原理出发质疑该假设,揭示模块化系统的隐性成本,并分享我过去六年来对这一争论的思考和结论。
1、模块化系统增加了开发人员复杂性
到目前为止,模块化系统最大的隐性成本是开发人员面临的复杂性。
模块化系统大大增加了应用程序开发人员必须管理的复杂性,无论是他们自己的应用程序,还是与其他应用程序和状态块的交互。
在加密系统的背景下,我们今天看到的模块化区块链在理论上支持更大的专业化程度,但代价却是产生新的复杂性。这种复杂性——本质上是技术上和社会上的——正在向上传递给应用程序开发人员,最终使开发建设变得更加困难。
例如,拿OPStack来说,它似乎是2023年8月领先的模块化框架。OPStack迫使开发人员选入Lawofchains,或者是独立分叉并管理OPStack。这两种选择都给builder带来了大量的下游复杂性。如果你选择分叉走自己的路线,你是否会从其他生态系统参与者那里获得技术支持?如果你选入LawofChains,你在今天,甚至更重要的是,在明天给自己设置了什么样的规则和约束?
动态 | 巴西Banco Bradesco银行拒绝遵守防止加密货币账户被关闭的协议:巴西主要商业银行之一的巴西银行(Banco Bradesco)拒绝履行任何防止密码交换账户被关闭的协议。Banco Bradesco银行认为数字资产带来严重的风险,因此,该银行选择不遵守ABCB关于关闭密码交易所的任何要求。作为回应,巴西加密货币和区块链(ABCB)协会称该裁决充满了“黑暗、矛盾和遗漏”。(Bitcoinist)[2020/1/10]
Modern操作系统是由数百个子系统组成的大型复杂系统。ModernOSes处理上图中的2-6层。这是集成模块化组件以管理堆栈带给应用程序开发人员复杂性的典型示例。应用程序开发人员不想处理第7层以下的任何东西,这正是OSes存在的原因:OSes管理下面各层的复杂性,这样应用程序开发人员就不必这样做了。因此,模块化本身不应该是目的,而应该是达到目的的一种手段。
当今世界上每一个主要的软件系统——云后端、OSes、数据库引擎、游戏引擎等——都是高度集成的,同时由许多模块化子系统组成。软件系统倾向于长期集成,以最大化性能并最小化开发人员面临的复杂性。区块链也不会有什么不同。
模型,认为数据可用性和执行应该分离;然而,这一观点被广泛误解。对手头问题有正确的优先项理解会导致相反的结论:使用OSI作为类比是集成系统而非模块化系统的论据。)
2、模块化链不能更快地执行代码
根据设计,“模块化链”的通用定义是数据可用性和执行相分离:一组节点执行DA,而另一组执行执行。节点集之间不必有任何重叠,但它们可以重叠。
在实践中,分离DA和执行并不能从本质上提高两者的性能;最终,世界上某个地方的某些硬件必须执行DA,某个地方的某些硬件必须执行执行。分离这些功能不会提高任何一方的性能。然而,分离可以降低计算成本,但只能通过中心化执行来实现。
动态 | Bitapay因不接受比特币RBF转账 故拒绝了比特币核心开发人员的交易:近日,比特币核心开发人员Jonas Schnelli在推特表示,自己花费比特币在adafruit上购买东西没有成功,并质问Bitapay加密支付处理公司为什么拒绝了自己的交易,并且在支付后的两天内甚至都没有通知自己。而Bitpay没有对此做出回复,反而是另一个支付处理商Flowee The Hub在推特下面解释称:你的投诉是关于你发送的一个BTC交易,带有“我将以更高的费用进行双花”的风险暗示,这被商家认为是一个坏主意从而拒绝了你的交易。RBF(费用替代法)是从商家那里偷钱的,你最好使用CPFP或者只使用BCH。 据分析,BitPay之所以不愿意受理jonasschnelli的支付申请,是因为一方面在BitPay付款注意事项中已经标出了不接受比特币RBF转账;另一方面是因为RBF面临着极大的双花风险,对于零确认的小额交易来说非常的不划算。(BitcoinCash)[2019/7/25]
同样,值得重申的是:无论是模块化还是集成架构,某处的某些硬件必须完成工作,并且将DA和执行推送到单独的硬件上,本质上既不会让系统提速也不会增加系统的整体性能。
一些人认为,模块化允许大量EVM以rollup方式并行运行,从而使执行能够水平扩展。虽然这在理论上是正确的,但这个说法实际上强调了EVM作为单线程处理器而非在扩展总系统吞吐量的情况下解决DA和执行的基本前提。
模块化本身并不能提高吞吐量。
3、模块化增加了用户交易成本
根据定义,每个L1和L2都是具有自己状态的不同资产账本。这些独立的状态块可以通信,尽管延迟更严重,开发人员和用户复杂性也更大。。
美国证监会再次拒绝公开数字货币项目记录的请求:美国证监会(SEC)否认了BitConnect数字货币投资计划的信息自由(FOIA)请求,理由是该记录通常适用于执法相关。此前SEC就拒绝了来自Tezos案件原告律师提出的要求公开Tezos信息的请求,原因为可能会干扰调查或执法活动。该FOIA请求由佛罗里达州律师David Silver提出,其服务的律所Silver Miller在针对BitConnect的诉讼中代表受害客户。David表示,证监会和美国商品期货交易委员会调查BitConnect的决定并不令人意外,上个月与他联系的受害人损失共计超过10亿美元。[2018/2/21]
资产账本越多,所有账户碎片的全局状态就越多。这对链和各端用户来说绝对是非常可怕的。状态碎片化将导致:
流动性减少,因此对投资者来说价差更高。
gas总消耗更多。
更多跨资产账本的重复计算:当ETH-USDC的价格在Binance或Coinbase上波动时,所有资产分账本的每个ETH-USDC池都有套利机会。
重要的是要认识到,创建更多的资产账本明确地增加了所有这些维度的成本,特别是与DeFi相关的成本。
DeFi的主要输入是链上状态。当团队启动应用链/rollup时,他们自然会分裂状态,这对DeFi非常不利,在管理应用程序开发人员复杂性和用户复杂性方面都如此。
当资产在单个资产账本上发布并且交易在单个状态机内发生时,DeFi表现最佳。资产账本越多,应用程序开发人员必须管理的复杂性就越高,用户要承担的成本也就越多。
4、Approllup不能为开发人员创造新的盈利机会
App链/rollup的支持者认为,激励机制将引导应用开发人员构建rollup,这样他们就可以为自己的代币捕获MEV。然而,这种想法是有问题的,因为运行approllup并不是将MEV捕获回应用层代币的唯一方法,而且在大多数情况下,这不是最佳方法。应用层代币可以简单地通过在通用链上的智能合约中进行逻辑编码,将MEV捕获回自己的代币。让我们来看几个例子:
法国初创企业Multis获220万美元种子轮融资,DCG等参投:法国初创企业Multis完成220万美元种子轮融资,投资者包括White Star Capital、Y Combinator、Coinbase Ventures、eFounders、Greenfield One和Digital Currency Group。
据悉,Multis正在建立商业银行账户,允许用户存储、发送和接收加密货币。创建Multis账户后,用户可以添加其他团队成员并设置权限和限制。在后台,Multis是一个多重签名以太坊钱包。公司不控制密钥,这意味着Multis不能访问用户的资金。Multis支持基于以太坊的ERC20代币,这意味着用户也可以使用稳定币,如USDC和DAI。用户还可以直接从Multis交换代币。Multis账户可用于向员工、承包商、合作伙伴、供应商等付款,还可以投资一些资产,并凭借DeFi产品赚取利息。
目前,Multis客户主要是从事区块链产品的公司,通过加密货币创收或使用稳定币向人们付款。但该公司希望通过增加带有信用卡和国际银行账户(IBAN)的欧元和美元账户来简化其产品。(Techcrunch)[2020/9/29]
清算——如果Compound或AaveDAO想要获取清算机器人的部分MEV,他们可以更新各自的合约,支付当前清算人路由到DAO的费用的一定百分比。不需要新链/rollup。
Oracle——Oracle代币可以通过提供BRaaS来捕获MEV。除了价格更新之外,oracle还可以绑定任何保证在价格更新后立即运行的链上交易。因此,oracle可以通过向搜寻者、区块构建者等提供BRaaS来获取MEV。
NFT铸造——NFT铸造充斥着恶意机器人。这可以简单地通过一个逐渐降低的利润再分配编码来缓解。例如,如果有人试图在NFT铸造的两周内转售他们的NFT,那么100%的收入可以被重新捕获回NFT创建者或DAO。这个比例会随时间变化而变化。
ETC两大客户端OpenEthereum和MultiGeth宣布停止支持ETC:Parity开发者Wei Tang刚刚发布推特称,ETC两大客户端OpenEthereum和MultiGeth今日宣布停止支持ETC。而由于这两个客户端仍然共享ETC网络节点总数的70%,这是一个要求ETC用户采取适当行动的公共服务公告。而根据Wei Tang此后公布的文章,两大客户端停止支持ETC的原因和Wei Tang停止支持ETC的原因一样。此前6月10日,Wei Tang宣布停止支持ETC,原因是在Phoenix硬分叉后,ETC网络打破了以太坊一致性的逻辑,特别是在不变性方面。[2020/7/17]
对于将MEV捕获到应用层代币,没有通用答案。然而,只要稍加思考,应用程序开发人员就可以轻松地将MEV捕获回通用链上自己的代币中。启动一个全新的链是完全没有必要的,这会给开发人员带来额外的技术和社会复杂性,并给用户带来更多的钱包和流动性挑战。
5、Approllup不能解决应用间拥塞问题
许多人认为,app链/rollup可以确保特定应用不受其他链上活动造成的gas峰值的影响。这种观点一部分是正确的,但大部分是错误的。
这个问题之所以一直存在,主要是因为EVM的单线程特性,而不是因为DA和执行没有分离。所有的L2都向L1支付费用,L1的费用可以随时增加。在今年早些时候的meme币热潮中,Arbitrum和Optimism上的交易费超过了10美元。最近,在Worldcoin发布后,Optimism的费用飙升。
解决费用飙升的唯一方法是:既要最大化L1DA,又要使费用市场尽可能细化:
如果L1的资源受到限制,那么各个L2的使用高峰将会影响到L1,这将给所有其他L2带来更高的成本。因此,app链/rollup也不能幸免于gas费飙升。
许多EVML2的共存只是试图将费用市场本地化的一种原始方式。它比将所有内容放在单个EVML1中要好,但不能从第一性原理出发解决核心问题。当你认识到解决方案是将费用市场本地化时,逻辑端点是各状态块的费用市场。
其他链已经得出了这个结论。Solana和Aptos都自然而然地将收费市场本地化。这需要多年来对各自的执行环境进行大量的工程工作。大多数模块化的支持者严重低估了解决工程难题的重要性和难度,这些问题使超级本地收费市场成为可能。
通过启动许多资产账本,开发人员自然会增加技术和社会复杂性,而不会释放真正的性能收益,即使在其他应用推动交易量增加的时候亦如此。
6、灵活性被高估
模块化链的支持者认为模块化架构更加灵活。这种说法显然是正确的。但目前还不清楚这是否是重要的。
六年来,我一直在努力寻找这样的应用程序开发人员,他们所需的灵活性是有重大意义的,是通用L1无法提供的。但到目前为止,除了三个非常具体的用例之外,还没有一个清晰的表述可以说明灵活性为什么重要,也没有说明它如何可以直接帮助扩展。我发现的关于灵活性很重要的三个具体用例如下:
利用“热”状态的应用程序。热状态是一些操作的实时协调所必需的状态,但最终不会在链上永久提交。下面是热状态的几个例子:
--DEX中的限价订单。
--实时协调以及dFlow的订单流交付识别。
--Pyth之类的oracle。Pyth是一个独立的SVM链。Pyth产生了如此多的数据,以至于核心Pyth团队决定最好将高频价格更新发送到一个独立的链,然后根据需要使用Wormhole将价格桥接到其他链。
更改共识的链。这方面最好的例子是Osmosis和Thorchain。
需要以某种方式利用阈值签名方案的基础设施。这方面的例子有Sommelier、Thorchain、Osmosis、Wormhole和Web3Auth。
除了Pyth和Wormhole之外,上面列出的所有示例都是使用CosmosSDK构建的,并且作为独立链运行。这充分说明了CosmosSDK在所有三个用例中的质量和可扩展性:热状态、共识修改和阈值签名方案系统。
然而,上述三部分中的大多数项目都不是app,而是基础设施。
Pyth和dFlow不是app,它们是基础设施。Sommelier、Wormhole、Sei和Web3Auth都不是app,它们是基础设施。而那些面向用户的app都是一种特定类型:DEX。
六年来,我一直在询问Cosmos和Polkadot的支持者,他们提供的灵活性释放了哪些用例。我认为有足够的数据可以做出如下推断:
首先,基础设施示例不应该以rollup的形式存在,因为它们要么产生太多的低价值数据,要么因为它们执行一些有意与资产分账本上的状态更新垂直的功能。
其次,我所看到的唯一一种能够有效改变核心系统设计的应用便是DEX。这是有道理的,因为DEX充斥着MEV,而且从定义上讲,通用链无法匹配CEX的延迟。共识是交易执行质量和MEV的基础,因此基于对共识的改变,DEX自然就有很多创新机会。然而,正如本文前面所指出的,现货DEX的主要输入是正在交易的资产。DEX之间会竞争资产,因此也竞争资产发行人。在这种框架下,独立的DEX链不太可能获取成功,因为资产发行人在发行资产时考虑的主要变量不是DEX相关的MEV,而是通用智能合约功能以及将该功能纳入应用程序开发人员各自的app中。
然而,这种DEX竞争资产发行人的框架与衍生品DEX无关,衍生品DEX主要依赖于USDC抵押品和oracle喂价源,并且本质上必须锁定用户资产以担保衍生品头寸。因此,在某种程度上,独立的DEX链是有意义的,它们最有可能适用于以衍生品为重心的DEX,如dYdX和Sei。
相反,让我们来考虑一下目前存在的跨通用集成L1的app。例如:游戏、Audius、DeSoc系统、DePIN协议、声音、NFT交易等。这些都没有特别受益于共识更改带来的灵活性,它们各自的资产账本都有相当简单、明显的共同需求:低费用、低延迟、访问现货DEX、获取稳定币以及法币入金渠道。
我相信我们现在有足够的数据可以在一定程度上自信地说,绝大多数面向用户的应用程序都具有与上述相同的需求。虽然一些应用程序可以通过自定义对其他变量进行优化,但是这些自定义经利弊权衡通常是不值得的。
启动新的资产账本是实现灵活性的一种方式,但它却很少增加价值,而且几乎总是为应用程序开发人员创造技术和社会复杂性的同时获得的收益却微乎其微。
7、扩展DA不需要再质押
你还会听到模块化支持者探讨在扩展背景下的再质押。这是模块化链支持者提出的最值得商榷的论点,但值得关注。
它大致指出,由于再质押,加密生态系统作为一个整体可以无限次地再质押ETH,为无限数量的DA层和执行层提供支持。因此,在确保ETH增值的同时,可扩展性在各个方面都得到了解决。
尽管在现状和理论上的未来之间还存在大量的不确定性,但我们可以理所当然地认为所有分层假设都像宣传的那样。
目前以太坊的DA约为83KB/s。在今年晚些时候发布EIP4844后,将翻一番,约为166KB/s。EigenDA虽然采用了不同的安全假设,但其增加了额外的10MB/s。
相比之下,Solana今天提供的DA约为125MB/s。Solana比以太坊和EigenDA效率高得多,因为其Turbine区块传播协议,该协议已经问世3年了。此外,Solana的DA采用尼尔森定律将随时间的推移而扩展。
有很多方法可以通过再质押和模块化来扩展DA,但是这些机制在今天是完全没必要的,而且会带来很大的技术和社会复杂性。
8、为应用程序开发人员而建设
经过多年思考,我得出的结论是:模块化本身不应该是一个目标。
区块链必须服务于区块链用户——也就是应用程序开发人员——因此,区块链应该在基础设施级别抽离出复杂性,以便企业家可以专注于开发建设世界一流的应用程序。
模块化构建块很棒。但是,构建成功技术的关键是弄清楚要整合堆栈中的哪些部分,以及将哪些部分留给其他人。就目前而言,集成DA和执行的链本质上提供了更简便的终端用户和开发者体验,最终将为一流的应用程序打下更好的基础。
尽管前董事电子邮件的发布令人兴奋,但XRP选择以这种方式做出反应。 根据John.E.的说法,WilliamHinman的电子邮件发布可能不会对RippleLabs和SEC之间的案件判决产生实际.
在最近接受CNBC采访时,“熊陷阱报告”的作者拉里麦克唐纳认为,当前金融市场的动荡可能会促使美联储为抑制通胀而采取的激进货币紧缩政策发生急剧逆转.
加密货币市场的情况一直很不稳定,但像ShibaInu(SHIB)和Pepe(PEPE)这样的模因币受到的打击尤其严重.
SandeepNailwal看到了一个由以太坊和与基础链交互的第2层主导的加密格局。 Polygon联合创始人SandeepNailwal表示,以太坊将成为占主导地位的智能合约协议——所有其他竞.
随着亚洲交易周的开始,比特币和以太币面临小幅挫折,比特币下跌0.5%至26,366美元,以太币下跌0.2%至1,724美元.
LayerZero为开发人员提供了一种获取本质上毫无价值的gETH代币以进行测试的方法——但交易员抓住了这个机会,导致了一个异常高价值的市场.