这次,又是哪些互联网设施被 Nervos 用上了呢?|CKB Weekly #54
火花
1、引入 Roughtime 的链外时间数据到 CKB 上可能吗?
由于链上的确定性这个本质,CKB 上的智能合约(脚本)没有办法获得当下区块高度的时间戳,这或许对一些需要有当下时间作为输入内容的交易产生了一些障碍,但这并不代表没有办法。
日前,Nervos 的核心架构师 Jan 提出了一个有趣的想法,那就是直接使用互联网上既有的时间校验服务 Roughtime。Roughtime 是一个由 Cloudflare 和 Google 提供的免费、低延迟的验证时间服务,通过 Nervos 灵活地兼容各种签名算法的特性,我们可以轻易地在链上支持 Roughtime 的签名算法 EdDSA 的验证。如此一来,我们就能够通过 Roughtime 作为 Witness,去验证任何人附在 data 或者 lock args 上的时间戳。
当然,这也还是一个比较早期的 Rough idea,开发者 Xuejie 也在此讨论到了如何激励大家来参与这个实时验证。欢迎有兴趣的小伙伴到这个帖子继续讨论:
2、Chained Lock:多种签名算法的验证一次搞定
Chained Lock 是一个由 Nervos 核心开发者 Xuejie 所提出的新点子,目的是透过 exec 这个 Linux 上的函数集来串联多个 lock,用来实现在串联的 Chained Lock 中就能够验证多种不同密码学的签名。
举个例子,今天可能有些锁是以 RSA 签名算法验证,有些则是 secp 256 r1 或者 BLS。以往,我们可能需要用多个 lock 才能够完成不同签名算法的验证,现在透过 Chained Lock 能够把这些验证都集中在一次的交互中完成。这么一来,任何 DApp 的 lock 都能够与签名验证的 lock 解耦,提供更大的便利性来支援更多重的签名验证。
如果想要了解更多或者参与讨论,欢迎查看下方的链接:
技术更新
CKB
-
(#2707)用 KeyedPriorityQueue 取代 BTreeMap/HashSet
perf: use KeyedPriorityQueue to replace BTreeMap/HashSet by quake · Pull Request #2707 · nervosnetwork/ckb · GitHub -
(#2771)将 lru cache 从 SinceVerifier 中删除
chore: remove lru cache from SinceVerifier by quake · Pull Request #2771 · nervosnetwork/ckb · GitHub -
(#2774)将 lru cache 从 get_cellbase fn 中删除
chore: remove lru cache from get_cellbase fn by quake · Pull Request #2774 · nervosnetwork/ckb · GitHub -
(#2784)跳过更新 tx_verify_cache 中有关 cellbase tx 的内容
chore: skip updating tx_verify_cache about the cellbase tx by quake · Pull Request #2784 · nervosnetwork/ckb · GitHub -
(#2785)修复:迁移版本
fix: put migration version by zhangsoledad · Pull Request #2785 · nervosnetwork/ckb · GitHub -
(#2782)将 faux 从 0.1.2 升级到 0.1.3
chore(deps): bump faux from 0.1.2 to 0.1.3 by dependabot[bot] · Pull Request #2782 · nervosnetwork/ckb · GitHub -
(#2770)文档:使用社区贡献的网站获取脚本错误代码
doc: use community contributed site for script error codes by doitian · Pull Request #2770 · nervosnetwork/ckb · GitHub -
(#2773)删除几个重复或过时的依赖项,如 hyper、futures、tokio 等
chore: remove several duplicate or outdated dependencies, such as hyper, futures, tokio and so on by yangby-cryptape · Pull Request #2773 · nervosnetwork/ckb · GitHub -
(#2736)重构:将状态标志移至 HeadersSyncState enum 中
refactor: move state flag to `HeadersSyncState` enum by quake · Pull Request #2736 · nervosnetwork/ckb · GitHub
Layer 2
Godwoken-polyjuice [为 Godwoken 兼容以太坊]
-
(#41)更新 godwoken 和 godwoken-scripts 的依赖
chore: update godwoken and godwoken-scripts dependencies by TheWaWaR · Pull Request #41 · godwokenrises/godwoken-polyjuice · GitHub -
(#39)修复:uint8_t *content 内存泄露
fix(big_mod_exp): uint8_t *content memory leaks by Flouse · Pull Request #39 · godwokenrises/godwoken-polyjuice · GitHub -
(#38)一些 bug 的修复
Some bug fixes by TheWaWaR · Pull Request #38 · godwokenrises/godwoken-polyjuice · GitHub -
(#37)互操作性重构
Interoperability refactor by TheWaWaR · Pull Request #37 · godwokenrises/godwoken-polyjuice · GitHub
Godwoken [CKB 上的 Rollup 框架]
- (#226)更新 godwoken-scripts
Update godwoken-scripts by jjyr · Pull Request #226 · godwokenrises/godwoken · GitHub - (#223)支持在内置脚本和提款中收取转账费
Support charge tx fee in built-in scripts & withdrawal by jjyr · Pull Request #223 · godwokenrises/godwoken · GitHub - (#219)更新 generate-config 命令
Update generate-config command by EthanYuan · Pull Request #219 · godwokenrises/godwoken · GitHub - (#224)执行测试模式
feat: implement test mode by zeroqn · Pull Request #224 · godwokenrises/godwoken · GitHub - (#208)为互操作性而调整
Adjust for interoperability by jjyr · Pull Request #208 · godwokenrises/godwoken · GitHub - (#221)修复 web3-indexer 日志格式
Fix web3-indexer log format by jjyr · Pull Request #221 · godwokenrises/godwoken · GitHub - (#220)更新 web3 索引器的 gw tx 哈希值
Update web3 indexer for gw tx hash by jjyr · Pull Request #220 · godwokenrises/godwoken · GitHub - (#212)Impl gw-tools 的子命令 setup-nodes
Impl gw-tools sub command setup-nodes by EthanYuan · Pull Request #212 · godwokenrises/godwoken · GitHub - (#218)通过短地址添加 rpc 获取脚本哈希值
Add rpc get script hash by short address by jjyr · Pull Request #218 · godwokenrises/godwoken · GitHub
跨链
force-bridge[通用的 force bridge 组件]
-
(#120)修复:添加 Prometheus 指标监测器
fix: add prometheus metric monitor by fpChan · Pull Request #120 · nervosnetwork/force-bridge · GitHub -
(#135)修正:通过 yarn 脚本恢复 ci 流
fix:restore ci flow by yarn script by fpChan · Pull Request #135 · nervosnetwork/force-bridge · GitHub -
(#126)修复(链下):在 ci 中添加 rpc 测试
fix(offchain): add rpc test in ci by JacobDenver007 · Pull Request #126 · nervosnetwork/force-bridge · GitHub -
(#131)通过客户端更新部署的方式
feat: update deploy way by cli by fpChan · Pull Request #131 · nervosnetwork/force-bridge · GitHub -
(#132)在 RPC 中公开 getBridgeConfig
feat: expose getBridgeConfig in RPC by homura · Pull Request #132 · nervosnetwork/force-bridge · GitHub -
(#127)修复:永远重试错误,以避免处理程序崩溃
fix: retry error forever to avoid handler crash by homura · Pull Request #127 · nervosnetwork/force-bridge · GitHub -
(#130)修复:更新部署脚本和 CKB 启动高度
fix: update the deploy script and ckb start height by fpChan · Pull Request #130 · nervosnetwork/force-bridge · GitHub -
(#129)文档:更新部署文档
doc: update deployment doc by cryptowen · Pull Request #129 · nervosnetwork/force-bridge · GitHub -
(#128)文档:添加部署文档
doc: add deployment doc by cryptowen · Pull Request #128 · nervosnetwork/force-bridge · GitHub -
(#124)修复:修复 cli args 解析
fix: fix cli args parse by solargatsby · Pull Request #124 · nervosnetwork/force-bridge · GitHub -
(#125)文档:添加 dapp-user-guide.md
docs: add dapp-user-guide.md by nolanxyg · Pull Request #125 · nervosnetwork/force-bridge · GitHub -
(#123)阶段性文件的 lint
feat: lint for staged files. by homura · Pull Request #123 · nervosnetwork/force-bridge · GitHub -
(#122)修复:在 isBurnTx 和 parseMintTx 中验证 ownerTypeHash
fix: verify ownerTypeHash in isBurnTx and parseMintTx by nolanxyg · Pull Request #122 · nervosnetwork/force-bridge · GitHub
CKB 浏览器
- (#825)添加更多 NFT 的标签
Add more nft tags by duanyytop · Pull Request #825 · nervosnetwork/ckb-explorer-frontend · GitHub
生态系统
ckb-nft-scripts [金色传说 & 秘宝 NFT]
- 秘宝持有者突破 1000 人,秘宝收藏者破千纪念 NFT 免费空投社区
- 网易文创三三工作室将联合 Nervina Labs 发行首个 NFT 作品