回到一个开发者所关心的问题,现在已经诞生这么多公链平台,那么在 Nervos CKB 上进行编程,究竟会有什么与众不同的体验?在 CKB 上编程,又有什么样的优势呢? 开发者发行的资产在 CKB 上都是一等公民 在 Nervos CKB 的设计哲学中,如果要将智能合约的风险降到最低,那么必须要将这些智能合约的「状态」去中心化。因为状态决定了资产的所有权,唯有将其去中心化,才能避免因状态的中心化而导致的智能合约漏洞,进而产生系统性风险,最终造成全部人的资产损失。 回顾过去,我们可以看到ERC20 的 Token 存在着许多系统的脆弱性,例如著名的 The DAO 事件,以及 2018 年美链的合约漏洞,它们都因为智能合约中有 bug,进而造成无数资产所有者的损失。 为什么单个合约漏洞就能造成如此大的伤害呢?因为 ERC20 发行的 Token 本质上是将所有用户的资产都存在一个合约地址中,因此当这些 dApp 产生漏洞时,所有该资产的状态都可能发生变动,从而造成经济损失。在 ERC20 这样的模型下发行的资产,就像将该种资产全部都锁进大金库中。可想而知,只要金库的任何一个地方发生了漏洞,那么外来的人就可以进入金库,并将所有的资产都搬走。 CKB 是开发者能够任意玩耍的灵活平台
这样的问题在 CKB 上是不存在的,因为 CKB VM 是基于开源的 RISC-V 指令集开发的,使用了广泛实现的 ELF 格式,也就是说,任何可以编译成 RISC-V 程序的语言均可以直接用来为 CKB 开发智能合约;同时结合 Cell 模型这样的编程模型,我们可以将待验证的合约放在 type script 中,并将所有权的验证放在 lock script 中,这两大设计可以让在 CKB 上的编程拥有非常大的灵活性。 我们简单列举了一些优势来告诉你 Nervos CKB 究竟灵活在哪里: 1.任何语言都有可能在 CKB 上开发: 这种特性的威力是巨大的,举例来说,你可以用以太坊和其他公链的地址和私钥去签署和收发 CKB 上的交易,因此如 Matamask 等,这类在其他链上拥有成千上万用户的工具,可以在开发者开发好一款 CKB 上的产品之后直接为他所用,目前 Lay2 团队 的ckb.pw正在做这个方向的努力;另外,像各种先进的密码学技术如 Schnorr 签名、BLS 签名,和 zkSNARKs/zkSTARKs 等,都可以在 CKB 上使用。这也让安全性相关的签名机制、异构跨链、zk rollup 或 BLS rollup 等分层的实验性技术未来更有机会在 Nervos 上实现。 3.CKB 上可以实现可更新合约 4.可以更灵活的支付手续费 灵活之余,CKB 的确定性让你更安心 除了上面提到了灵活性之外,在 CKB 上的开发者还可以在拥抱灵活编程模型的同时,享有确定性。因为做为 Layer 1 的 Nervos CKB,它只负责执行状态的验证,状态的生成发生在链下,因此它并不会像以太坊那样,开发者的合约需要经过计算才能得到成果。在 CKB 中,我们在链下就能够预期交易的输出状态,让整体交易的执行可以满足「确定性」这个去中心化应用的核心要求。所以,在状态具有确定性的特性下,开发者的合约可以避免被挪作它用,或是受到恶意攻击。这样一来,我们就能够最大程度的确保整体系统的稳定性。 课程中,除了深入浅出的实操技能外,我们还为大家安排了多位可爱的助教。有兴趣的伙伴们趁着现在赶紧一起加入吧,欢迎扫码报名,或者了解这门「CKB 编程体验课」:https://mp.weixin.qq.com/s/iW8Do5Qz2p0sfP8YPSsrJQ。 本文来源:NervosNetwork —- 编译者/作者:NervosNetwork 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
在 CKB 上编程到底有什么样的优势?
2020-04-14 NervosNetwork 来源:火星财经
LOADING...
相关阅读:
- PlanB:10万美元的目标在比特币中仍然有效吗?2020-08-02
- 【抽奖】送CKB,CKB=BTC+ETH2020-08-02
- 以太坊智能合约开发工具 Truffle 发布 5.1.37 版本2020-08-02
- #快银大奖#赢10000KEY | 总计奖励超15000KEY | CKB吧#迷踪解密#活动第37期2020-08-02
- GPT-3开创了无代码编程的新时代2020-08-01