Skip to main content

2 posts tagged with "Cell-Model"

View All Tags

· 24 min read
Jan Xie

在设计CKB的时候,我们想要解决三个方面的问题:

  1. 状态爆炸 引起的公地悲剧及去中心化的丧失;
  2. 计算和验证耦合在了一起 使得无论是计算还是验证都失去了灵活性,难以扩展;
  3. 交易与价值存储这两个目标的内在矛盾 ,Layer 2和跨链的出现将放大这种矛盾,并对Layer 1的经济产生非常负面的影响;

对这些问题没有回答,Layer 1就无法长久运行,区块链给我们的种种承诺自然也是无从谈起。这三个问题根植于区块链架构和协议设计的最深处,很难通过打补丁的方式来解决,我们必须从最基本的数据结构开始,重新审视问题的根源,寻找更合适的地基。

· 19 min read
Jan Xie

喜欢函数式编程的工程师应该很熟悉一个名词:First-class Function,翻译成中文应该叫“头等函数”或者“一等函数”。First-class Function指的是一类编程语言,在这些语言中函数是一个完全独立的概念:函数可以被当作值赋给一个变量,可以被当作参数传递给其他函数,也可以被当作返回值从其它函数传出来。在这样的语言中我们可以像操纵数据一样操纵函数,所以在这些语言中函数和数据一样是“一等公民”(First-class citizen)。First-class Function是函数式语言的一个关键特性,很多函数式编程的强大能力来源于此。

Nervos CKB使用Cell模型来构建整个共同知识库的状态。Cell模型是一个非常简单但是与现有区块链设计非常不同的状态模型,我们在设计Cell模型的时候已经意识到,基于Cell模型的DApp将拥有一些非常不同的性质,就像函数式编程和面向对象编程会产生风格迥异的设计模式和程序特性一样。在这篇文章中,我想阐述Cell模型可以支持的一种非常有趣的DApp设计模式,我们把它叫做First-class Asset,因为通过它我们可以将用户自定义的加密资产变成区块链中的“一等公民”。