小白都能读懂的 Cell 模型:一个被施展了魔法的盒子

640?wx_fmt=jpeg

Cell 是 CKB 的状态储存单位,是更通用的 UTXO。在本篇文章中,Nervos 社区神秘人物张亚宁用通俗易懂的语言,为我们介绍了 Bitcoin 和 Ethereum 的账户模型,以及 CKB 的 Cell 模型。在他看来,Cell 就像一个被施展了魔法的盒子,在这个盒子之上,有着更多的玩法等着我们去发掘,快来一起探索吧!


UTXO: 只能存放数字的盒子


我们先从区块链鼻祖 Bitcoin 说起。Bitcoin 是一个点对点的电子支付系统,它的账户模型叫 UTXO,也就是未花费交易输出(Unspent Transaction Output)。


我们可以把 UTXO 看成一个带锁的盒子。是的没错,是一个盒子,而不是账本,不要慌。这个盒子里存放的是一个数字,用来表示这个盒子的面值。另外,这个盒子上还有一把锁,只有拥有对应钥匙的人,才可以打开这个盒子。在进行转账时,所有者使用钥匙打开锁,接着重新找到另外一个空盒子,将新的面额放进去,并配上一把属于接收者的新锁(私钥)。如此一来,我们可以将交易过程简单理解为「打开盒子,取出里面的钱,销毁原来的盒子,放到另外的盒子里」。

总结而言,在 Bitcoin 的账户模型中,
盒子表示 UTXO,数据保存在 UTXO 中,而锁(私钥)用来表示所有权


640?wx_fmt=png


密码学实在是一项伟大的发明,它把物理世界锁的概念映射到了虚拟世界。


Account: 存放数据与逻辑的 ATM 机


在理解 UTXO 模型后,我们再来介绍一下 Account 模型,其中最出名的当属 Account 模型的首创 Ethereum。在 Ethereum 中 Account 模型存储的也是数据,不过与 UTXO 不同的是,Account 中除了数据还有逻辑。因此,相对于比特币脚本而言,他可以执行更丰富的智能合约。

以 ERC-20 的智能合约为例,我们也可以将它比喻成一个盒子,不过在这个盒子里存的并不是钱,而是一套复杂的逻辑和数字。
与 UTXO 不同,Account 模型的盒子是一直被重复利用的,并且无法打开就像在盒子的出厂设置时,我们就已经将一套逻辑写到盒子里,只留几个固定的按钮给外界,外界的用户只有在特定的情况下才能触发这些按钮。

Account 的特性就像一台 ATM 提款机,当我们需要转账时,就需要一张能够标示身份的银行卡,以及对应的密码,然后输入转账金额以及收款方等信息,最后点击转账。盒子在接受到这些信息之后,就会将对应的金额从转账发起方的余额中扣除,在收款方的余额中增加,并同步更新内部数据,用户的金额会一直保存在盒子中。熟悉编程的同学很快就会发现,Account 模型就是现实世界中的面向对象模型,具有图灵完备的性质。

在 Account 模型中,盒子负责保存逻辑和数据,并且借此更完备的执行智能合约。出厂设置将逻辑写入盒子后,就永远无法更改。若需要修改数据,只能通过外部的条件去触发。所有人的钱都会集中记录在盒子里,交易过程中,交易双方只需要输入交易信息即可,盒子负责处理和更新数据。


Cell Model: 被施展了魔法的智能盒子


接下来,我们要有请出本篇文章的主角 Cell 模型,也许现在你对它还很陌生,不过我相信很快你就能熟悉它的设计了。

Cell 是 CKB 的状态储存单位,我们也可以把 Cell 看成一个盒子。还记得我们之前提到的 UTXO 模型么?我们把它的概念全部照搬过来,再施加一点小小的魔法,就能变成我们的 Cell 模型。

UTXO 的盒子里存放的只是数字,而在 Cell 模型中,我们为每个盒子都带上了一套逻辑,也就是说,Cell 盒子里的数据不仅可以表示金额,还可以承载其他的信息和资产,比如虚拟猫咪等。

另外,UTXO 用的都是同一类型的普通锁,而在 Cell 模型中,用户
可以 DIY 自己的锁,玩出不同的花样,比如可以是指纹或者刷脸的形式,是不是特别期待!

总结来说,Cell 模型是更通用的 UTXO 模型,它体现在两个方面:

1.Cell 模型中的锁可以 DIY;
2.可以在 Cell 模型的数据上施展魔法。

所以说 
CKB 的 Cell 模型是继承 Bitcoin 简洁的 UTXO 模型,同时还吸收了 Ethereum 可编程的优点

可能有人会问,Cell 模型这样的设计会有什么优点呢?我们该怎样更好的使用 Cell 模型呢?别着急,神秘的伙伴亚宁会在接下来的文章中,继续为大家讲解,让我们一起期待吧!


文:张亚宁 

编辑:Kelly


640?wx_fmt=png


?点击「阅读原文」,参与更多探讨~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值