财富密码篇之公链我全都要~CKB的cell如何实现你的财富自由

前言

本文也是抱着学习的态度进行整理和构思的,期望通过对比各大公链的基础模型,来达到了解和深入CKB的Cell的目的。以下将列举出比特币BTC的UTXO模型,以太坊ETH的Account账户模型,通过已有且被熟知的公链模型来引出CKB的Cell模型。可以说Cell模型是站在巨人(BTC、ETH)的肩膀上去远眺未来的数字经济之路,也是实现互操作性2.0的最基本的要求。

UTXO模型

先举个简单的例子。

UTXO就像是每个人手里面额不同的现金纸币,可能有1元的,5元的,10元的,100元的等等。

比如你作为一个买家买东西需要116元,你就得从钱包里找一张100元的,一张10元的,一张5元的,一张1元的,凑齐116元支付给卖家。

不过,你可能并不会碰巧有这几个面额的纸币。大多数情况下,你会拿出一张100元的,一张20元的,总计120元的现金纸币给到卖家。同时,卖家会找你4张一元的现金纸币。

以上就是现实生活中使用现金纸币的过程。这个过程和比特币网络的点对点的电子现金支付流程一模一样。UTXO就是那个面值不等的现金纸币,而你只有持有现金纸币才能去购买东西(也就是这些现金纸币所有权是你的才能花出去,你不可能去拿别人钱包的现金纸币)。

然而,现金纸币与比特币电子现金有一点微妙的区别在于:现金纸币在央行发行后,如果没有破损的话就会一直流通在市场中。比特币电子现金却是一直在销毁重铸,每个UTXO都是新发行出来的。所以,现金纸币在市场流通越旧就会越旧越破,比特币却实时在销毁发行,你接受到的比特币都是新发行出来的。

因此,在比特币网络中电子现金的支付会是将你手里的钱(UTXO)销毁,然后重新再发行新的钱(UTXO)。在这个过程中,只需要将新发行的钱(UTXO)的所有权给到对方,就完成了支付。但是,销毁的钱一定是大于等于新发行的钱。

以下是UTXO的技术细节:

UTXO:Unspent Transaction Output 未花费交易输出的简写

下图是交易中包含的输出CTxOut,其结构只有两个字段:nValue代表面值大小,scriptPubKey代表所有者(通常包含了所有者的公钥)。用户的“余额”是该用户的私钥能有有效签名的所有UTXO的总和。

字段nValue就是现金纸币中的面值,字段scriptPubKey就是现金纸币的持有人(所有者)。转账交易的过程就是不断销毁旧UTXO,重新发行新的UTXO,通过改变scriptPubKey的值从而更改资产(现金)的所有者。

下面引用Nervos(CKB)首席架构师谢含剑(Jan)对UTXO模型特点的总结:

1.硬币(资产/现金)是第一性的;

2.所有者是硬币的属性,每一枚硬币有且仅有一个所有者;

3.硬币不断的被销毁和创建;

Account模型

用生活中大家经常用的支付宝举例。

账户就是申请支付宝时候填写的用户名和密码,而大家一般都是用支付宝存钱、转账、支付、理财等等。所以,在一个账户里就会有余额,余额宝,花呗,借呗等等等资金类型。同时,大家会有各种的定期定投理财计划。

用支付宝来看以太坊的账户模型的话,支付宝app就是大家用到的各种数字钱包,账户的用户名和密码就对应了以太账户的公钥(地址)和私钥,各种类型的资金就如同以太坊上不同的数字资产,各种定投计划可以类比以太坊的智能合约。

以下是Account账户模型的技术细节:

Account:账户,是以太坊“共享状态”的抽象。每个账户都有一个相关的状态和一个20字节的地址。其中,以太坊账户分为以下两种类型:

1.外部拥有的账户

由私钥控制,并没有与之相关的代码。可以通过使用其私钥创建和签署交易,将消息发送到其他外部拥有的帐户或其他合约帐户。两个外部拥有账户之间的消息只是一个价值转移。但是从外部拥有账户到合约账户的消息会激活合约账户的代码,允许它执行各种操作(例如转移Token,写入内部存储,创建新的Token,执行一些计算,创建新的合约等)。

2.合约账户

由合约代码控制,有与之相关的代码。不能自行发起新的交易。相反,合约帐户只能触发交易以响应其他交易(从外部拥有的帐户或其他合约帐户)。

除此之外,我们还要了解以太坊账户的具体细节。每个账户包含四个部分:

1.nonce:随机数,用于确定每笔交易智能被处理一次的计数器;

2.balance:账户目前的以太币余额;

3.storageRoot:账户的存储,Merkle Patricia树的根节点Hash值;

4.codeHash:账户的合约代码(默认为空);

其中,Merkle Patricia树是状态存储的地方,也是交易以及合约执行后状态更新的地方。

Cell模型

Cell就像是一个个的寄存柜,可以存储任何有价值的东西。这个柜子的大小形状,存储容量,物品的存储时间都可以自由改变。就连开锁解锁规则都可以由物品的所有者来自己制定。这一切灵活的功能都来自于Cell模型的设计以

你可能感兴趣的:(财富密码篇之公链我全都要~CKB的cell如何实现你的财富自由)