Skip to main content

· 13 min read
Cipher

PoW 比你想象的更安全

PoW 的安全性风险在于区块 revert/reorg,从而导致双花。只要有一个诚实矿工,用户的状态/资产就不会计算错误,只有可能出现因区块重整导致的双花交易损失。因此 PoW 的核心安全假设就是 N 个区块后交易就几乎不会被 revert 了,例如 Bitcoin 普遍认为 6 区块甚至更少即可。

显然,6确认的 BTC 肯定比1确认更安全,那么 PoW 确认数和安全性是线性关系吗?并不是,推翻区块的难度随着区块深度指数增长,这个指数增长具体的参数已经有几十篇论文在讨论了。随着时间的推移,大家发现“NC比从前以为的更安全”。

· 24 min read
Jan Xie

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

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

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

· 11 min read
Jan Xie

Nervos Approach

Nervos Network的技术目标是设计一个分层的加密经济网络 。这样一个出发点带来的是一个与众不同的设计思路,我们自己把它称为[Nervos Approach]:

如果我们认为分层是未来的发展方向,我们应该从一开始就考虑到上层协议和分层网络的需求,在分层的大框架下去设计区块链协议。

· 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,因为通过它我们可以将用户自定义的加密资产变成区块链中的“一等公民”。

· 20 min read
Jan Xie

区块链需要成为世界计算机吗?

如果抛开区块链的概念,就字面意思理解“世界计算机”,那应该是一台全世界用户可以共同使用的计算机。在世界计算机中,我们应该可以搭建和部署自己的应用,由世界计算机帮我们执行;我们可以在世界计算机上保存各自的数据;不仅如此,应用之间还能够完美的协作,共同完成我们交待的任务。我很喜欢这个想法。

· 15 min read
Daniel Lv

你们的白皮书我看过了,你们只提出了问题,但是你们根本没有解决方案!别告诉我你们想要解决以太坊的问题,以太坊的方案在我眼里根本不 work!

3 个月前,在一家机构的会议室,Terry 和我,我们正在向对方 Pitch 我们的 Nervos 项目。不确定对方有没有真的看过我们的白皮书,也许怀疑一个本土的团队是否真的有能力写出这样的白皮书,也许怀疑我们提出了一个没有验证过的技术方案,也许团队没有能力真的能把这样的项目做出来……