CasperLabs:筑梦者的区块链

本文约7035字,阅读全文需要约9分钟
2020年3月11日晚,密码极客邀请到了硅谷明星项目CasperLabs的CTO Medha Parlikar女士做客密码极客大咖直播间,揭开了CasperLabs的神秘面纱。

2020年3月11日晚,密码极客邀请到了硅谷明星项目CasperLabs的CTO Medha Parlikar女士做客密码极客大咖直播间,揭开了CasperLabs的神秘面纱。

此次活动由密码极客与CasperLabs主办,TokenClub联合主办,协办方包括火星财经、金色财经、链闻、星球日报、深链财经、世链财经、FN、CoinVoice、Blocklike、博链财经、布道财经、艺创时代、鸵鸟区块链等。同时感谢IOSG、币扑、币本直播、币乎、区分、链节点、巴韭特、头等仓、一块链习和链读等提供社区支持,以及OKEX、LongBit、BTCMAX和币赢等交易所提供支持。

CasperLabs:筑梦者的区块链

分享环节

大家好,我的名字叫Medha Parlikar,现任CasperLabs的CTO。今天我将和大家介绍CasperLabs区块链。

CasperLabs:筑梦者的区块链

区块链面临着扩容性问题,最新的一些解决方案试图解决这个问题,他们要么选择将验证者集合中心化,要么选择乐观共识 — 换言之不做故障检查。

这意味着为实现扩容性,必须牺牲信任。更快的平台牺牲去中心化和安全性,换取更快的速度。交易费用难以预测,企业无法做出预算。对于开发人员来说,有一些专用的语言和工具,学习曲线陡峭,使用进度非常缓慢。这一些都使得企业很难在其日常业务中使用区块链。

CasperLabs:筑梦者的区块链

专用的开发语言、交易费用暴涨以及协议升级的不确定性,使得企业使用区块链风险增加,这是为什么许多企业选择私有链而非公链的原因,但是私链的安全性不如公链。在接下来的时间里,我将和大家介绍CasperLabs是如何解决上述的种种问题。

CasperLabs:筑梦者的区块链

尽管Solidity目前是区块链开发者广泛使用的语言,但是如果你看总体的开发者人数,使用它的人依然不多。开发者更倾向于使用Rust这样的编程语言,随着更多编译目标的建立,WebAssembly将允许平台支持更多的语言。

CasperLabs:筑梦者的区块链

一项对企业的调查显示,企业不选择公链的最主要原因就是交易费用的不确定性,因为企业是要提前做预算的。

在过去的八年间,亚马逊已将AWS的价格下调了42倍,利用了规模经济的效益。然而,我们看到区块链在这方面却是背道而驰的。扩容性的一个根本问题在于无法利用规模经济的效益。

CasperLabs:筑梦者的区块链

随着需求增加,平台的能力无法相应的扩大,这才是我们真正需要解决的扩容性问题。对于企业来说,知道在使用的过程中存在着交易费用暴涨的可能性,他们就会觉得选择区块链的风险太高。

应用和平台能够升级,这一点是必须的。而协议分叉的风险,加上链上合约的不可篡改性,使得合约创建者很难支持自己的终端用户。对于企业来说,他们必须要为新用户提供bug修复和新的功能,这就意味着升级必须对他们来说要是容易的。

CasperLabs:筑梦者的区块链

我们成立CasperLabs,主要是为了解决阻碍公链技术大规模应用的一些问题。其中最重要的就是 “为了扩容牺牲安全性”。对于企业来说,由于无法做预算,加上很难招募到智能合约的开发人员,因此不会选择使用区块链。

区块链最大的价值就在于其安全性,所以我们不会为性能而牺牲安全性。对于开发人员来说,他们需要获得一定的功能,才愿意使用区块链,并保证在未来能够不断的从区块链中获得想要的价值。也就是说,虽然CasperLabs是为了解决当前的区块链问题,但是我们始终着眼未来。

总而言之,解决上述种种问题,但是却不牺牲区块链技术的基石,也就是安全性,就是我们的初衷。我们不仅仅是要解决区块链本身的问题,同时还要提供一些必须的功能,便于企业搭建应用。

CasperLabs:筑梦者的区块链

换言之,我们所面临的挑战,就是创建一个安全、高性能、并向所有人都开放的系统,但同时不牺牲去中心化及安全性。

其实以太坊基金会已经致力于解决扩容性问题多年,以太坊一经推出,几乎立刻就意识到了扩容性的问题。

CBC Casper就是一个脱胎于以太坊研究的PoS协议。但它同时又有以下特征:第一是故障检查,第二是它仅就“最重的区块”而非交易的顺序达成共识,这就允许分片和同步。

CasperLabs:筑梦者的区块链

Vlad Zamfir构想出了一个保留了中本聪共识很多特征的协议,但是又和中本聪共识存在一些关键的区别。例如,如果攻击者想要回滚已经处理的交易,那么就必须要回滚此前做出的多个决定,这就会导致攻击者丧失其抵押的权益(stake),这一点与PoW机制不同。在PoW中,攻击者的攻击实际上是没有成本的,或者说只有极小的机会成本。

CasperLabs:筑梦者的区块链

2017年Vlad等人有关于CBC Casper的论文实际上没有明确的给出一个完整的协议。虽说论文包含了安全性证明、最终性客户端属性以及分叉选择规则,但完整的协议必须同时具有活性和安全性,才能够正常的运作。

CasperLabs:筑梦者的区块链

活性意味着这个协议始终能就区块链的下一个顶点达成共识,而安全性则意味着决定应该是不可逆的。CasperLabs设计了Highway协议, 是CBC Casper 的第一个可证明活性且安全的实现。Highway协议与Casper FFG不同,它完全排除了PoW。

CasperLabs:筑梦者的区块链

在这里我就给大家介绍一下Highway协议到底是如何实现活性的。Highway支持快线和慢线,对应快验证者和慢验证者,验证者可以根据自身系统性能和网络连接速度,按照不同的时间间隔提议区块,活性是通过支持领导人节点、动态轮次和Eras(时间窗口)来实现的。

CasperLabs:筑梦者的区块链

图片上显示的就是一个协议架构:DAG视图。有一个看起来像Choke point(阻塞点)的节点,代表领导人节点正在进行全网的同步。如果某个节点连续两轮无法发送消息,那么该节点就会被忽略(认为遭受了活击),还可以观察到图上的峰会结构——代表每一轮的共识层次,这张图摘自我们的区块链浏览器。

CasperLabs:筑梦者的区块链

我们的系统也支持同步的区块链,比如这张图里一个节点同时处理三个父块,然后基于此创建一个新的区块。在以太坊的链上,其中两个父块会成为孤块,但是在CasperLabs的链上,我们可以在一轮中将这两个块的交易合并到新的块里。 我们认为,对于区块链应用的开发者来说,孤块是有问题的。一旦一个交易成为孤块,就要重新提交。

CasperLabs:筑梦者的区块链

我们认为区块链应当属于一个更大系统架构的一部分,需要和系统里的其它组件一道运作。也就是说要为开发人员提供一些非常容易调用的API,便于开发人员将区块链整合到他们自己的更大的架构之中。

开发人员也需要能够察看自己APP的状态,同时可以通过更新的方式来维护 APP。除此之外,他们也需要灵活而又强大的合约功能,从而减少代码量。

CasperLabs:筑梦者的区块链

为此,我们提供Rust全套SDK和一个虚拟机运行环境,加上一个测试架构,开发人员就可以自由选择自己想使用的IDE,并且在自己的持续集成框架中运行合约。我们的账户管理系统支持账户找回,同时我们也支持用现有的多种语言进行智能合约的编写,其中就包括Rust和AssemblyScript。

我们有一个特别的许可模型,允许合约的创建者用经特别许可的引用去控制合约执行和数据。可以想象一下在街道上停的车,经过广播后,你可以看到合约的状态,但却不能在没有授权的情况下执行合约。

CasperLabs:筑梦者的区块链

除此之外,我们还有一个创新的帐户多重签名功能,便于管理账户和合约。 我们也为开发人员提供灵活的支付交易的方式。这是一个非常简单、但同时又非常强大的交易架构,可以满足复杂的交易支付的需求。

CasperLabs:筑梦者的区块链

我们也支持创建特殊的支付功能,比如说给推荐人奖励,通过借记卡或者其他支付方式支付。企业可以设计自己的支付功能,有需要的话,也可以改变支付方式。在其他区块链系统中,要实现多种支付方式进行支付,是需要多笔交易的,而不是仅仅一笔交易。

现在我就和大家详细介绍一下,为什么我们的账户管理系统非常特别。

在我们的系统中有两类密钥的,可以给密钥设置不同的权重。也可以经过授权修改某个密钥的权重。同时也支持设置密钥管理和部署阈值,只有当阈值满足, 行为才会执行。

CasperLabs:筑梦者的区块链

一笔交易既可以多人签名,也可以仅由一人签名,取决于他们所用密钥的权重。所有的权重和阈值,都可以写代码调整和修改,这就使得企业可以控制区块链上的交易权限。

此外,授权是在一笔交易经过区块链处理之前发生,换言之,哪怕这笔交易失败了,也不会浪费任何的资金。此外也可以让账户与其他账户进行关联,并且给密钥授权对账户执行一些行为。

CasperLabs:筑梦者的区块链

可以将主秘钥安全存放,将签名权授权给其他密钥。这样哪怕交易签名的密钥丢失,你也可以很容易的销毁丢失的密钥,并收回对账户的控制。我们认为密钥找回的功能对于用户来说非常重要。

现在我想给大家介绍我们的团队和路线图。

CasperLabs:筑梦者的区块链

回顾一下,我们团队一直都能够做到准时交付。我们从2018年10月份开始的这个项目,自此之后,每次发布的时间表我们都是严格遵循的,并且我们也兑现了对投资者以及支持者的承诺。

我们的团队成员来自业界领先企业,比如谷歌、亚马逊以及微软。我们和现代下属的一个子公司叫现代数字资产集团(HDAC)合作,一起做区块链的研发。我们通过传统股权融资的方式获得开发所需资金。

CasperLabs:筑梦者的区块链

这也就意味着到目前为止,我们还没有销售过任何的代币。这就允许我们能够做对社区以及对整个项目都有利的事情。我们的投资者包括XRP Capital、One Boat Capital、 Hashkey Capital、共识资本这样的机构。

为什么CasperLabs未来会成功?因为我们具有以下几个优势:首先团队一直是由创始人所领导;另外我们的团队汇聚了多元化背景的人员,在大型平台建设方面经验丰富;我们还打造了一个最健壮的区块链网络,加上了一些我们认为对于企业来说,是否选择使用区块链非常重要的功能。

CasperLabs:筑梦者的区块链

我们的共识机制支持未来进一步的扩容和分片。除此之外,我们也专注于现实世界的应用,包括企业和开发人员的采用。

CasperLabs:筑梦者的区块链

我们还有一支思想家和筑梦者的团队。Daniel Kane博士是一位知名的数学家,目前正在帮助我们做共识机制。Kevin Watt曾负责DropBox产品营销和AWS企业营销工作。

我们的CEO Mrinal Manohar,我们的常务董事Scott Walker,是DNA Fund的负责人,2011年开始投身区块链。Andreas Fackler是共识机制的主要研究人员之一,之前带领过Google以及MaidSafe和Xored RCPTT团队。

CasperLabs:筑梦者的区块链

我们还有一支强大的顾问团队,图片中就包括非常重要的支持者。包括Michael Arrington, 来自Arrington XRP Capital,以及Matti Liukas,来自共识资本, 还有 Omer Ozden,RockTree Capital(石木资本)的主席。

我们致力于区块链的运用,我们通过提供加速器、开展合作和参与项目的方式,吸引更多的开发者来参与。

CasperLabs:筑梦者的区块链

我们也希望利用区块链技术,加快产品的上线速度。我们也想与全球领先的企业合作,从而使得整个区块链行业有所提升。我们也与全球一些主要的加速器合作,帮助初创企业用区块链技术,让使用区块链的人数变得更多。

最后再次感谢大家的聆听,让我们一道共创未来,筑梦前行!

CasperLabs:筑梦者的区块链

互动问答环节

在本环节,密码极客特地邀请到两位大咖来提问,与分享嘉宾Medha展开对话和互动。

1

Noah Wang(王阳):TOP Network联合创始人兼CFO、CMO,耶鲁大学MBA,CFA、CPA,曾在Starr、工商银行和普华永道任管理职位,CCTV特约评论员,亚布力企业家论坛演讲嘉宾,硅谷华源协会理事,长江商学院青年学者委员会委员,门萨协会国际会员。

问题一:区块链领域有一个“不可能三角”的理论,那就是在去中心化、可扩展和安全性这三者之间只能同时实现其中两个。CasperLabs是如何解决这个问题的?

答:这个“不可能三角理论”并不是完全错误。确实区块链受带宽和消息在系统中传播的时间和速度的限制,所以我们实际需要考虑的是“同步限制”的问题。换言之,是否需要全网就过去的状态达成共识,才能够进行下一批的状态更新?

在PoW算法下,确实存在严格的限制操作,限制了整个网络的吞吐量和扩容性。但是CasperLabs有一个虚拟机状态“Past Cone”和“Future Cone”的概念。

“Past Cone”代表的是网络中大部分节点已经观察到但是尚未终局的一些状态,“Future Cone”代表的是正在处理,并且正在广播给全网的状态更新。这就意味着多个状态更新能够同时在全网广播,并提供更大的吞吐量和规模。这就是我们对这个问题的思考。

问题二:我看海报上写的是“卡位以太坊3.0”,那么CasperLabs跟以太坊2.0相比有哪些方面的改进呢?

答:我们的协议相比于以太坊2.0有多个方面的改进。

首先需要理解的就是以太坊使用的是Casper FFG协议,它本质上就是在POW机制上再叠一个,属于将基于POS的终局性添加到POW网络的一个混合协议。但是CasperLabs则投入了大量精力研究活性问题,所以我们的协议从一开始就是纯粹而且是正确的POS机制,它不包含POW。

除此之外我们的协议还包括一些内置的功能,使得它与以太坊存在着区别,以下就是一些我们认为很重要的改进:比如说我们支持合约执行的WASM,也就是说它支持使用任何可以编译成WASM的语言去编写智能合约,是非常灵活、且强大的。我们提供图灵完整、灵活的支付代码。

另外我们也提供非常强大的多重签名和账户找回功能,就是刚刚所提到的带有权重的密钥以及阈值。除此之外,我们这个网络还有低孤块率的特征。

我们支持不相互冲突的交易同时处理。比如说爱丽丝想给鲍伯支付一笔钱,查理想要支付一笔钱给David,那么这两笔交易是可以在这个系统里同时进行的,因为它们不涉及到相同的账号或者是相同的地址。

问题三:CasperLabs主要针对的领域是什么?今后如何吸引第三方开发者来进行开发?

答:我们将自己称为筑梦者的区块链是有原因的。自成立以来,我们主要专注于消除对于开发人员、验证者以及终端用户使用区块链的障碍。

我们投入了大量的精力去研究共识机制以及扩容性的问题。但是同时我们也将多年来在软件工程方面的经验融合到当前的工作中,从而构建一个我们自己愿意使用的平台。开发人员可以使用任何能够编译成WASM字节码的语言去写智能合约。对于他们来说,上手协议、编写合约就变得非常容易。

除此之外,我们也提供完整的Rust智能合约的SDK,包括测试环境以及一个合约运行环境,可以整合到现有的Rust生态系统中,从而使得开发人员无须额外学习。它同样整合进专业的持续集成环境中,便于开发人员用break points, watch函数等他们熟悉的操作。

我们的区块链也支持在一个不可篡改的地址或者是经许可的引用存储合约。这就使得开发人员可以对他的合约进行版本的更新和升级,使得合约的升级和bug修复变得容易。企业可以选择用哪个协议版本去写智能合约,允许它们更好的控制未来帐户的升级。我们的帐户管理系统非常灵活,允许企业和开发人员控制授权。

除此之外,开发人员可以用GraphQL去查询全局区块链以及他们App的状态,了解合约的内部状态。他们在将区块链技术整合进手机App,用户界面或者是更大的系统架构的其它组件时,使用GraphQL。我们还支持多种支付方式,从而使得企业可以自己选择到底以怎样的方式去完成交易的支付。还有很多的功能,便于开发人员上手写区块链应用。

2

邓伦:QuarkChain工程总监,毕业于西安交通大学电气工程专业,作为资深软件工程师,曾在EMC从事产品研发工作十年以上。2017年开始从事区块链的研发,对于大型企业级软件产品及区块链具有丰富的经验。

问题一:很多项目比如Polkadot/Cosmos/Eth2.0都在分片多链方面工作多年。你认为这个方向是必须的吗?这方面有哪些主要的技术问题?

答:是的,我认为对于区块链技术来说,扩容是必要的。扩容首先意味着可以添加更多的计算资源到系统里,否则的话就没有办法从规模经济中受益。否则开销无法稳定,所以对于区块链的用户而言,扩容意味着开销不稳定!

就分片和多链的技术问题,主要是代码移动或者说在跨链交易时的一个安全性问题。比如说在一个多链系统里,包含原生代币的任何交易都必须要由根链进行处理,那么这笔交易就会变成一个阻塞网络的交易。

此外,在多个分片的情况下,你很难判断出第1笔交易是否已经完成,这样的话你没有办法继续后续的交易,或者说依赖于上一笔交易的后续的交易。这其实也是分片的安全性方面所存在的一个问题。

问题二:除了扩容之外,你们项目怎么从其他项目,比如以太坊等项目的比较中脱颖而出?

答:就我们的优势而言,我们的系统包含着许许多多开发者友好的功能。并且我们也理解,企业要在自己的应用中使用区块链技术,需要哪些功能。

我们的系统就提供了这些必要的功能。我们认为区块链应当是属于一个更大的应用架构的一个部分。这个更大的应用架构应该包括Web和移动端的界面。以下就是一系列我们认为企业在自己的应用中使用区块链技术所需要的一些功能。通过这样的功能,我们也可以构建一个强大的开发者社区。

这些性能就包括开发人员可以使用所有能够编译成WASM字节码的语言去写智能合约,对他们来说,上手区块链技术就变得非常容易,也不需要学一门新的语言。另外我们的Rust开发工具能够整合进现有的Rust工具链中,使得编程对于开发人员来说不难,便于企业使用。

另外我们的区块链也支持将合约存储在一个不可篡改或可升级的地址中。我们的帐户管理系统灵活而强大,允许各种形式的授权。用GraphQL,可以很方便地从区块链中提取数据,并且将数据用到系统架构的其它组件中。

支持多种支付方式,从而使得开发人员和企业能够指定到底怎样去完成交易的支付。以及很多强大的功能,使得用区块链端点和API开发变得容易。而且我们支持多种支付方式,从而使得开发人员和企业能够指定到底怎样去完成交易的支付。

问题三:DeFi是区块链上面一个热门的应用,你能预测一下使用分片技术之后对DeFi可能产生的影响吗?比如DeFi跨链可组合性问题。

答:区块链的分片,归根结底就是这样一个全局状态,或者是一个账本分成多个部分。那么当两个合约存在着两个不同的分片的时候,首先一个分片里面的合约要先执行,执行完成后,执行的结果才能够传递到另一个分片的合约中,第2个合约还要消化第1个合约执行的结果。如何确定第1个合约的执行状态有多种方式,其中包括receipts、允许第二个分片里的合约可以查询第一个合约的状态和一些链下的解决方案。

但如果你看一下这个结构的话,你就会发现这两个分别位于两个分片的交易是没有办法同时完成的。也就是说,你首先必须要对这个交易的顺序进行一个排序,然后让在先交易完成之后,才能够继续后面的交易。最近bZx所经历的闪电贷攻击之所以会发生,就是因为在一笔交易中是可以做到闪电贷的。所以或许就长期而言,不允许闪电贷是一件好事。

3

下面是从社区收集到的问题。

问题一:我想问问这个项目解决可扩展问题就这个Casper吗?据我所知,现在Rchain已经将Casper工程实现了,请问这个项目主网什么时候上线?

答:CasperLabs使用WASM支持用Rust或者是AssemblyScript语言编写的智能合约的执行。而Rchain用的是 Rholang解释器解释Rholang语言编写的智能合约。CasperLabs和Rchain的CBC也相差很大。

问题二:Casper与RollUP会共存么?两者之间是什么关系?

答:不知道您这个问题里面的这个RollUP是不是指rollup.js。目前我们没有支持Rollup语言的计划,我们的脚本语言是AssemblyScript,因为可以被编译成WASM。未来有可能在CasperLabs中会有一些小的智能合约,可以安全调用其它智能合约。我们认为这对于开发人来说,可以说是实现这一功能最干净的方式了。

- 感 谢 阅 读 -

CasperLabs:筑梦者的区块链

Crypto Geek

Only for Technological Innovation

原创文章,作者:丨密码极客丨。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选