Search the future

of publishing

Mirror.xyz is a decentralized publishing platform for web3.

AskMirror is the easiest way to discover the content that inspires you.

DISCOVER PUBLICATIONS YOU’LL LOVE

See more publications

RECENT ARTICLES ON MIRROR.XYZ

0xD62E

October 19, 2021 • 1 m read

Introducing AskMirror: Search and Discovery for Mirror

Mirror is democratizing the future of publishing. In fact, some of the best writing in the world is posted here. Yet one crucial aspect is missing from the Mirror experience: search and discovery. Finding content does not need to look like this: Today, we are launching AskMirror -- an advanced search and discovery site for the platform. We built this to enrich your web3 experience and give you a place to find, read, and follow what you love. AskMirror uses machine learning to tag and classify articles, making it ridiculously easy to discover content that inspires you. Search for articles, publications, and writers. Mirror was built in large part by its community, so we’d love to hear your suggestions and feedback. What would make your experience on Mirror, and web3, absolutely epic? Check out AskMirror at askmirror.xyz AskMirror was built by sepana.io The decentralized web is the new Internet. From Bitcoin to NFTs, DeSo to the metaverse, the revolution is upon us. But an internet is only as good as its search.So why does navigating web3 today feel like you’re using the search engines of the 90s? Search today is siloed and confusing. This is why Sepana has taken on the challenge of radically improving search and discovery for web3. We believe that a simple, powerful, and intuitive search is critical for unleashing the full promise of the decentralized web. In addition to AskMirror, we recently launched cloutavista.com, an advanced search experience for BitClout, and the DeSo protocol. Cloutavista is the embedded search engine for BitClout.com, Diamondapp, and other DeSo projects. We're looking for fellow adventurers, curious minds, and passionate tinkerers to help build a better way to navigate web3. Ping me at daniel@sepana.io if you're interested in joining the journey.

Daniel Keyes

0x0E58

Aug 18 • 1 m read

链上VS链下:区块链游戏应该如何取舍?

撰写:Axel F. 编译:深潮 TechFlow 链上VS链下:区块链游戏应该如何取舍? 当 reNFT 在2020年底出现时,不仅 NFT 空间最前卫的领导者和先驱者的头脑中还没有意识到这个概念,而且实际上 NFT 本身依然处于起步阶段:这是在 BAYC 之前的时间,以及他们推出后带来的深不可测的认识、接受和采用的浪潮。 虽然 NFT 本身已经存在了一段时间,但在2020年末,它们仍然在很大程度上处于区块链共识的边缘。 然而,从那以后,增长迅速:NFT 的无数用例和实用程序前所未有地激发了 Web3 和 Web2 企业家的想象力,所有行业的领导者似乎每天都在表达对元宇宙隐含的关注。 这自然对应着 NFT 销售和交易量的指数级增长,其中一个特定的用例引领了潮流,并主导了讨论和数据点:区块链游戏。 这是有道理的,截至7月,休闲手机游戏 Candy Crush 的用户已经累积了超过730亿小时的总游戏时间,这相当于超过800万年的累计游戏时间。 链上VS链下:区块链游戏应该如何取舍? 通过加入 NFT,特别是由 Axie Infinity 等公司发起的 Play2Earn ,玩家能够从他们的游戏中获得经济利益,并将原本用于追求纯粹休闲活动的时间货币化。 尽管游戏可能令人愉快,但如果有机会在从事业余爱好的同时赚钱,我想那么没有理由或争论为什么不应该追求这一点。 NFT 和区块链游戏的兴起带来了 NFT 租赁市场的兴起,这是有充分理由的:NFT 可能很昂贵,组建 Axie 团队的成本从低至数百美元到高至数千美元不等,具体取决于 NFT 的质量。 高昂的成本对于 Axie 在菲律宾和东南亚的许多核心用户来说,这使得他们无法接触到游戏及其生态。 这就是 NFT 租赁市场发挥作用的地方:如果用户想要临时访问一个区块链游戏,无论是领取P2E 奖励、申请空投,还是只是试玩,通过 NFT 租赁市场,他们不再支付购买 NFT 所需的全部资金,他们只需支付他们想使用的时间。 然而,在能够从 NFT 租赁市场提供的众多解决方案中受益之前,潜在的租赁者必须首先决定使用哪个平台来提供这项服务,考虑到自 NFT 牛市开始以来进入该领域的一系列创新项目和产品,这并非易事。对于最终用户而言,在做出此决定时需要考虑许多因素,但可以说其中最重要和最重要的是他们将使用的平台是链上还是链下。 链上和链下的困境 围绕链上平台相对于链下平台的优势和不足的争论超越了 NFT 租赁市场本身的话题,这实际上是 Web3 行业本身的核心讨论。 由于围绕该主题的安全隐患,诸如 Ronin 被黑和 Polychain Exploit 之类的事件一旦发生,就会使该问题迅速成为人们关注的焦点。最近,Tornado Cash 的情况从去中心化金融和链上隐私的突出角度重新引发了讨论。为了理解为什么这个问题如此相关,首先有必要更详细地挖掘 "链上 "和 "链下 "这两个术语,并分解两者之间的区别是什么。 打破行话 CNBC 在最近的一篇文章中试图向读者阐明这两个术语之间的区别时,采用了一个相当优雅的比喻: "把区块链想象成一个云存储设施,它分为两个部分:私人和公共。链上交易就像公共云,所有人都能看到,而链下交易就像私有云,数据不公开访问。" 链上VS链下:区块链游戏应该如何取舍? 简单地说,正如上面的比喻所写,"链上 "只是指通过公链网络存储或访问,而 "链下 "是指不在该公共网络上的任何东西(例如私链,或交易所)。 这两个概念之间有很多相关的分歧点,它们都包含独特的优势和劣势,可能会鼓励个人或组织在使用或开发平台时采用其中之一。 从根本上说,这些分歧点可以归结为三个不同的类别:安全、隐私和可访问性。 这些对于 NFT 租赁行业都具有相当大的相关性和重要性,无论是对于寻找可以租赁 NFT 的平台的个人,还是对于希望将租赁解决方案纳入其协议的项目。 为了了解链上与链下 NFT 租赁平台在这些因素方面的优势和劣势,最好通过区块链游戏的视角来讨论。这不仅是因为它有一个最清晰的 NFT 租赁用例,而且还因为其固有的复杂性和功能深度将使正在考虑的三个因素的每个复合部分得到最详细和最深刻的研究。 安全性 从安全性开始,链上平台和链下平台之间的差异从一点就变得很明显。之前提到的链上黑客事件让人们看到了链下安全优势(或者更准确地说,链上平台的安全缺陷)。区块链安全公司 1Kosmos 的 CTO 于2019年在《福布斯》上撰文,解释了这背后的理由,他说:"由于链下系统不是面向公共互联网的,所以它们更安全—这与你在内网内安装一台服务器或一款软件而不是互联网所达到的安全性非常相似。" 对于区块链游戏开发者和最终用户来说,这是一个关键的考虑因素。虽然可以采取强有力的措施,例如由大公司进行彻底的安全审计,以确保链上协议尽可能安全,但在公共网络上构建存在着固有风险,所以开发者和用户可能会觉得选择私人网络更舒服。 事实上,解决这个问题的一个可行和流行的途径是混合模式,即区块链游戏的某些方面--通常是游戏本身—在链外构建,而其他方面--如游戏中的 NFT 市场—在链上构建。事实上,Game7 的 2022 年开发报告中提到,这是一个越来越受欢迎的开发商追求的途径,也是解决这个问题的一个可操作的方案。 链上VS链下:区块链游戏应该如何取舍? 然而,它仍然包含风险。在链上 NFT 市场中,通常卖方或贷方将其 NFT 锁定在智能合约中,然后买方或租方通过转移资金或存入抵押品来解锁,此时智能合约将 NFT 发给他们。当 NFT 在智能合约中时,仍然存在可以利用该智能合约的风险。 因此,虽然这种方法降低了风险,因为它限制了游戏在链上托管的区域数量,但它并不能完全消除风险。 链下市场就没有风险了吗?当然不是。2018年,OpenSea 首席技术官 Alex Atallah 解释说,他们的市场正在转向链下,部分原因是为了解决安全问题。然而,一些著名的黑客攻击也是自那时起发生的。 因此,很明显,安全问题是一个复杂和多方面的问题,虽然协议可以做很多事情,以及可以采取的措施,以加强安全,但只要涉及任何形式的区块链技术,就有固有的风险。通过采用混合模式,并决定他们游戏的哪个部分应该托管在链上,这可以大大降低风险。 隐私 在研究链上、链下中的隐私之前,有必要指出,隐私并不意味着完全匿名;相反,它是围绕去中心化本身的更广泛讨论。 正如 Tornado Cash 的情况所揭示的那样,隐私问题的中心是在没有中心化人物或组织的监督和批准下进行交易的能力。在这方面,链上协议有明显的优势。这些协议涉及到智能合约的使用,它以无信任和无许可的方式运作。例如,一个区块链游戏将能够对他们的市场进行编程,以执行一个归属功能--即允许卖家和贷款人将 NFT 存入智能合约,然后允许买家和租户购买或借用这些。 这些都是点对点交易,智能合约作为一个自动托管账户,不需要游戏开发者自己来批准购买或租赁。更广泛地说,对于一般的区块链支付或交易,是由网络本身(或更具体地说,验证者)来验证和批准交易,需要一定数量的分布式签名,以使交易被视为有效并得到处理。 这对区块链游戏的好处是显而易见的,事实上,这也是现在著名的 Vitalik 当初创建以太坊的原因。 然而,完全的隐私和去中心化并非没有缺点。事实上,一些传统的 Web2 游戏玩家可能不喜欢他们的行动和活动在公共区块链上完全可被查看和追踪。因此,Web3 中的隐私是相当矛盾的。虽然你可以自由地以匿名的方式进行互动,但你的行为是完全可追踪的,如果你使用的是一个可疑的钱包,其他用户、个人和组织将能够准确地看到你在什么时候以及如何进行交易。 可访问性 可访问性是一个非常广泛的话题,但基本上可以归结为两个核心和关键的组成部分:速度和成本。 表面上看,链下平台似乎在这两个方面都有优势。从速度开始,链下协议就其本质而言,比链上平台更快。这是因为建立在公共区块链上的平台需要网络确认,通常来自许多人—或验证者—才能通过。虽然有利于去中心化,但这会导致延迟,如果有太多的交易同时发生,网络会变得拥挤。 这对游戏协议来说尤其重要,因为游戏协议往往需要每分钟进行数千次响应,甚至数万次数十万次。虽然像 Avalanche 这样的网络和他们完全创新的子网系统在一定程度上解决了这个问题,但链下平台本质上更快。 以 Runescape 的大型交易所为例,即使在 2000 年初期还处于起步阶段,也有数百万笔交易要处理。如果要在区块链上复制这些交易,很可能是不可行的--或者由于拥堵,需要花费很长的时间来处理每一笔交易。 链上VS链下:区块链游戏应该如何取舍? 可访问性的第二个核心组成部分是成本,链下平台似乎在这方面同样具有优势,原因也大致相同,因为链外交易通常是免费的,链上交易需要并且必须收费。这是为了激励参与处理交易的个人或矿工。 因此,由于上述原因,将区块链元素纳入游戏项目,似乎应该让开发者好好考虑一下。然而,正如本报告中提到的那样,答案在于寻求分离出区块链技术的最佳部分,并将其纳入现有的和经过验证的 Web2 实践中。 第三条路:混合模型 在深入研究了链上平台与链下平台的特点后,似乎选择区块链游戏的哪些方面在区块链上托管,哪些在链下托管,对于项目的成功至关重要。 事实上,这反映了当前的想法和公认的最佳做法。正如 Game7 所观察到的,"只有少数开发人员完全在链上构建:Dark Forest、Conquest、Topology、DeFi Kingdoms 和 Cometh……大多数游戏开发者选择将大多数游戏机制和游戏活动保持在链外,而 Web3 资产(代币、NFT)交易数据则被托管到链上。" 因此,当决定他们的项目应该在多大程度上上链,以及哪些方面和元素应该被托管在公共区块链上时,开发者能否找到一个无缝的解决方案和服务提供商,这一点也至关重要。同样,对于游戏玩家来说,他们应该注意到 Web3 元素是如何被纳入游戏的,以及链上功能在项目中的作用程度。 无论项目是寻求完全的链上还是完全的链下,还是介于两者之间,reNFT 都能够为他们提供所需的基础设施,通过完全可定制的解决方案,reNFT 将能够为项目配备他们所需的 NFT 租赁功能,使他们的产品更上一层楼,为游戏玩家提供他们应得的服务质量。 原文链接 深潮 TechFlow 是由社区驱动的深度内容平台,致力于提供有价值的信息,有态度的思考。 社区: > 公众号:深潮 TechFlow > 订阅频道: > 电报: > 推特:@TechFlowPost 进微信群添加助手微信:blocktheworld

techflowpost

techflowpost.mirror.xyz

0xd35C

Aug 18 • 1 m read

Mirror第42-43双周周报

中文 五年分叉事,都付笑谈中:作者回忆2017年比特币分叉,并与以太坊即将的分叉作比较,发出的一些感慨。 小資求穩≥8%年化穩定幣理財:作者整理多种稳定币理财方式,适合追求稳定收益的投资者。 我设计了一套给mirror社区使用的头像背景:作者为Mirror社区设计的头像背景模板,方便在人群中一眼找到同好者。 Web3 The Case For Social Wallets:作者设想一款降低用户准入门槛的社交钱包,只用来存放社交代币,支持出入金和链上交易。 Building on Web3:作为一个Web3的开发者,同时也是Mirror的员工,作者反思Web3开发过程中的收获与心得。 Dispatch.xyz and On-chain Messaging: A SheFi Review:介绍链上通讯工具dispatch。 NFT This Week in Writing & NFTs #2:作者精选的一周好文和NFT。 Building Market Microstructure for NFTs:本文主要是对NFT市场的观察与思考,当前NFT市场在交易的整个生命周期存在一些挑战和套利机会,各个环节都有改进的空间来让市场变得更加有效。 Dynamic NFTs: the next level:相比元数据不改变的静态NFT,动态NFT将根据预言机反馈改变其数据。作者认为NFT的下一个爆发点是动态NFT,并列举随浏览量变化的NFT、随着游戏推进变化的头像等应用场景。 DAO Why We’re Here: FWB Census:FWB面向社区发起了一次调查问卷,收集整理大家的反馈后形成这么一篇分析文章,值得社区建设者学习借鉴。 Zodiac.wiki Begins:一个秉持去中心化、开放、协作理念的wiki,选录的内容主要是DAO相关话题。 DeFi Derivatives in DeFi: Present and Future:介绍DeFi衍生品及它们的设计原理。

mcdao

mcdao.mirror.xyz

0xE43a

Aug 18 • 2 m read

粉碎指南:zkEVM、EVM 兼容性 & Rollups

原文: https://immutablex.medium.com/ground-up-guide-zkevm-evm-compatibility-rollups-787b6e88108e 译者:Hakeen 修订:Evelyn ZK-rollup长期以来被视为以太坊拓展性的终局。然而,尽管他们对以太坊拓展路线很重要,但在几个关键点上仍有几点不确定性: 到底什么是zk-rollup? 针对应用优化的rollups和通用rollups的区别是什么? 什么是zk-EVM rollup?像EVM等效行和EVM兼容性等术语究竟是何意义,并且其如何适用于rollups的? Zk-rollup生态系统的现状如何,这对我的项目又意味着什么? 如果你是一个希望了解以太坊扩展的下一阶段的开发者,那希望这篇文章能对你有所帮助。 什么是zk-rollup? Zk-rollup的主要实现是:证明系统如STARKs/sSNARKs,使用亚线性的处理流程来验证线性的语句数量(例如,1000个语句 → 10个验证人确认,而10000个语句只需要11个验证人去确认),这个特性就能让我们处理大量的区块链交易流程: 用户抵押其资产在L1的zk-rollup 智能合约上 用户提交包括这些资产的交易给L2的sequencer,sequencer把交易集合到有序的批次中,并且生成有效性证明,例如stark/snark,最后更新状态。 这个状态更新和证明被提交给我们的L1 zk-rollup智能合约,并由其验证,用于更新我们的L1状态 用户可以使用这个L1状态(取决于不同的数据可用性机制)来检索他们的资产,从而实现完全的自我托管和 "以太坊安全性" (Simplified ZK-Rollup Architecture) 在这里,只要我们核实验证的gas成本与交易规模呈现亚线性的关系,那么就可以验证更大规模的交易。要想更详细地了解这个过程,我推荐Vitalik的Incomplete Guide to Rollups或Delphi新发布的 Complete Guide to Rollups。 针对应用优化的rollups和通用rollups的区别是什么? 在特定于应用的rollups中,rollup支持由rollup运算符定义的固定数量的状态更改。这可以优化某些应用,如: Loopring — Payments & Swaps Immutable — NFT Minting & Trading, Games dydx — Perpetuals Trading 特定于应用程序的汇总非常适合扩展特定的、易于理解的问题。如果您作为项目的需求可以通过特定于应用程序的汇总来满足,那么您可能会为您的用例获得更好的性能、更好的用户体验和更好的定价,因为它们缺乏泛化性是一个巨大的优势。例如,在 Immutable,我们能够通过补贴免费的 NFT 铸币厂和对 NFT 交易收取费用的转账来消除 gas 费用——这种权衡只有在 rollup 状态转换的可预测性质下才有可能。 但是,许多项目希望能够创建自己的自定义逻辑和智能合约,独立于汇总运算符,这在特定于应用程序的汇总中是不可能的。此外,许多 DeFi 项目需要“可组合性”,或与其他项目进行原子交互的能力(例如,许多 DeFi 项目使用 Uniswap 作为价格预言机)。只有当您的汇总不仅支持自定义代码,而且支持任何用户可以部署的本机智能合约时,组合性才是可能的。为了实现这一点,我们需要修改 zk-rollup 的架构以概括我们的每个组件。 这种增加的灵活性有几个权衡:性能大大降低,汇总参数的可定制性降低以及费用更高。然而,最大的权衡是根本没有通用 zk-rollups 的实现,当然也没有能够生产量的实现。但这开始改变: StarkNet 目前在主网上运行(尽管处于有限的 Alpha 阶段) 3 个独立的项目 (zkSync, Polygon Hermez/zkEVM 和 Scroll)都在 ETH CC 2022 上宣布它们将成为第一个进入主网的“zkEVM” 这些最后的公告值得深入研究,因为这些团队不仅宣布了通用汇总,他们还宣布了“zkEVM”。随之而来的是许多围绕“EVM 兼容性”、“EVM 等效性”、“真正的 zkEVM”以及哪种方法更好而展开的大量推特争论。 什么是zk-EVM?EVM等效行和EVM兼容性术语的意义,并且其如何与rollup相结合? 理解虚拟机 以太坊虚拟机是执行以太坊交易的运行时环境,最初在以太坊黄皮书中定义,后来被一系列以太坊改进提案(EIP)修改。它由以下部分组成: 用于执行程序的标准“机器”,每个事务具有易失性“内存”,事务可以写入的持久“存储”和操作“堆栈” 在这台机器中执行状态转换的约 140 个“操作码” (Diagram from https://takenobu-hs.github.io/downloads/ethereumevmillustrated.pdf) 我们的虚拟机的一些示例操作码: 堆栈操作 —— PUSH1(向堆栈添加一些内容) 算术运算 —— ADD(加数字),SUBTRACT 状态操作——SSTORE(存储数据),SLOAD(加载数据) 事务操作——CALLDATA、BLOCKNUMBER(返回有关当前执行事务的信息) EVM 程序只是一系列这些操作码和参数。当这些程序被表示为一个连续的代码块时,我们将结果称为“字节码”(通常表示为一个长的十六进制字符串)。 通过将大量这些操作码组合成一个执行序列,我们可以创建任意程序。以太坊使用自定义虚拟机,而不是调整现有的 VM,因为它有独特的需求: 每一个操作都必须有“成本”来防止滥用(因为所有节点都运行所有的交易) 每一个操作必须确定(因为所有节点都将同意更改后的状态) 我们需要专门针对区块链的概念(如智能合约,交易) 一些复杂操作需要成为原语(如密码学) 交易必须是沙盒的,没有I/O或者外部状态访问 EVM 是第一个图灵完备的(也有准图灵完备的说法)区块链虚拟机,于 2015 年发布。它有一些设计限制,但其巨大的先发优势和随后的广泛采用为以太坊创造了巨大的差异化优势——它是迄今为止整个空间中最经得起考验的智能合约基础设施。 由于以太坊的主导地位,很多后来的区块链都直接采用了这种运行时环境。例如,Polygon 和 BNBChain 是以太坊的直接分支,因此使用 EVM 作为它们的运行时间。值得注意的是,EVM 并非一成不变,并且在 EIP1559 等升级中经常被修改。由于其他区块链需要时间进行更新,或者在多个地方与以太坊有所不同,它们通常运行着稍微过时的 EVM 版本,并且难以跟上变化的步伐——这一事实可能会让以太坊的核心开发人员感到沮丧。 以太坊的兼容性 然而,人们所说的“EVM 链”通常不仅仅只是镜像这个运行时环境。有几个主要规范始于以太坊并已成为事实上的全球标准: Solidity(一种编译成 EVM 字节码的高级语言) 以太坊的 JSON-RPC 客户端 API(与以太坊节点交互的规范) ERC20/ERC721(以太坊代币标准) ethers.js(一个与以太坊接口的网络库) 以太坊的密码学(例如 keccak256 作为散列函数,ECDSA 签名在 secp256k1 上) 从技术上讲,您的链可能有一个 EVM 运行时而不支持上述部分或全部。然而,遵守这些标准使得在你的新链上使用以太坊工具变得更加容易。一个很好的例子是 Polygon,它除了使用上述所有工具外,还能够运行 Etherscan (Polygonscan) 的分叉版本,使用 Hardhat 等以太坊开发工具,并在 Metamask 等钱包中被支持为不同的以太坊“网络”。像 Nansen 和 Dune 等工具最初都针对以太坊,因此添加对新 EVM 区块链的支持很简单。新钱包,新 NFT 市场——如果以太坊界面和你的链界面之间的唯一区别是链 ID,那么你可能是第一个也是最容易添加的。话虽如此,这些工具是为以太坊构建的——一旦你开始修改你的区块链(例如更大的块,更快的块时间),你就有破坏它们的风险。没有完美的兼容性。 尽管如此,针对以太坊规范的工具和应用程序的数量为新的区块链创造了巨大的动力,使其仅仅反映以太坊标准。任何不支持上述规范的区块链在涉及开发者工具时都会自动落后,并有可能随着EVM生态系统的发展而进一步落后。 我的认知是,“EVM 兼容”一词实际上不足以描述这里描述的网络效应——我们实际描述的是“以太坊兼容性”,并且远远超出了智能合约执行环境,延伸到了整个以太坊生态系统和工具集。 为了解决这个问题,像 Solana 这样的非 EVM 区块链必须创建完全平行的生态系统,这会降低它们的速度,并且更难吸引现有的开发人员。但是,不需要遵守这些标准确实使非 EVM 区块链能够对以太坊工具集进行更根本的更改,从而更积极地与以太坊区分开来。创建 EVM 区块链非常简单——但为什么有人会使用你的区块链而不是其他数百个 "快速EVM区块链 "中的一个。如果能克服建立一个成功的平行链和围绕其生态系统的困难,Solana 已经证明:a)你可以吸引出色的原生应用程序(例如 MagicEden、Phantom)和 b)如果商业激励就足够了(例如 Opensea 添加 Solana 支持)。 (Why does Medium not support tables?) ZK-EVM 通用rollups都有一个共同目标:让开发人员和用户尽快生成网络效应。这需要结合创造最高性能的rollup技术、拥有最好的 BD 团队以及进行最早或最有效的营销。但是,所有rullup团队(出于上述原因)都非常关注: 将现有的以太坊合约(和开发人员)迁移到他们的rollup中 受到现有 EVM 工具(例如库、钱包、市场等)的支持 实现这两个目标的最简单方法是创建一个“zkEVM”:一个通用汇总,将 EVM 作为其智能合约引擎运行,并保持与以太坊生态系统通用接口的兼容性,如上所述。 然而,这并不像分叉 Geth 那样容易,就像我们从头开始创建新的 L1 区块链时那样容易。我们的目标是运行 EVM 字节码——但 ZK 证明需要将它们证明的所有计算语句转换为一种非常特定的格式——一种“代数电路”,然后可以将其编译成 STARK 或 SNARK。为了快速了解“电路”,这里有一个例子(使用更直观的布尔电路作为算术电路的特例)。在基于这个简单电路的 zkSNARK 系统中,我们的证明者希望让验证者相信他们知道输入(𝑥1 = 1,𝑥2 = 1,𝑥3= 0),这些输入会产生真实的输出。这是一个非常简单的电路,具有有限数量的逻辑门——我相信你可以想象需要多少门来编码一个证明复杂智能合约交互的电路,尤其是那些涉及密码学的! 为了理解这个编译过程的每一步,我推荐 Vitalik 的SNARKs 从零到英雄指南,以及 Eli Ben-Sasson对不同证明系统的讨论。然而,对于我们的目的来说,这种更深入的理解并不是必需的——请记住,为了支持 EVM 计算,我们必须将所有 EVM 程序转换为这些电路,以便以后可以证明它们。 从广义上讲,有几种方法可以做到这一点(归根结底是底层电路和evm本身的兼容性问题如何解决): 通过将其转换为可验证的电路来直接证明 EVM 执行轨迹 创建一个自定义 VM,将 EVM 操作码映射到该 VM 的操作码,然后证明该自定义环境中跟踪的正确性 创建自定义 VM,将 Solidity 转换为自定义 VM 的字节码(直接或通过自定义高级语言),并在自定义环境中进行验证 对以太坊的兼容性是从上至下的。 选择一: 证明EVM执行轨迹 Scroll 让我们从最直观的开始:证明EVM执行轨迹本身,这种方法目前正在由Scroll团队(与以太坊基金会的隐私扩展小组一起)研究。为了使其发挥作用,我们需要: 为一些加密累积器设计一个电路(允许我们验证我们正在准确地读取存储和加载正确的字节码)。 设计一个电路来以正确的执行路线连接字节码 为每一个opcode设计一个电路(允许我们证明读写计算都是正确的) 以电路的方式直接实现每一个evm opcode是具有挑战性的,但是因为这个方式是对EVM的直接镜像,这对于维护行,稳定性和工具支持具有潜在益处。下图显示,Scroll和Ethereum之间唯一的理论区别是实际运行环境。然而,值得注意的是,Scroll目前并没有通过这种机制支持所有的EVM操作码,尽管他们打算随着时间的推移达到平价。 Optimism 团队对此进行了精彩的讨论,尽管是在optimistic rollups的背景下进行的。 Optimism 最初创建了一个自定义的 Optimistic 虚拟机(OVM) 作为其rollup的执行环境。 OVM 是“与以太坊兼容的”,这意味着它可以运行修改后的 Solidity 代码,但几个低级不匹配的领域意味着经常需要重写以太坊工具和复杂代码。因此,Optimism 转而使用“EVM 等效”,直接使用确切的 EVM 规范,并正在开发第一个等效于 EVM 的欺诈证明系统。然而,optimistic rollup不需要担心电路或证明者的效率——Optimism的正确选择可能不是我们rollup的正确选择。 不幸的是,EVM的核心基础设施并适合于zk-rollups。衡量rollup性能的一个核心指标是我们需要将某个计算编码到电路中的 "约束 "的数量。在许多案列中,直接镜像EVM会导致许多的过载。例如,EVM使用256bit的整数,然而zk证明很自然的在素数有限域下工作。引入范围检查来对抗不匹配的域的算术,每个EVM步骤增加了约100个约束。以太坊的存储布局严重依赖keccak256,它的电路形式比STARK友好的哈希函数(如Poseidon,Pedersen)大1000倍 —— 但替换keccak将对现有的以太坊基础设施造成巨大的兼容性问题。另外,与 SNARK/STARK 友好的椭圆曲线相比,标准以太坊椭圆曲线上的签名的证明和验证非常昂贵。(这些难以编码电路主要在于以太坊标准加密算法对于zk难以实现)简单来说,直接证明EVM会导致承载大量的计算负荷。然而这里有许多好处,(eg 多项式承诺,递归证明,验证加速)证明 EVM 执行路径总是比在定制设计的 VM 中证明效率低得多,至少在 EVM 本身做出更改以变得对 SNARK 更友好之前(可能需要几年时间)。 选择二: 自定义的VM + Opcode Support 这种认识促使团队采用上述“与 EVM 兼容”的方法:创建具有优化性能的自定义 VM,然后将 EVM 字节码直接转换为 VM 的字节码。 Polygon 一个专注于这种方法的团队是 Polygon Hermez(最近更名为 Polygon zkEVM)。Polygon构建zkEVM的方法是 "操作码级等效",这听起来与Scroll采取的方法最初相似。然而,与 Scroll 不同的是,Polygon 的备用运行时(“zkExecutor”)运行定制的“zkASM”操作码,而不是 EVM 操作码来优化 EVM 解释(即减少约束的数量与直接证明 EVM)。 Hermez 团队将此描述为“基于操作码的方法”,因为核心挑战是在他们的自定义 VM 中重新创建每个 EVM 操作码(您可以在此处查看代码),以便他们可以快速从 EVM 字节码转换为可验证的格式。 这些中间步骤为维护和潜在的错误创造了更大的表面积,但对于实现高性能的证明是必要的。最终,重要的是要清楚,你的程序不是在反映电路中的EVM的zkEVM中运行,而是在替代的 "zkExecutor "运行时中运行,它与EVM本身相似但不同。令人困惑的是,该团队将其称为 "zkEVM "和 "EVM等效"——然而,由于这个自定义的zkASM解释器,根据上述Optimism定义,这个rollup程序实际上是 "EVM兼容"。 因此,尽管大多数 Solidity 代码可能能够按原样运行,但可能与在该系统上运行的现有 L1 应用程序和工具存在一些不兼容。Polygon 已声明“与\~ 100% 的现有以太坊工具”兼容,并致力于 JSON-RPC 合规性,他们在文档中引用并在此处提供了实现。在实践中,这种说法可能是有抱负的,并且依赖于以太坊本身的东西变得对 SNARK 更加友好。 Polygon 的方法产生了比 Scroll 更高性能的汇总(肯定是在短期内),但具有: 大量自定义代码,因为我们需要创建 zkASM 开发人员可能需要修改其 L1 代码或工具框架 随着时间的推移,以太坊的漂移可能会增加 选项3: 自定义VM+转译器 上述解决方案在“使 EVM 为 zk-rollups 工作”方面投入了大量的开发时间,将兼容性优先于长期性能和可扩展性。还有另一种选择:创建一个全新的、专门构建的 VM,然后添加对以太坊工具的支持作为顶部的附加层。 Starnet 这是 StarkWare 对 StarkNet 采用的方法,这是目前最先进的通用rollup。StarkNet 使用自己的低级语言 (Cairo) 运行自定义智能合约 VM (Cairo VM),两者都是为智能合约rollups而构建的。这意味着 StarkNet 没有开箱即用的以太坊兼容性——正如我们之前看到的,即使是操作码级别的 VM 级别兼容性也是rollup性能的潜在手刹。 然而,Nethermind 团队(与 StarkWare 合作)创建了Warp 转换器,它能够将任意 Solidity 代码转换为 Cairo VM 字节码。Warp 的目标是使常见的 Solidity 合约可移植到 StarkNet——实现许多以太坊开发人员在“EVM 兼容性”方面的主要目标。在实践中,有一些Solidity的功能不被Warp所支持,包括低级别的调用(完整的列表可以在这里找到)。 这种构建智能合约rollup的方法是保持“Solidity-compatibility”:你不是在 EVM 内执行程序,也不是保持与任何其他以太坊接口的兼容性,但 Solidity 开发人员将能够编写可用于你的rollup。因此,您可以保持与以太坊类似的开发人员体验,而不必损害rollup的基本层——拥有蛋糕并吃掉它。 然而,这种方法还有几个额外的权衡。首先是构建自己的 VM 具有挑战性——以太坊团队已经有超过五年的时间来解决 EVM 的问题,并且仍然经常进行升级和修复。更加自定义的rollup将带来更好的性能,但您将失去所有其他链和rollup对 EVM 所做的集体改进的好处。 接下来,通过转译器支持 Solidity 可能会导致可组合性的损失——如果开发人员同时在 CAIRO 和 Solidity 中编写合约,那么支持两者之间接口的工具很可能会很变得脆弱。到目前为止,绝大多数 StarkNet 项目都直接使用了 CAIRO,它们可能不容易与未来的 Solidity 项目组合。最后,可能也是最重要的一点,StarkNet 团队目前的目标不是与其他以太坊组件兼容——他们正在推出自己的客户端 API、javascript 库和钱包系统,这将迫使与以太坊兼容的工具手动添加对 StarkNet 的支持。这是极具挑战性的,但并非不可能——如上所述,Solana 已经足够成功,其自定义标准得到了一些以太坊工具的尊重。 但是,如果他们能够成功地做到这一点,StarkWare 团队将寻求复制 EVM 的先发优势,并使用第一个针对 zk-rollups 优化的智能合约 VM。 Zksync 另一个采用这种策略的团队是zkSync。zkSync 创建了他们自己的 VM (SyncVM),它是基于寄存器的,并定义了自己的代数中间表示 (AIR)。然后他们构建了一个专门的编译器来将Yul(一种中间语言,可以编译为不同 EVM 版本的字节码,认为是较低级别的 Solidity)编译成 LLVM-IR,然后他们将其编译成自定义 VM 的指令。这类似于 StarkWare 采用的方法,但理论上提供了围绕基础语言的更大灵活性(尽管目前仅支持 Solidity 0.8.x)。zkSync 团队最初创建了自己的类 CAIRO 语言(Zinc),但他们将大部分精力集中在 Solidity 编译器上,以便为 L1 开发人员提供更简单的迁移。一般来说,他们的策略是重用以太坊工具集而不是 StarkNet ——我希望他们的客户端 API 等也更加“与以太坊兼容”。 zkSync 利用这个自定义 VM 来提供非 EVM 兼容的功能,例如Account Abstraction,这一直是核心以太坊协议的目标。这是自定义 VM 提供的好处的一个很好的例子——你不必等待以太坊构建新功能! 将所有内容放在一起,您可以清楚地看到每个团队遵循的不同策略: Vitalik 的zkEVM类型 Vitalik Buterin关于 zkEVM 的博客强调了 Rollup 团队当前面临的基本困境:EVM 不是为“可验证”程序构建的。事实上,正如我们通过上面的分析所表明的那样,你寻求与以太坊的兼容性越强,你的“可验证格式”程序的性能就会越差。Vitalik 根据与现有 EVM 基础设施的兼容性程度确定了通用rollup的几大类: 我要对他的论文做的唯一扩展是指出,即使在每个“类型”中也存在很大程度的可变性——我们正在处理一个范围,而不是完全细分的类别。从开发人员体验的角度来看,对应用程序层进行单一、小的更改的 Type 2.5 rollup 比 Type 3 rollup 更常见,后者对应用程序层进行了大规模更改,但在技术上没有引入新的 VM并成为Type 4。 智能合约rollup的现状 鉴于理解上述内容所需的细节,难怪我们围绕以太坊兼容性发明了一堆令人困惑的语言。事实上,没有 zk-rollup 在所有情况下都完美地反映了 EVM 的行为——这只是程度问题,每个团队做出的详细选择最终将最重要的是可维护性和性能,而不是仅兼容性。我的观点是以下定义是最清晰和最一致的: 重要的是要理解,上述方法都不是天生优越的——它是一种分类,而不是等级。它们都做出了不同的权衡:更容易构建、维护和升级,更高效,更容易与现有工具兼容。最终,领先的rollup也将取决于更好的分销和营销,而不是纯粹的技术能力。话虽如此,做出正确的基本技术决策无疑具有重大优势。Scroll 对 EVM 规范的热心承诺是否会使他们能够轻松响应任何 EVM 升级?另一个团队更务实的方法会帮助他们更快地进入市场吗?StarkWare 的定制 VM + 转译器方法会为长期规模提供更坚实的基础吗?另一支球队最终会从这个领域的先行者无疑会犯的错误中吸取教训并击败他们吗?最终,以太坊开发当前时刻的美妙之处在于,我们有不同的团队以截然不同的方法朝着一个共同的目标前进。 但在我们得意忘形之前,对当前智能合约rollup的准备情况保持清醒也是适当的。每个团队都有强烈的动机将自己推销为“即将接管世界”的团队 —— 但最早要到 2022 年底,以太坊上才会有“生产级”智能合约rollup,其中许多团队将直到 2023 年才准备好。根据 StarkNet 的发展历程,我们应该预计从 rollup 到达 testnet开始至少需要一年的迭代,然后才能在该 rollup 准备好支持主网上一致的生产级数量之前。 由于这种不成熟的状态,对于需要在不影响以太坊安全性的情况下进行扩展的开发人员来说,特定于应用程序的rollups仍然是最强大的选择。事实上,即使通用rollups可用并且得到更广泛的集成,我预计在可预见的未来,特定应用rollups的性能、定制和可靠性对于某些用例(例如交易所、NFT 铸造/交易)仍将保持优势。 其他汇总因素 尽管本文的主要关注点,但这并不是关于以太坊生态系统兼容性与性能的全部内容!还有许多其他因素会影响您是否应该在特定的通用rollup上进行构建。我将建议几个主要的附加标准: 费用:这些rollups是否会以原生代币、ETH 或两者的某种复杂组合收取费用?费用结构对用户和开发人员体验有巨大影响,因为rollups通常需要拥有费用代币来支付计算费用。 证明和排序:所有rollups都需要一个实体,该实体负责对交易进行排序和生成证明。今天大多数特定于应用程序的rollups都是“单序列器”,它以弹性为代价产生更高的吞吐量。大多数通用rollups最初是作为单个排序器rollups开始的,但他们通常计划随着时间的推移分散这个排序器。 自托管: zk-rollups 的核心承诺是能够在保持以太坊安全的同时解锁性能。但是,许多通用rollups目前没有明确的机制来在保证发生恶意或不可用的排序器时恢复用户资产。 数据可用性:如介绍中所述,自托管保证取决于故障情况下状态数据的可用性。然而,完整的数据可用性为用户带来了额外的成本,从而导致了一系列数据可用性模式。这已经在特定于应用程序的rollup世界(例如 Validiums、Volitions)中广泛使用,但是每个通用rollup都需要单独添加此功能。 总结 智能合约rollups是以太坊扩展路线图中令人难以置信的部分。这些rollups在与现有以太坊工具集的关系中做出的不同权衡是对以太坊开发者生态系统多样性的惊人证明。 然而,目前关于 EVM 兼容性的讨论通常没有抓住重点。从开发人员的角度来看,所有这些rollups都将支持 Solidity 代码。真正的以太坊兼容性是一个更大的挑战,但实际上需要权衡取舍,开发人员在进行rollup之前应该意识到这一点。目前,大多数rollup项目都是大规模的“远期销售”——销售其能力的 3 年以上愿景,而不是今天(甚至 12 个月内)可能实现的目标,这可能会使情况变得非常混乱。 为了透明起见,我希望每个主要的rollup团队都能对以下问题提供更清晰的答案: L1 和 L2 在运行时的确切差异是什么?L2 将修改哪些操作码?与 L1 相比,其他任何 VM 特征(例如费用结构)是否会有所不同? 您的自定义 VM 的正式规范在哪里,它在哪里比其他选项性能更高/性能更低? 此rollup将对其他以太坊接口(例如客户端 API、库)进行多少更改,这将破坏以太坊工具? 此rollup何时在测试网上上线?在主网上?能够支持 1000+ 定制合同 tps 的持续生产吞吐量吗? 您预计何时支持对用户资产的完全自我托管,在通用rollup的背景下会是什么样子? 一旦这些roolups在测试网上发布,这些问题应该更容易回答。在那之前,我希望看到团队继续发布更多关于他们的解决方案将做出的确切权衡的技术细节,以及这将如何影响智能合约和工具开发人员等。 随着合并指日可待,经过实战考验的特定应用程序rollups在生产中,以及通用rollups在明年进入主网,以太坊扩展的未来就是现在。

w3hitchhiker

w3hitchhiker.mirror.xyz

0x0E58

Aug 18 • 1 m read

NFTFi 赛道一览:哪些协议值得关注?

撰写:BurstingBagel 编译:深潮 TechFlow NFT 金融是我极其看好的叙事之一,最近的 Sudoswap 仅仅只是一个开始。在这里,我将把过去几个月里我看好的 NFT 金融汇编到一起,为了使文章保持井井有条,我将把项目分为四个不同的类别: 借贷; 流动性; 衍生品; 评估; NFT 借贷 目前存在的大多数 NFT 金融产品都是 NFT 借款和贷款市场。这些市场有不同的方式提供贷款,如点对点、点对池和点对协议。 点对点 NFTFi 和 Arcade 是点对点的 NFT 借贷市场,贷款人和借款人单独商定某些贷款条款,这使贷款人在风险容忍度方面具有更大的灵活性。 Metastreet 则更进一步,为点对点 NFT 抵押贷款平台提供流动性引导和扩展解决方案。他们将点对点 NFT 支持的贷款转换为总收益债务池,以使 NFT 所有者更容易获得贷款。 点对池 BendDAO、Drops DAO、PineLoans、ZhartaFinance(未发币)使用点对池借贷模型,贷方将资金存入池中,任何 NFT 提供者都可以借出。 点对池模型通常有更好的贷款资金利用率,因为借款人可以获得即时流动性,而不是从单个贷方那里获得贷款。 这意味着贷方的收益更高,但风险也更大。 点对协议 JPEGd 是一个点对协议的 NFT 借贷平台。在 JPEG Punk 上,BAYC、MAYC 和 Etherrock 持有者可以用他们的 NFT 以低利率铸造平台的稳定币 $PUSD,其在 Curve 上有不错的 APR。 NFTFi 赛道一览:哪些协议值得关注? Unlockd Finance (未发币)是一个跨链资本高效率 NFT 借贷市场。他们为用作抵押品的 NFT 计算出一个较低的标准 LTV,但也允许用户对他们的 NFT 进行评估,以便他们的 LTV 可以提高到 85%。 SpiceFinance (未发币)是一个 NFT 借贷市场的聚合器和流动性协议。用户将能够拿走他们的资金,选择一个风险阈值,然后 Spice 将自动将其引导到经最佳风险调整的借贷池。 Cyan・BNPL and Pawn NFTs 正试图引入首付机制,允许用户在首付后 3 个月内偿还剩余款项,让每个人都能获得 NFT 和元宇宙资产。 NFT 流动性 NFT 流动性是我最感兴趣的 NFT 金融细分领域。NFT 本质上是不流动的资产,这导致了可组合性和价格发现方面的问题。 以下是一些致力于 NFT 流动性的项目: Sudoswap 正在为 NFT 金融产品铺平道路。他们是一个完全在链上的、高效的去中心化的 NFT 市场。Sudoswap 的与众不同之处在于,买家和卖家能够在流动性提供者提供的可定制联合曲线上交易。 NFTFi 赛道一览:哪些协议值得关注? AssetMerge (未发币)是一个 AMM,可促进任何 NFT 的即时销售,同时根据其不可伪造的性质和对该系列的一般需求对每个 NFT 进行独特的定价。其他功能包括限价订单和闪兑,以在市场之间套利 NFT。 NFTFi 赛道一览:哪些协议值得关注? DanuFinance (未发币)允许对具有额外流动性池方面的 NFT 进行 P2P 交易,例如 Sudo,卖家可以随时使用它来获得即时流动性,交易者还可以针对所需的功能集提交专门的购买订单。 NFTX 是为 NFT 创造即时流动性的先驱者。即时流动性是通过将底层 NFT 存入 NFTx 保险库来实现的,作为回报,存款人可以得到 1 个 ERC 20 代币,然后可以在去中心化的交易所出售。 NFTFi 赛道一览:哪些协议值得关注? FloorDAO 增强了 NFTx 保险库的流动性,导致更好的利率和更少的利差。这是通过 OlympusDAO 引入的保证金和协议拥有的流动性来实现的。他们希望在未来几个月内扩大到 Sudoswap。 NFTFi 赛道一览:哪些协议值得关注? GumBallProtocol (未发币)是一个新 NFT 收藏的启动板和流动 NFT 市场。用户可以立即出售、交换和借用他们的 NFT,这是通过他们的 Gumball 代币实现的。 NFTFi 赛道一览:哪些协议值得关注? Protecc(未发币)希望成为 NFT 领域的首选做市商。他们计划通过与其他 NFT 金融化协议(如 Abacus 和 Blur )合作并建立伙伴关系来加强 NFT 的流动性。 NFTFi 赛道一览:哪些协议值得关注? NFT 评估 当每个 NFT 都是由数百个特征组成的独特成分时,你如何计算 NFT 的价值?对 NFT 的准确评估将使 NFT 金融产品具有更多的可组合性和资本效率。 Abacus (未发币)正在为 NFT 创建一个评估系统。它是以极强的可组合性构建的,并使价值累积到 $ABC 代币上。 Guzzolene (未发币)如果你熟悉 Curve 和 Convex ...... Guzzolene 就像 Abacus 的 Convex 一样,这是最简单的说法。 NFT 衍生品 信不信由你,合约、期权和信用违约互换都会出现在 NFT 上。以下是迄今为止 NFT 衍生品的情况以及正在建立的情况: Nftperp(未发币),作用就跟它的名字一样。在 Arbitrum 上为 NFT 提供永续合约服务。现在是时候有人创造一种简单的方法来做多或做空 NFT,以及对冲他们的头寸了。 NFTFi 赛道一览:哪些协议值得关注? Insrtfinance (未发币)提供复杂的 NFT 融资策略,一键解锁锁定在非流动性 NFT 中的数十亿美元。他们计划提供结构性产品,如 NFT 基础设施指数等等。 NFTFi 赛道一览:哪些协议值得关注? MimicryProtocol(未发币)是一个在全球抵押品池上运作的 NFT 预测市场。它实现了无限的流动性和零滑点。 Puttyfi 是一个点对点的期权市场,用户可以购买/出售 NFT 和 ERC20 代币的单一资产或一揽子资产的期权。通过使用看跌合约带来的 "购买保险 "能力使用户能够保护他们的 NFT。 NFTFi 赛道一览:哪些协议值得关注? jpeX Finance (未发币)也是链上 NFT 期权交易平台,同时还是 2022 年黑客比赛的赢家。用户可以通过交易看涨和看跌期权来投机 NFT 或对冲昂贵的 NFT 敞口。 NFTFi 赛道一览:哪些协议值得关注? HookProtocol 和 FetaMarket (均未发币)是另外两个链上 NFT 看涨期权市场。NFT 所有者可以编写和出售有担保的看涨期权以赚取其持有的溢价,而交易者可以购买看涨期权,来押注收藏品的价值增加。 NFTFi 赛道一览:哪些协议值得关注? NFTFi 赛道一览:哪些协议值得关注? RanchFinance (未发币)允许你做多或做空 NFT 支持的贷款捆绑。用户可以为收益产量提供保险,或者在违约情况下购买捆绑贷款的保险。他们还为 NFT 捆绑提供了一个档次评级系统:A、B 和 C。 NFTFi 赛道一览:哪些协议值得关注? GradientFinance (未发币)是 NFT 抵押贷款的信用衍生品。贷款人可以放大他们的贷款收益,对冲违约损失的风险,限制他们的坏账风险,以及对其他人的贷款进行投机。 原文链接 深潮 TechFlow 是由社区驱动的深度内容平台,致力于提供有价值的信息,有态度的思考。 社区: > 公众号:深潮 TechFlow > 订阅频道: > 电报: > 推特:@TechFlowPost 进微信群添加助手微信:blocktheworld

techflowpost

techflowpost.mirror.xyz

Join the conversation

Twitter

Made with ❤️ from the team building search for web3, sepana.io