资讯专栏INFORMATION COLUMN

Layer 1 应该做什么

draveness / 1807人阅读

摘要:正因为会验证产生的状态,我们才能够做到通过保证的安全,因为的用户在遇到问题时,总是可以请求来做某种形式的验证这是为什么可以看作是,因为它是一个能识别密码学证明的法院。

Nervos Approach

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

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

换句话说,从分层的角度来看,现有的区块链设计方式都是过时的。现有的区块链在设计时考虑的是特定的功能(例如支付,或者是运行 DApp),并希望在运行一段时间后,让上层协议来适应自己。然而如果我们阅读互联网的历史就知道,今天互联网的协议分层不是这样打补丁打出来的,相反是在吸收过去经验之后基于分层的思路重新设计出来的(是的,互联网协议也是分层的,我们说的 TCP/IP 实际上是两个协议的名字)。Nervos Approach 是向互联网学习的产物。

这是为什么区块链并不天然是 Layer 1,Layer 1 是需要设计的。这也是为什么我们选择设计 CKB 这样一个新的区块链协议的原因。

Layer 1 vs. Layer 2

要弄清 Layer 1 应该做什么,首先要弄清楚它和上层协议的区别。Layer 2 起源于我们发现公有链(这里指 Permissionless Blockchain)的性能不足,很难扩容到满足整个加密经济体需求的水平,同时我们又非常迷恋公有链提供的可用性和极大的服务范围,因此慢慢演化出了一系列可以由区块链来保证安全的 Layer 2 协议,例如支付通道(Payment Channel),Plasma,etc.

这些协议的共同特点是牺牲共识范围来换取性能。公有链最让人惊艳的地方是通过开放网络,提供不间断的覆盖全球的服务,这意味着全球共识,也意味着性能低下。解决这个问题的最好方式是将大部分交易转移到共识范围更小,但是性能更好的上层协议中,并且保证上层协议的参与者总是可以在不满意的时候退回到区块链上来解决问题,代价仅仅是一些时间成本。

因此作为 Layer 1 的区块链,关注点显然不应该是性能,因为 Layer 2 会承担这个职责。Layer 1 是保障上层协议参与者的最后防线,它的关注点应该是安全和去中心化(安全和去中心化是两个东西,有时间再展开)。如果我们观察 Layer 2 协议与 Layer 1 交互的模式,我们还会发现,Layer 1 负责的是状态共识(存储),Layer 2 负责的是状态生成(计算)。

计算与状态

程序员的世界中有一个流传甚广的公式:程序 = 算法 + 数据结构。这个等式指出了程序设计的两个核心关注点,计算(算法,即计算的步骤)与数据(计算的对象)。而数据又可以分为两种,程序输入(外部数据)和状态(内部数据)。

计算机科学中的「状态」一词可以理解为程序在运行时,某个特定时刻可访问的一切数据。程序中有变量,变量通常代表着内存中的一个可以存放数据的位置,这个位置的内容就是程序的状态。一段程序的输出完全取决于它的输入和其开始执行时的状态。计算(CPU)、输入/输出(IO)与状态(内存)构成了完整的冯诺依曼体系,今天最流行的计算架构。

以支付通道为例

在支付通道中,Layer 2 的共识范围缩小到两人之间,这是最小范围的共识。参与通道的两人进行的操作如下:

1.向 Layer 1 发送交易建立通道,锁定特定的状态,锁定的状态只有用 Alice 和 Bob 双方的签名才能更新

a.例如,Alice 锁定 1 BTC,Bob 锁定 1 BTC,我们用(1, 1)表示在 Layer 1 锁定的状态

2.双方通过链外的网络连接(Layer 2),产生并交换新的状态,各自签名

a.Alice → Bob 0.5 BTC,Alice/Bob 在本地保存的新状态为(0.5, 1.5)

b.Bob → Alice 0.1 BTC, Alice/Bob在本地保存的新状态为(0.6, 1.4)

c.…

d.最后一次交换后,Alice/Bob 在本地保存的新状态为(0.2, 1.8),而且双方都对该状态进行了签名

3.向 Layer 1 发送最终的状态,Layer 1 验证最终提交的状态有 Alice/Bob 双方的签名,更新锁定的状态为(0.2, 1.8)并解锁

从这个例子我们很容易看到,在整个过程中,我们通常讨论的计算分成了两个部分进行:新状态的生成,新状态的验证。前者发生在 Layer 2,而后者发生在 Layer 1。如果我们观察其他的 Layer 2 协议,例如 Plasma 或者是 TrueBit,很容易得到类似的结论。正因为 Layer 1 会验证 Layer 2 产生的状态,我们才能够做到通过 Layer 1 保证 Layer 2 的安全,因为 Layer 2 的用户在遇到问题时,总是可以请求 Layer 1 来做某种形式的验证(这是为什么 Layer 1 可以看作是「Crypto Court」,因为它是一个能识别密码学证明的「法院」)。

因此在分层架构下,Layer 1 的关注点应该是状态的验证(和存储),Layer 2 的关注点应该是状态的生成。通过将状态的生成转移到 Layer 2,将生成和验证分离,我们的分层网络兼顾了性能(Layer 2)、安全和去中心化(Layer 1)。

任何程序都有计算和状态,区块链上运行的程序(DApp)自然也不例外,在分层架构上构建应用时,需要考虑在哪里产生状态,在哪里验证状态,在哪里保存状态。由于状态的生成和验证分离,状态生成的方法可以和验证解耦,状态生成不必被 Layer 1 的编程模型绑定,具有更大的自由度。只要能通过 Layer 1 验证,状态的生成甚至可以是中心化的(事实上大部分 Plasma 协议中只有一个 Operator!)。

Layer 1 应该做什么

我们在说「计算」的时候,实际上说的是「状态生成」。在一般的计算模型里面,不存在信任和安全问题(我的 CPU 不会用假的结果骗我),所以生成就好,不考虑验证;但是在区块链网络里面,我们不仅需要生成,还需要验证。Layer 1 的关注点应该是状态的验证和存储,而不是状态生成(希望你没有被绕晕……)。

由此我们终于可以推出 Layer 1 应该做什么:

1.需要一个安全的共识协议,范围越大越好。基于 PoW 的 Nakamoto Consensus 正是这样一个协议,这是唯一一个在现实环境中经过验证的全球共识。
2.需要可编程能力,以支持各种状态验证逻辑,这意味着我们需要一个强大的编程模型(状态模型+虚拟机)。
3.需要能够理解各种密码学证明,因为区块链协议是基于密码学构建的,Layer 1 与 Layer 2 之间传递的证明是密码学证明。
4.需要管理好状态,因为经过验证的状态会留在 Layer 1 上。这意味着我们需要一个关注状态的经济模型。


关于 Nervos

Nervos Network 由 Nervos 基金会推动,通过分层设计,兼顾性能、安全以及去中心化的特性,满足多样化的商业场景需求,为未来加密经济提供基础设施。

关于 CKB

Nervos Common Knowledge Base(CKB)是一个无需许可链,它是 Nervos Network 的基础层,并在设计上提出了一些理念:

CKB 共识协议 NC-MAX 使用两阶段提交节约带宽,并根据网络情况调整自身参数,提升了 Nakamoto Consensus 的可扩展性
CKB 虚拟机采用底层 CPU 指令集架构 RISC-V 开发,提供更高的开发弹性与运行的稳定性
CKB Cell Model 是比特币 UTXO 模型的通用化,能够验证和存储任何类型的数据
CKB 经济模型用货币政策限制状态存储的增长,并实现智能合约平台的价值存储功能

原文链接:https://talk.nervos.org/t/lay...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24661.html

相关文章

  • 分层的加密经济网络下的底层公链设计原则

    摘要:秘猿科技区块链小课堂第期的技术目标是设计一个分层的加密经济网络。换句话说,从分层的角度来看,现有的区块链设计方式都是过时的。 从分层的角度来看,现有的区块链在设计时考虑的是特定的功能(例如支付,或者是运行 DApp),并希望在运行一段时间后,让上层协议来适应自己。然而区块链并不天然是 Layer 1,Layer 1 是需要设计的。在分层的大框架下,上层协议和分层网络分别有着怎样的需求?...

    LMou 评论0 收藏0
  • 下一代区块链底层基础设施是什么样的?

    摘要:会议中,来自全国各地的近千名区块链爱好者齐聚一堂,共同探讨最新的区块链技术发展。吕国宁在开放日活动中,做了下一代区块链底层基础设施的主题分享。区块链的核心价值是什么我们认为,区块链的核心价值是提供信任。 showImg(https://segmentfault.com/img/bVbsM64?w=1080&h=720); 5 月 16 日,由杭州市金融办指导,巴比特主办的 2019 杭...

    huangjinnan 评论0 收藏0
  • 分层的加密经济网络下的二层扩容方案

    摘要:在年,我们正式作为公链的实现者,开启了加密经济生态的构造中。来保证安全和去中心化,绝对可靠可信它能做到全球共识,并作为加密法院,通过智能合约设计的规则进行仲裁,以经济激励的形式将信任传递到上。 在 2016 年秘猿科技成立之初,我们就认为共识是分层的,最下面最基础、最昂贵、最慢的,是全世界范围的共识。但是我们一层一层往上看的话,共识范围会越来越小,那么上面共识范围更小的地方,是不是要用...

    SegmentFault 评论0 收藏0
  • 虚心的向古典互联网学习,创造我们所向往的加密经济网络

    摘要:自我保障协议与加密经济加密经济是区块链发展多年以后形成的全新经济体。根证书颁发机构为互联网创造信任,它们是整个互联网信任体系的引擎。的信任引擎区块链是创造信任的机器,是一个不依赖任何第三方的由算法和经济激励维护的的网络。 在上一篇中,我们畅想了区块链的未来。秘猿科技在行业内有着丰富的工程实践经验,在多年的实践中,我们不禁思考:区块链技术到底能用来干什么?区块链是要像以太坊一样成为世界计...

    zhkai 评论0 收藏0
  • Layer 1Layer 2 的价值捕获

    摘要:的价值捕获的代币的存在是为了让这条底层公链能够抵抗攻击。分别存在论证可以支撑的通胀率,但几乎没有用户会选择一个全球的无国界的但是每年通胀大于的货币。 著名区块链投资机构 Multicoin Capital 近期推出《On Value Capture at Layers 1 and 2》一文,解释了 Layer 1 和 Layer 2 的协议究竟如何捕获价值: Layer 1 Token...

    Donne 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<