Casper:一文读懂CasperLabs:智能合约平台的突围之路

经常有蓝狐笔记的读者问,当前的智能合约平台(如以太坊)虽然不错,但整体来说,智能合约平台的扩展性限制了它的大规模采用,如果是这样,新的智能合约平台是否有机会?这是个好的问题。

一方面,以太坊和EOS等先发者已经具有了一定的开发者生态,还有不错的应用场景探索。例如以太坊的DeFi和EOS的游戏和社交,尤其是以太坊DeFi锁定超过10亿美元的资产,在这方面的探索如火如茶。但另一方面,整个加密应用的用户规模还很小。基于以太坊的dApp的日活用户当前不到2万,其他用户数相对较多的平台如EOS,也没能超越这一级别。从目前看,所有智能合约平台,还没有出现突破百万活跃用户的dApp,如果那一天到来,将会是整个加密领域的真正里程碑时刻。

谁能率先实现百万活跃用户的dApp,谁就能在加密领域占据领先位置。如果说,这是加密世界的网景时刻,那么要抵达这一个时刻,需要两个方面的条件。一是dApp场景的继续挖掘,以寻求产品和市场的契合度,这方面当前的以太坊和EOS等公链一直在努力,试图找到能够引爆主流人群需求的场景和应用。二是需要真正去中心化的且是可扩展的区块链。只有满足安全和可扩展性两方面的条件,智能合约平台才能既有独特价值,也能承载主流人群规模的应用。

所以,在接下来的几年时间,加密领域最重要的命题之一依然是:如何实现安全和可扩展性兼具的智能合约平台?

虽然以太坊和EOS等公链是先行者,但不妨碍其他公链的探索和努力,这其中包括Tezos、Nervos、Solana、Polkadot、Harmony等平台从不同的技术路线和场景方向进行探索。虽然先行者已经取得了领先,不过,如果我们把视野再放大,就会发现,今天的市场规模还很小,用户数还很少。在这样的情况下,很难说已经是市场的终局。如果从技术发展和商业发展角度看,今天依然处于早期的拓荒阶段。在这一阶段,有先行者,有领先者,不过,其他后发者并非没有机会。至于什么时候格局确定?这个可能需要三年,也可能需要五年。中间什么时候杀出程咬金?谁也不知道。但可以肯定的是,今天的格局肯定不是终局。

蓝狐笔记一直关注智能合约平台,之前也介绍过一些新的平台。今天蓝狐笔记要介绍的也是新来者:智能合约平台CasperLabs。为了方便大家记忆,CasperLabs以下简称为Casper。跟其他公链一样,它也有自己的大梦想,它想成为受开发者欢迎的平台,为大规模用户提供去中心化服务的平台。那么,它又有什么不同,靠什么安身立命?

美联储理事沃勒:6月是否加息将取决于未来三周的数据:金色财经报道,美联储理事沃勒表示,6月会议是否加息的决定将取决于未来三周的数据;即将发布的通胀数据是6月份利率决策的关键;美联储需要在6月会议上保持灵活性,以做出最佳政策决策;就业市场非常紧张,通胀率很高;对核心通胀缺乏进展感到担忧;在通胀得到控制之前不要停止加息。[2023/5/25 10:38:27]

Casper如何安身立命:Highway协议

首先,Casper是一个智能合约平台,跟其他智能合约平台一样,为开发者提供运行协议和应用的基础设施。而另外一方面,它强调的不是单纯的高tps,而是要安全和可扩展性兼得。

目前已经有了这么多智能合约平台,Casper如何安身立命?有什么杀手锏?它最核心的技术选择是基于CBC Casper PoS的共识算法,并在此基础上扩展出Highway共识协议。

Casper之所以声称自己可以真正兼顾安全和可扩展性,很大程度上源于其技术路线的选择。而这个技术路线的核心之一就是CBC Casper PoS。CBC 英文为“correct-by-construction”,大意是按照构建逐步校正的意思,它是一种验证架构正确性的流程,通过构建数学模型推演,确保最终的正确交付。CBC Casper是“correct-by-construction”共识协议系列,这些共识协议共享相同的异步证明以及拜占庭容错。这一系列协议通过定义其协议状态和协议状态转移来描述。

Casper的计算模型支持检测何时可以并行合约的执行,且区块消息格式允许在链中“合并”分叉,可以避免不必要的孤块。CBC Casper PoS跟以太坊的Casper-FFG不同,以太坊需要考虑从PoW向PoS的过渡,而是CBC  Casper是纯粹的PoS机制,不包含任何PoW,只有提议区块和实现区块最终性的验证者才能获得奖励。

Casper的Highway共识协议是基于CBC Casper PoS的扩展。Highway共识协议是Daniel Kane、Vlad Zamfir以及Andreas Fackler三人的研究成果。其中,Vlad Zamfir是以太坊知名的核心研究人员。

印度财政部长:加密监管并不意味着技术控制:金色财经报道,印度财政部长 Nirmala Sitharaman?在印度卡纳塔克邦的一次互动会议上表示,今天 G20 的共识是可能必须创建一个全球标准。我们所有人都必须为此共同努力,否则监管加密可能不会有效。但这并不意味着我们要控制分布式账本技术,它有它的优点,有它的潜力。其他亚洲国家,如新加坡,也看到了 DLT 用例的潜力,例如资产标记化和跨境支付,但加密货币没有基本价值。

在技术驱动的加密资产问题上,没有一个国家能单独控制它,因为技术是没有边界的。国际货币基金组织关于加密货币及其影响宏观经济稳定的方式的文件,以及金融稳定委员会关于加密资产的金融稳定性的报告,将在7月份的G20会议上讨论,届时各国财政部长和中央银行行长将举行会议。[2023/4/24 14:24:08]

Highway共识协议最与众不同的地方在于:兼具安全和活性。它跟PoW不同(完全同步的协议),Highway是部分同步的协议,可以实现更高频次的出块,换言之,具有更好的吞吐量和可扩展性。

什么是兼具安全和活性?安全就是说Highway共识协议的决定不会前后矛盾,活性则是说共识协议的节点会永远保持做决策,区块不断增长。

总结来说,Highway协议对CBC Casper进行了两个方面的扩展:一是,通过高效方法实现对不同阀值下安全性的检测;二是,提出在CBC Casper框架下的活性策略,也就是针对网络参与者何时创建协议消息所制定的策略规范。

简单来说,Casper的Highway协议如何运作?

1.summit结构

Highway协议为实现最终性,它提供了一种全新的summit(峰顶)结构。与此同时,为了实现活性,它使用伪随机生成的领导者序列限制消息的生成来实现,这导致产生blockdag的可预测结构。

Casper的共识协议采用的是blockdag的数据结构,如下图:

在上图中,消息被放置到相关的“泳道”上,也可以看到每个“泳道”上消息的创建者。由于创世区块是区块链初始化产生的,它位于“泳道”之外。每个普通区块都指向其主要父块,上图用红色箭头表示。这些区块形成了树结构,称为主树。任何普通区块都可以指向任意数量的区块作为次级父块,如上图中蓝色箭头所表示的。区块+红色箭头+蓝色箭头一起形成有向无环图,也就是Casper协议中的p-dag。所有的箭头和所有的顶点一起形成有向无环图,这就是Casper中所谓的j-dag。

加密衍生品交易所dYdX宣布退出加拿大市场:金色财经报道,加密货币衍生品交易所 dYdX 宣布将退出加拿大市场。dYdX表示,在世界标准时间 17:00,将停止在加拿大招募新用户。当前的加拿大用户将在接下来的 7 天内保留对 dYdX 平台的完全访问权限。但在 4 月 14 日,他们将转为仅平仓模式,只允许平仓和提取资金。[2023/4/8 13:51:13]

Summit(峰顶)是指j-dag中某个共识值已经确定最终性的情况。为什么会有这个概念?因为它有很多层,不同层代表不同的共识程度,最后的Summit意味着在某个范围内所有节点都达成共识,也就是最高点,形成了峰顶。在这个最高的层面上,具有最大程度的共识。反过来理解,这也说明Highway是具有安全阀值的。每个轮次都有领导者,首先由领导者发送消息给每个人。其他验证者在收到领导者消息后立即发送消息给其他人。在经过一些轮次后,每个验证者都会再次向所有人发送消息。这样,第一条消息确认的投票成为level-0的消息,第二条确认足够数量的第一条消息,形成level-1消息,由此类推形成summit(峰顶)。一旦验证者在其本地协议状态达到峰顶水平,他们知道最终每个诚实验证者将会看到所有状态。

下图是最终性的示意图,可以帮助我们理解summit(峰顶)。

上图左侧的矩形代表验证者,圆点代表消息。它展示了验证者0的本地j-dag,对应于j-daglevel的排列(消息的X坐标对应于j-daglevel)。“泳道”上显示消息的Y坐标与创建者相同。圆点颜色则代表此消息正在投票支持的共识值。在诚实验证者的“泳道”内,0-level消息是从上一次该验证者投票赞成的共识值改变以来的所有消息。消息的第一层投票支持同一个区块,其他层会引用第一层的消息及其哈希,参与“峰顶”的验证者越多,层次越多,这些消息投票的区块就越安全。

2.有弹性的轮次时长

跟大多数的PoS机制一样,Casper也会将时间划分为轮次。每个轮次,首先有一个伪随机选择的领导者生成消息,其他人等待领头人的消息,收到该消息之后,才生成自己的消息。在这一轮次快结束时,每个人都会再发送一条消息。也就是说,验证者为该区块发送了两次验证消息。每个轮次的时长并不固定,不是所有验证者都采用相同的轮次时长。

Yuga Labs、Moonpay在名人NFT代言诉讼中被点名:金色财经报道,一家加利福尼亚律师事务所对近 40 人和公司提起集体诉讼,其中包括 Yuga Labs 和 MoonPay。声称他们利用名人误导性地推广和销售其 NFT。[2022/12/10 21:35:35]

为实现活性,Highway协议采用非固定轮次时长的机制。它用“高速公路”作为比喻,这也是协议名称Highway的来源。Highway类似于“数字高速公路”,它有很多车道,每条车道的汽车速度恒定。不同车道的汽车相互之间会发送消息。消息在不同车辆间传递的速度不同,协议达成共识的程度也不同。

在任何给定的车道n中,车在1米距离进行2n频次的跳跃,信息在不同车道的汽车间的传递是动态进行的。由于跳跃频次不同,消息传递频次也不同。例如,如果消息传到左侧的车道,频次将加倍,传到右侧车道则频次将减半。这样,每次跳跃时,都可以遇到左侧车道的汽车,而右侧则需要两次跳跃才会遇到。通过这样的方式,可以保证一定的安全性,同时也可以提高达成共识的速度。

要理解Highway的有弹性的轮次时长,需要理解时间“滴答”、生成区块的领导者以及轮次的概念。在Highway共识协议中,时间划分为“滴答”,每个“滴答”相当于一毫秒。领导者从当前验证者中选出,基于领导者的系统,需要有轮次,这也是基于安全的考虑,生成区块的领导者是无法固定的。因此,不同轮次会有不同的领导者。

在这种情况下,多数PoS链采用的是固定轮次时长的方法。而Highway协议与众不同的是其可调整的轮次时长。每个验证者选择轮次指数值。随着时间的推移,将会自动调整轮次指数值(round exponent),以实现最优性能。

举个例子,假设轮次指数值为n,验证者用于操作的轮次时长为2^n“滴答”。具有相同轮次指数n的所有验证者都有相同的轮次时间表。不过,如果轮次指数n不同,验证者在轮次时长上也不同。

假设A使用的轮次指数为n,B使用的轮次指数为m,其中n为5,m为7。这意味着,A的轮次时长是32个时间“滴答”(2^5),而B的轮次时长为128个时间“滴答”(2^7)。这意味着,A的轮次时长只持续32毫秒,而B的轮次时长持续128毫秒。也就是说,A的速度要快于B,因此,A可以参与B了解的所有轮次,而B只能了解A知道的部分轮次。通过调整轮次指数可以增加或减少轮次时长,以实现最佳性能。

Alameda向Binance热钱包转入28,733枚ETH:6月11日消息,据Arbiscan及Bscscan数据显示,被Nansen标记为Alameda:Binance Deposit的钱包地址于今日17时左右分两笔向Binance热钱包转入共计28,733枚ETH。[2022/6/11 4:18:47]

此外,Highway协议还提出一个“era”(时代)的概念,era时长也用区块链的时间“滴答”来表示,例如一周(604800000个滴答),其主要目的是在更长的一段时间内(如一周)保持验证者权重的相对恒定,由此实现所有验证者都可以同意的伪随机领导者序列,同时防止攻击者对领导者选择进行攻击。

Highway协议跟传统的BFT协议不同,一般来说,拜占庭容错协议主要在交易顺序上达成共识,而Highway协议仅就区块的有效性和区块的权重达成共识,对区块投票的验证者越多权重越大。在这种情况下,系统可以处理同时发生的事件,因为交易顺序不重要。Highway也支持区块合并,在合并过程中也可以检测是否有冲突的交易。

之所以可以实现这些,Highway协议有两个核心的设计选择:

1.没有只发给特定节点的目标消息,所有消息最终会发送给所有人,且可以验证较早的消息。所有节点看到的都是相同的,这算是不断增长的消息图,有点类似于哈希图。

2.决策方式简单:投票。通过在消息图中执行防止僵持状态的特定结构,可确保网络的活性。

在这里,消息被视为是对共识值的投票,且验证者遵循多个明确的验证者最新投票。

总结来说,Highway协议的如下特性值得关注:

1.无须许可性,任何人都可以安装所要求的软件并作为新验证者加入网络(在平台执行绑定交易以后,并在绑定拍卖中赢得其中的slot)。

2.有弹性:可自动调整轮次时长,以使网络的整体性能达到最佳。

3.部分同步:区块领导者无需收到已产生的所有消息即可生成区块,未收到的区块交易记录可在下游进行协调。

4.广播消息:协议假定能将任何消息广播到区块链网络中的所有其他验证者,可以处理消息的延迟,而无需直接的点对点通信。

5.可证明的最终性:协议提供“最终性检测器”的形式化计算,它可以发现由总权益大比重支持的交易。当验证者使用其“最终性检测器”,发现一些交易具有最终性,那么其他的验证者也会将其视为具有最终性的交易。

6.可证明的活性:由于恶意验证者的总权益不超过1/3,网络将持续产生具有最终性的区块,且共识的收敛不会停止下来。

总言之,Highway的特色是安全和活性兼备。它区块的创建是围绕伪随机生成的领导者序列进行的,领导者负责区块的产生。同时,它还采用可变的轮次时长机制,这让Casper具备弹性,可自我调整网络,以获得最佳性能。

Casper的开发者友好的整体策略

对任何智能合约平台来说,最终的价值来源于使用它的用户数量和频次。而要吸引用户进来,首先需要有dApp开发者构建出符合用户需求的产品和服务。

这对于Casper来说也一样,除了其技术路线的选择之外,Casper最核心的策略之一就是其对开发者友好的整体策略。策略讲究聚焦和取舍。这一点从Casper的Slogan也可以看出,它的Slogan是“筑梦者的区块链”。换句话说,Casper试图成为开发者构建各种美好产品和服务的坚实平台。从其目前的技术基础和运营方面看,Casper的开发者友好的整体策略值得关注。

1.业务开销可预测

在区块链上进行交易需要成本,用户的操作会产生费用。在Casper上,被选中的验证者需要从交易池中收集交易,并按照一定的次序执行,最后发布到新区块上。而用户提交的费用会按比例分配给所有验证者。

在Casper上,为了让dApp的体验更好,它试图要达成业务开销可预测。不受监管的费用市场会导致交易费用的高度波动。在2017年加密猫时代,以太坊的转账费用曾经高得吓人。Casper协议内置的gas价格下限设置足够高,可以减轻这种波动性。可以防止gas跌至某个特定价格下,让价格在某个值上自由浮动。

Casper的代币CLX代币可用来支付gas费用,而CLX代币价值是波动的,由此Casper设定了价格下限,虽然消耗的是CLX,但设置的值是法币值,其基准是单个CLX账户之间的转账费用花费0.05美元。为了实现这一点,Casper使用去中心化预言机来提供价格数据。

实现业务开销的可预测,有利于dApp开发者构建自己的商业模式,例如由dApp开发者负担用户的交易费用,而dApp通过其他方式向用户收取费用。由于交易费用的相对可预测,这样对于构建可持续的商业模式,并实现更好的用户体验都有直接帮助。

2.绝大多数开发者无须培训即可编写Casper区块链应用

对于智能合约平台来说,降低开发者进入的门槛非常重要。这也是Casper的重要竞争策略。首先它支持Rust作为Casper智能合约的主要编程语言,用于智能合约的Rust开发套件包括了测试环境、合约运行环境等。

此外,Casper对wasm有很好的支持。平台也支持其他编程语言进行智能合约的开发。这样对于开发者来说,无需太多的学习成本,用自己熟悉的语言即可开发dApp。

3.开发者所需的各种功能

除了开发门槛的降低,还有一些功能也可以帮助开发者更好的构建。例如它的GraphQL接口、账户结构、无限多重签名、可定制支付方式、可读性好的账户名等。

Casper内置GraphQL接口,可用于状态查询,方便开发者随时了解合约的内部状态,降低开发和运营dApp的门槛。

Casper的账户结构比较灵活,有多级账户结构,可以从子账户中收回丢失资金。它支持开发者所需的各类授权,其中包括针对丢失密钥恢复的账户权限模型,在账户和合约之间安全共享状态的权限模式等。

加权的密钥功能和阀值,可以实现无限多重签名功能。

Casper支持开发者制定交易的支付方式。普通区块链通常采用“发送人付费”模式,而Casper的开发者可设置支持接收人付费的模式。

Casper用户名是可读性好的账户名,方便构建应用,也有更好的用户体验。

Casper节点内置了遥测和监视功能,可以方便节点运营者和验证者测试系统性能。

4.可升级的基础设施

Casper区块链支持将合约存储在不可变的地址中,支持合约版本控制和升级。这对于开发者来说是很有用,因为合约更新几乎是必不可免的。同时,Casper还在设计协议和虚拟机,以实现对并发执行、侧链、分片的支持。

结语

从Casper的整体来看,跟其他项目相比,以上的两点有其独特之处。虽然Casper很关心可扩展性,但它同样重视安全性和去中心化,这是它实现可扩展性的前提。Casper的Highway协议是实现这一目标的关键,通过“summit”和blockdag结构、伪随机领导者序列(pseudorandom leader sequence)、弹性的轮次时长等多种设计,实现了安全性和活性。

为了构建生态,Casper的开发者友好的整体策略也让人印象深刻。它在降低开发者门槛,丰富开发者工具方面、设施可升级等方面都下了不少功夫。

那么,在众多的智能合约平台中,Casper有没有机会脱颖而出?现在还无法下定论,但由于它在共识机制设计上的特色和对开发者友好的策略,它的探索值得持续关注。

------

风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-0:990ms