[持续更新] CKB Weekly 合集

Weekly #59 一起来看看 CKB 2021 主网升级!用 Cell 做分片?这样也行?

火花

Nervos CKB 第一次进行网络升级的 RFC 出现了

随着时间的推移,Nervos CKB 在今年的第一次主网升级的内容也已经要公诸于世了,在这里我们能够看到整个主网升级可以大致分成三个部份:首先是针对 CKB VM 进行了主要升级,其中最重要的升级是加了宏指令融合以及 b 扩展(b extension),这将提高 ckb-vm 的性能;另外在未来升级后 CKB 上有多个版本的 VM 可供选择。再来,我们也会看到像是extenstion 新字段会出现在每个区块中,以便于未来 flyclient 等之后版本升级,最后当然对于 Nervos 网络中既存的各个共识,也都有进行补丁和优化,例如有针对sincecelldeps 以及删除 header deps 不成熟期的这个规则。这些升级都能够在 RFC28~ RFC 36 等 RFC 看到,有兴趣的朋友也可以详读 RFC 37 文中对于 CKB 2021 的总览。 RFC 37 : CKB 2021 链接: rfcs/0037-ckb2021.md at ckb2021-overview · doitian/rfcs · GitHub

用 Cell 做为分片的基础模型可能吗? 有什么好处?

分片是一种当今主流的公链扩容路线之一,分片的概念是将计算、状态存储划分到多条平行链上,以使得吞吐量和性能得以超越单一条链。然而社区开发者香橙提出了一个有趣的观察:「好像大部分的分片都只考虑了账户模型,或者说 UTXO 模型只考虑转账,而极少有考虑 Extend-UTXO 模型的分片;然而在账户模型下,跨分片交易的设计极为复杂,使得现今的分片设计推进缓慢。」,而他有一个有趣的想法,那便是 Nervos 的 Cell 模型很可能是最适合分片的编程模型,分片甚至还能够解决 Layer2 上数据可用性的问题。从这个角度出发,香橙提供了如何在单一分片以及多分片输入交易这两种情况下的设计,可能要注意的设计原则,同时提出了 CellDeps 届时也可能会成为 Cell 设计上的一大挑战,甚至可能要起一条所有节点都需要同步的分片链。香橙说这还是个抛砖引玉的想法。如果对这个设计和主题有兴趣的小伙伴,欢迎点击原文链接,一起加入讨论。 假如Cell用于分片-以数据可用性为核心

本次的 CKB Weekly 我们非常感谢 Nervos 社区的香橙对于内容提出的建议和 Review,CKB Weekly 也时时刻刻欢迎大家任何对于 Nervos 相关的创意和观点,让我们一起碰撞出更多的火花。

技术

技术更新

CKB

  • (#2883) 解决了 ckb2021 出现的所有问题
  • (#2876) 内置矿工不应忽视区块模板中的扩展字
  • (#2881) 版本升级到 0.20.0-rc2
  • (#2837) 当秘密的 REPO_ACCESS_TOKEN 未被设置时,跳过预检
  • (#2872) 将 semver 从 0.9.0 升级到 1.0.3
  • (#2874) 从 1.0.73 升级到 1.0.74
  • (#2875) 将 proc-macro2 从 1.0.27 升级到 1.0.28
  • (#2867) 更新 RFC 编号和链接
  • (#2870) 用 opentelemetry-rust 取代 metrics-rs
  • (#2869) 从 CODEOWNERS 中删除 nervosnetwork/ckb-code-review
  • (#2868) 让脚本错误的构造函数公开,以便于编写测试
  • (#2864) 升级几个依赖项,删除小于v1.0 的 tokio
  • (#2854) 更好地提示 「迁移 」子程序。
  • (#2777) 升级几个依赖项,以移除最老版本的rand
  • (#2857) 修复了标题同步的状态标记问题
  • (#2863) 避免重复的单元格检查
  • (#2844) 记录失败的交易结果

Dev Tools

Godwoken-polyjuice [为 Godwoken 兼容以太坊]

  • (#67 对 sparse-merkle-tree 进行升级
  • (#65) 更新 Addition-Features.md
  • (#64) 重构 evm 内存
  • (#66) 修复模糊测试问题

Capsule [CKB 上用 Rust 创建智能合约的开发框架]
Tippy [DApp 开发套件]
CKB-std [用 Rust 编写 CKB 智能合约的模块]
Neuron

CKB Explorer

frontend
explorer

  • pool_transaction_entries 中添加 tx_status 的索引

Layer 2

Godwoken[CKB 上的 Rollup 框架]

  • (#281) 转储交易时花费了意外的 cycles
  • (#274) 更新 rpc get_block,返回 L2BlockWithStatus
  • (#280) 将smt升级到0.5.2 rc1
  • (#276) 处理 layer 1 分叉
  • (#279) 取消「not burn challenge ckb」挑战
  • (#277) 添加to-short-address / to-eth-address cli
  • (#270) query owner cell dont check empty cursor 查询所有者单元格不要检查空游标
  • (#271) 用 gw_test_作为 rpc 的前缀。
  • (#273) 添加 polyjuice 部署/发送/调用 cli
  • (#275) 如果存在的话重新调用存储路径

Cross-chain

force-bridge [通用的 force bridge 组件]

  • (#180) 添加更改验证器 cli
  • (#182) 删除具有相同nonce的签名记录
  • (#179) 添加监控器
  • (#177) 修复:linux上的 docker 错误
  • (#176) 修正处理 tx 的限制

Ecosystem

* Nervos 联合 Gitcoin 共同推出 5 万美元的开发者赏金计划