在 Linux 系统上构建开发环境,Cartesi 助力去中心化应用发展

在 Linux 系统上构建开发环境,Cartesi 助力去中心化应用发展

区块链起源于比特币,而 DApp 繁荣于以太坊,作为具备分布式(Decentralized)属性的应用(Application)——DApp 拥有着划时代意义的特质:

  • 分布式:开源,无国界,不依赖单一机构与中心化服务器
  • 自动化运行:具备可编程性,没有高昂的人工成本
  • 用户自治:用户拥有该 DApp 的治理权

以太坊为 DApp 提供了智能合约这样一个可操作数据的脚本,赋予其更多可能,使其能够应用于更多场景。

加密猫允许世界各地的人在区块链上 “云” 养猫,每个人的虚拟猫都是独一无二的,还能繁衍更独特的后代;通过 Aragon DAO 可以突破空间限制让不同地区的爱好者共同治理某一个组织;内容激励平台 Hive 能够帮助内容创造者货币化自己的创意和观点 …….

在过去,我们见证了诸多 DApp 的探索,同时也发现了局限性——DApp 受限于底层区块链的网络性能。

DApp 发展现状:潜力很大但未达市场预期

现阶段,在众多公链中,以太坊、EOS、TRON 三者攫取了绝大多数市场份额。

据 DAppRadar 的数据显示,目前 DApp 主要以 DeFi、游戏、社交为主。2020 年上半年的数据显示,游戏板块的活跃用户及交易规模有所下降,而 DeFi 板块则表现强劲。

自 2020 年 5 月以来,DeFi 板块的总市值增长幅度惊人,逼近百亿美元规模。基于以太坊开发的 DApp 中,权重排名前十的 DApp 里 DeFi 类占据了 7 个名额,且头部 DeFi DApp 的用户数量大幅增长。

DeFi 繁荣的背后,却是其他 DApp 的脆弱。持续增加的 Gas 费对平均交易金额较高的 DeFi 用户来说不过九牛一毛,但对其他用户而言却难以忍受。

看上去高昂的 Gas 费好像是这一切的元凶,Vitalik 也提出了 EIP-1559 提案这样的解决方案,但社区对于该提案有着诸多讨论。

环顾现有主流的解决方案,按照发力点的不同分为 Layer 1 和 Layer 2。

Layer 1 就是在底层区块链上下功夫,常见的有改进共识算法、分片等解决方案,本质上是提高出块速度,扩大区块链吞吐量,但目前而言似乎还是在区块链不可能三角中做取舍。Layer 2 方面有 Rollup、状态通道等技术,目前仍处于探索阶段。

乔布斯曾说过:先技术后产品,这个错误我犯的比在座各位都多。

从技术角度出发,Layer 1 和 Layer 2 解决方案确实已经非常优秀了,然而从用户的角度出发,事情似乎有一些不一样了。

开发者需要学习区块链编程语言才能开发 DApp,且丰富的 App 开发环境和区块链系统无法契合。用户也逐渐不再满足于养猫、转账、借贷等这样简单、交互性较少的应用场景。基于这样的前提,Cartesi 团队带来了一套独特的解决方案。

Cartesi 的独到之处

从 Layer 2 的层面来讲,Cartesi 的链下扩容分为两部分,负责链下运算的 Cartesi Machine 和负责与链上进行数据互通的 Cartesi Nodes 网络。

Cartesi Machine 是一个运行在确定性的 RISC-V 平台上的自包含的 Linux 系统(self-contained deterministic linux system)。它的功能就是允许开发者基于 Linux 语言去开发 DApp,该 DApp 可以脱离区块链在本地运行,并且保证整个运算过程可被验证。

Cartesi Nodes 网络控制着各个节点的 Cartesi Machine,为各个节点分配离线任务、收集运算结果、验证交易。

这样做的优势在于,DApp 的运算过程可以访问节点的全部计算能力,它不再依赖于区块链的类型和性能。

过去 DApp 仅能应用于一些简单的场景,比如借贷、交易等,当涉及到大型计算、与其他程序的交互、大型游戏等场景时,就力不从心了。

而 Cartesi 为 DApp 在软件层面上提供了操作系统的支持,在硬件层面上提供了存储和运行方面的支持。基于 Cartesi,DApp 可以实现更复杂的应用。

Cartesi 的解决方案展现了先进性

相比其他 Layer 2 方案,Cartesi 也展现出了一定的先进性。

  • 可扩展:主流的 Layer 2 解决方案虽然大量计算也是在链下进行,但当交易结算或者出现分歧时,双方都需要在链上进行大量的密集计算来解决争端,然而主链又很难处理这样大量的计算问题。在 Cartesi 网络中,结算或产生分歧时,有且仅有利益相关方才需要执行复杂的计算,而且还是链下计算,链上仅需要确保执行结果的争议调解能力即可。
  • 丰富的生态基础:Cartesi 允许 DApp 在现有的计算机操作系统 Linux 中进行开发,这也就意味着开发者可以利用 Linux 系统中数以千计的开发组建。也正因此,Cartesi 降低了 DApp 的开发门槛,让 DApp 开发更简单。
  • 完全去中心化:虽然 DApp 是在 Linux 系统中开发的,但最终的共识却是在链上达成的。链上达成共识就意味着它是去中心化的,不需要信用协议、TEE(可信执行环境)亦或是中央服务器。同时大部分 Layer 2 解决方案还有一个弊端在于它要求 DApp 应用的相关节点必须同时在线,在复杂的商业应用场景中这是很难实现的,而 Cartesi 不需要这样。
  • 可移植:在 Cartesi 的网络中,智能合约不再是支持 DApp 的运行,而是对 DApp 运行后产生的关键数据进行验证,并在链上达成共识。这也就意味着只要一条公链支持智能合约,那么 DApp 就可以迁移过去,DApp 不再受限于底层区块链。
  • 保护隐私:因为 DApp 的运行是在链下进行的,且 Cartesi 网络只对部分关键数据进行选择性验证,所以 DApp 的参与者之间并不会进行完全的数据交换,在一定程度上保障了用户的隐私。

Cartesi 上首款去中心化塔防类 DApp 游戏 Creepts

Creepts 是第一个基于 Cartesi 开发的塔防类 DApp 游戏。玩家通过下载一个 Cartesi 客户端来运行游戏,游戏内置多个地图,玩家通过在地图上放置不同功能的建筑来阻止 “敌人” 通过。

Creepts 的每一场比赛分为四个阶段:游戏、公示、比分、结束。

  • 游戏阶段 – 玩家可以从不同地图中选择想参与的地图,然后可以重复游玩该地图并努力提高分数,直到玩家拿到了一个自认为满意的分数,这一阶段结束时玩家的分数将被上传到链上。
  • 公示阶段 – 所有玩家的分数将在这一阶段在区块链上公示,任何人都无法篡改自己或其他人的分数。
  • 比分阶段 – 在此阶段,Creepts 将对所有参赛的玩家的分数进行一个树状结构的比对,每轮获胜的玩家将晋升至下轮比对,最终获胜的玩家成为冠军。
  • 结束阶段 – 当冠军产生后,玩家可以选择结束游戏或开始新一轮游戏。对分数有争议的玩家可以提出申诉。

游戏阶段结束时,除了上传用户的分数,Cartesi 客户端还会把用户操作日志文件哈希值上传,不上传操作日志文件哈希值的用户将被视为放弃比赛。当有用户对比赛结果产生质疑时,Cartesi 就可以通过日志文件的哈希值去重现用户操作以验证用户分数的正确性。

就游戏本身而言,Creepts 并不能算作是一款多人在线游戏,但其链下运算、链上结算的处理机制对于区块链游戏的发展无疑是具有里程碑意义的,它为之后更复杂的区块链游戏提供了可能性,尽管这种可能性目前看起来仅限于奖励的结算、道具的发放等。

Cartesi 豪华的投资机构与合作伙伴阵容

Cartesi 的合作伙伴和投资机构的阵容也是非常豪华,由 FBG 领投,SOSV、中国加速、Artesian、Wings、Enterprise Ethereum Alliance、了得资本等机构共同参与投资。

2020 年 1 月,Cartesi 宣布与加密资产基金 SNZ Holding 展开合作,获得来自 SNZ Holding 的资金支持。同年 4 月,Cartesi 与 Binance 达成合作,登陆 Binance Launchpad 平台。

从投资机构阵容来看,Cartesi 被如此多头部资本看好,其解决方案居功至伟。

Cartesi:成为连接 Linux 和区块链的桥梁

年初上线的首款 DApp,就是前文提到的 Creepts,团队围绕游戏开展了线上比赛,从 Twitter 上大家的留言互动可以看出用户反馈相当不错。

6 月 30 日的时候 Cartesi 迎来了一次较大的更新,在重新设计的网页上开通了 Descartes SDK 的入口。Descartes SDK 是 Cartesi 在用户交互层面的一次重大提升,Descartes SDK 允许开发人员使用 Linux 操作系统上的所有软件工具来构建计算密集型 DApp。

Descartes SDK 的上线标志着 Cartesi 团队距离 “成为 DApp 操作做系统 “的愿景又近了一步,它让 DApp 在享受 Linux 系统开源生态的同时,又保留了区块链技术固有的去中心化及安全优势。

尽管当前版本还是 Alpha 版本,存在一定的不稳定因素,但 Cartesi 开发者表示这并不影响已发布的代码,且团队正在对目前版本进行覆盖率测试和功能改进。

2020 年 7 月的一次 AMA 中,Cartesi 创始人 Erick 分享了此后项目发展的基本路线图,其中极具看点的是「PoS 共识机制」的引入以及「Cartesi 侧链」的开发。

Erick 表示对于现有的区块链网络而言,可扩展性是一个复杂且多维的问题,使用侧链这样一种结构可以为 DApp 实现更高的吞吐量、更低的延迟以及更划算的临时存储。引入 PoS 共识也是希望参与到 Cartesi 网络中的人们可以在为 Cartesi 网络贡献的同时获得挖矿奖励。

除此之外,继 Descartes SDK 发布后,Cartesi 团队还将进一步提升 DApp 开发者的开发体验,计划开发一个用于汇总主机目标借口的 Linux 驱动程序,为 DApp 开发人员和用户提供更大的便利。

目前从 Cartesi 取得的成绩中,我们可以看出它可以让 DeFi、游戏类 DApp 拥有更多可能性,但是 Cartesi 所能实现的远不止于此,区块链作为一种信息基础设施,当它在更多领域被应用时,很多问题就不是一两个 DApp 能解决的了,尤其是面临行业解决方案时,更加强调的是多方参与。

比如人工智能、自动化产线、供应链、以及各种复杂的研究、开发工作,这些不是一两个团队就能完成的,甚至于相关的应用也需要多个团队共同开发,每个团队负责其中一部分组件。很明显这远远超出了智能合约的工作能力,这时候就需要 Cartesi 这样的平台,各个组件本身可以在链下运行,关键数据又可以在链上流通。

可以说 Cartesi 找到了一个很美妙的切入点,即解放了 DApp 的性能枷锁,又保证了数据的安全可靠。

相关阅读
微信 WeChat 新浪微博 Twitter Telegram 搜索 link clock