1. 首页 > 娱乐生活

Starkware对话dydx :Layer2与衍生品

原文标题:《Starkware x dydx 深度对话:Layer2 与衍生品》

原文来源:Odaily 星球日报

4 月 22 日,我们与 StarkWare 的 Ohad Barta 和 dYdX 的 Brendan Chou 共同主持了 AMA 现场直播。Ohad 和 Brendan 讨论了内容:

?他们进入加密行业的背景和经验

?dYdX 为什么要迁移到 Layer 2

?dYdX 选择 StarkWare 作为合作伙伴的原因

?StarkEx 讲解运作以及不同的数据可用性模式

?所选技术架构的中心化和去中心化部分

?StarkNet 和未来计划和愿景

?Stark Key 上的细微差别及其在 Layer2 系统中的使用方式

?Layer2 上的 Oracle 性能

?ZK Rollup 与其他 Layer2 技术的对比(如 Optimistic Rollups/ ZkSync)

?现货与衍生产品之间的关系

?更多…

是经过编辑的采访记录:

David (dYdX):感谢到底的参与。我是 David Gogel。我是 dYdX 增长团队的一员。我很高兴今天能邀请到 StarkWare 的 Ohad 和 dYdX 的 Brendan。我们讲讨论一些来自社区的问题,我们将讨论有关由 StarkWare 支持的 dYdX StarkEx 的交叉保证金永续合约的技术实现的问题。Brendan, Ohad,你们能分享一下你们的背景以及你们分别是讲解加入 dYdX 和 StarkWare 的吗?

Brendan:我的职业是软件工程师。我毕业于普林斯顿大学,曾就职于彭博社、谷歌等大型软件公司,在那里我学到了一些工作技能、讲解编程以及大公司工作方式。同时我也在寻找一些不同的东西。我是 Antonio 大学时的室友,他大学一毕业就去了 Coinbase,所以我总是要他向我友们比特币是什么以及它是讲解工作的,但我从来没有完全了解它。我在 2017 年的高峰时期开始研究更多的事情。

我知道他正在创办自己的公司。我们每年都会和所有前室友聚在一起欢度新年,我们在这段时间里进行了交谈,那是我决定加入的时候。当时我在纽约,我意识到如果我能够跨出一步,从事这个疯狂的加密工作,这绝对是有益于我的。这就是我进入行业的经历。

David (dYdX):Ohad,你是讲解加入 StarkWare 的呢

Ohad (StarkWare):我和 StarkWare 的联合创始人之一 Eli Ben-Sasson 从 2011 年就认识了。我为他撰写了第一版 PCP Prover 和 Verifier 的一部分,它们是今天使用的 STARKS 和 SNARK 的旧版本。然后我花了六年时间在以色列情报部门获得编程经验。后来我在 Yuval Ishai 教授那里获得了密码学硕士学位,我们去年有一篇密码学论文。之后,我联系了 Eli,问他 StarkWare 的情况讲解。在看到证明系统在过去六年变得如此主流之后,我决定加入 Eli。

David (dYdX):几周前,dYdX 在 Layer 2 上公开发布了交叉保证金永续合约。Brendan,你可以提供更多关于 dYdX 为什么决定转移到 Layer2 的背景,以及新的 Layer2 产品相对于 Layer1 产品的优势?

Brendan (dYdX):原因有很多。最重要的是订单执行部分。之前,这是用一笔以太坊交易来结算链上的每笔交易。这也带来了一些挑战。首先,它不是即时的,可以被抢跑。这就对所有人=都带来了一些不确定性,你必须等待区块被挖出,你的交易才能通过。

而且,我们自己的交易需要耗费大量的 gas 费。这是在浪费我们的钱,这对我们来说是不可持续的。我们不得不让用户承担更高的费用或更高的最低交易金额之类的东西。随着以太坊规模的扩大或用户数量的扩大,这对任何人都没有好处。所以我认为这是我们的主要动机,是订单执行部分。

我们在 Layer1 看到的另一个问题是在链上获得预言机价格的速度。当价格急剧变化,Gas 成本上升时,预言机的价格被上报到 Layer1 的速度就慢得多,这就给用户带来了一些额外的风险。因此,我们必须通过提供更低的杠杆率,更激进的清算系统来惩罚被清算的用户,同样,它花费了大量的 Gas,速度缓慢,对整个系统的安全性贡献更小。所以我认为这是我们所关注的主要因素,我们将迁移到 Layer2 以获取更多即时确定性,这将带来更好的体验和更低的费用。

David (dYdX):你为什么选择 StarkWare 作为合作伙伴来开发 Layer2 系统?

Brendan (dYdX):我们想要的是快速开发,希望在未来确定的几个月发布产品。所以我们想要消除更多风险,并与那些已经在主网上做了一段时间的人合作。StarkEx 一直在和 DeversiFi 合作并取得了很大的成功,从我们交谈过的人那里获得了很好的口碑。所以我认为这些是主要的影响因素。

David (dYdX):Ohad,你能简单讲讲什么是 StarkEx 吗? 以及它是讲解工作的?

Ohad (StarkWare):StarkEx 是 StarkWare 提供给以太坊上的应用程序的扩容方案。它从定序器(在本例中为

dYdX)获取一个序列,在内部运行它们,并确保所有内容都检出并有意义。然后,它将交易移至 Cairo 程序。基本上,Cairo 程序可以代表任何语句(它具有图灵完备性)。Cairo 编译器会编译 Cairo 程序,然后由我们的证明器将其转换为 STARK 证明。然后,我们将此链上的证明发送给验证者进行验证。如果验证者接受了证明,则证明是合法的。因此,我们可以做到准确的即时结算。

David (dYdX):您能否描述 StarkEx 的不同模式及其权衡取舍?

Ohad (StarkWare):对于 Validium,我们不会通过状态发布它们,这是因为这样做的成本非常高:即使它只花费实际执行事务的一小部分,它仍然是不可忽略的,并且随着变化的数量呈线性增长。相反,我们会说:「好吧,我们有这个值得信赖的服务器委员会。」这就是 DeversiFi 和 Immutable 所采取的方法,它们有几个值得尊敬的委员会成员。在这种方法中,作为签批的条件,委员会成员必须证明他们都知道用户可能会在操作员出现故障时使用的所有相关数据。在 ZK-Rollup 中,我们每次更新时都会在链上发布新余额。因此,用户对系统有更多的信任,但成本也更高。

David (dYdX):Brendan,dYdX 的 StarkEx 实施是 ZK-Rollup,而不是 Validium。你能描述一下为什么 ZK-Rollup 是 dYdX 更好的模式的思考过程吗?

Brendan (dYdX):事实上,我们对此并没有什么特别强烈的想法。我认为 Ohad 在那里很好地描述了权衡。它只是使每个人都可以使用数据,但是发布的代价是这样做需要更多的 gas。因此,我们决定暂时将其保留在链上,并进行汇总,因为我们觉得我们可以付得起 gas。目前,我们并未将 Gas 成本转嫁给用户。所以交易时的没有 Gas 费。假设 ETH 的价格继续上涨或网络使用率增加,那么我们将来可以删掉将所有数据发布到链上的那一部分,然后也许请一些额外的委员会成员来验证数据存储在多个不同的位置,可供多个不同的参与者使用,因此用户不会失去对链上实际当前余额的跟踪。如 Ohad 所述,这很重要。如果他们需要基本证明自己所拥有的职位并退出系统。

但这只是前进的方向,因为如果这样做成本太高,那么,正如我提到的那样,如果最终必须将这些成本转嫁给用户、社区和其他用户,这是我们可以把更多的数据放到链下,为每个人节省了更多的 gas 费。

David (dYdX):随着过渡到 Layer2,人们可以在块浏览器中看到的数据更少了。Ohad,您能描述一下 Layer1 上可供用户查看的数据吗?

Ohad (StarkWare):在 Layer1 上可查看的数据是所有用户的余额,包括合成资产和资金指数:,这些信息可以知道当最后一批被接收时我们真正拥有多少资金。交易本身并未在链上发布,这既是为了节省成本,同时也是为了保持交易策略的私密性。

David (dYdX):作为用户,我讲解才能相信保留在 Layer1 之外的交易数据实际上是正确的?有什么机制可以确保链下发生的所有事情的有效性?

Ohad (StarkWare):在讨论 StarkEx 之前,我曾说过,所有这些都是基于 Cairo 程序的,而该程序是一切的中心。因此,发生的事情是,Cairo 程序将获得交易的顺序。除了对新状态输出的承诺外,它还添加了批次期间更改的所有头寸余额。并且此输出链接到证明。如果您无法通过链上的数据向我显示交易,那么该证明将不会被接受。

David (dYdX):这个回答真的超级有帮助!Ohad,您能提供有关 StarkNet 的状态及其愿景的更新吗?

Ohad (StarkWare):也许我将从 StarkNet 开始,因为到目前为止我们只在 StarkEx 上讨论过。StarkEx 很酷。它现在确实对你有帮助,但从长远来看还不够。从长远来看,它不够好的原因是:目前 StarkEx 需要操作员进行操作,从集中化的角度、技术和监管的角度来看,这都是不利的。StarkNet 意味着将所有 Cairo 程序和示证者(Prover)/验证着(Verifier)都放在 StarkEx 的中心,而不是与一个只会建立完整侧链的定序器一起工作,其中侧链中的每个区块都将通过与 Cairo 进行比较来证明,然后证明就像我们今天证明的那样,甚至使用与今天相同的验证程序。

当然,这将需要一些时间,因此我们分步骤进行。因此,在 5 月底,我们将在 StarkNet 的 Ropsten 上发布一个演示,该演示将允许编写自定义合约。以 AMM 合约为例,但是它还不允许 Layer1 到 Layer2 的交互。然后,从那里开始几个月,我们将开始扩展 StarkNet,以允许合约之间和 Layer1 与 Layer2 的互动。

然后,我们要做的下一件事是操作员的去中心化。因此,我们的确将拥有一个完整的矿工和一切事物的侧链,而不仅是一个对用户提交的所有智能合约进行排序的定序器。

David (dYdX):Brendan,作为 dYdX 入门上流程的一部分,用户连接他们的以太坊钱包并进行交易。但是第一次,用户必须创建一个 Stark Key。你能描述一下 Stark Key 是什么以及它在 dYdX 上是讲解使用的吗?

Brendan (dYdX):基本上,它类似于以太坊私钥。它只是一种验证您签名的所有内容都来自您的私钥的加密方法。你必须使用不同的私钥或不同的椭圆曲线来给与 STARK 系统兼容的东西签名。我没有太多的技术细节。Ohad 对此应该比我更了解。但是从本质上讲,这只是您要跟踪所有内容的另一把钥匙。

我们不想让用户不得不记住另一个完整的私钥。他们已经习惯了保护自己的以太坊密钥。我们不希望他们还需要保管另一件事,如果他们丢失了,那就糟了。我们想出了一个系统,允许他们使用其现有密钥来派生它。这基本上是从对他们的固定签名进行哈希处理后得到的,只要他们拥有以太坊私钥即可。因此,只要拥有自己的以太坊私钥,他们就永远不会丢失自己的 Stark 私钥。

这确实很有用,因为正如我所提到的,他们不必保管两件事。并且类似于您无法真正伪造某人的以太坊签名或找到哈希冲突的方式,他们的私人 Stark 密钥也同样非常安全。

David (dYdX):我必须像保护私钥一样保护我的 Stark key 吗? 如果有人能拿到我的 Stark key,他们能拿到我的资金吗?

Brendan (dYdX):这是个很复杂的问题。是的,你绝对应该保密。我只是在想人们可能做的最坏的事情,我想在这种情况下,他们可能会代表你签署订单。然而,如果这是他们所拥有的全部,那么即使他们将你的资金提取到 Layer 1,他们也不能将这些资金从合同中移除。他们仍然需要你的以太坊密钥才能做到这一点。另外,在我们这边,我们还有 API 密钥和秘密来防止人们在没有明确许可的情况下做这些事情。

同样,如果仅您的 Stark 密钥被泄露,那么在 dYdX 方面,除非您还拥有 API 密钥,否则我们仍然不接受请求。API 密钥是另一种很小的私钥集,这也可以从您的以太坊私钥派生而来。因此,如果您拥有以太坊私钥,那么至少也可以拥有那些。这三个秘钥都源于以太坊私钥。所以如果有人拿了你的 Stark 私钥就不好了,但还是有很多安全机制可以防止有人在那里造成破坏。

David (dYdX):Ohad,你能描述一下目前哪些硬件或软件钱包支持 Stark Keys 吗?

Ohad (StarkWare):当前,Ledger 钱包原生支持 Stark Keys 和 StarkWare 的应用程序,以及其他几个钱包。我相信 Authereum 支持它,尽管最近被弃用。对于其他任何钱包,我们都有一个 JavaScript 库,要求该钱包使用以太坊密钥签名,并从该签名中衍生出 Stark 密钥,正如 Brendan 所述。这就是 MetaMask 和所有常用钱包当前的工作方式。我们计划加入更多的钱包,以使它们本机支持 Stark Keys。这是我们一直追求的目标。随着越来越多像您这样的项目的进行,我认为这很快就会发生。

David (dYdX):上周末加密货币市场闪电崩盘后,引发了很多议论。StarkWare 发表了一篇关于预言机在 Layer 2 上的价格的博文,这在其他 DEXs 上似乎是一个大问题。Brendan, dYdX 的 StarkEx 实现讲解使用 Oracle 的价格? 它与第 Layer1Oracle 有什么不同?

Brendan (dYdX):所以现在我们还只使用 Chainlink 预言机。我们也在和其他几个预言机项目交流看是不是需要有一些合作。正如我所说的 dYdX 正在寻求快速发展,而值得赞善的是 Chainlink 能够为我们提供大量不同的交易对,并支持支持 Layer2 密钥或 Stark 密钥。

目前,我们只和一家预言机项目合作,他们向我们发送加密并已签名的价格。我们能够通过加密的方式来告诉他们它们来自签名者或我们信任其私钥的人。然后,我们将它们汇总起来,并使用其中间值,就可以成为 Layer2 预言机的价格。所有价格均带有时间戳等诸如此类的东西和资产名称。将它们汇总在一起,并得出某个仲裁的中位数,这就是我们在 Layer2 上执行操作的方式。这和到底在 Layer1 网络上看到的许多预言机项目的模式非常相似。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.fjxmta.com/ylsh/24881.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456