Cosmos 分叉检测与 IBC 分叉检测

状态

这部分内容仍在持续完善中。 本目录汇集了在 Cosmos 轻节点场景以及 IBC 场景下,围绕分叉检测所进行的持续工作与讨论。它包含以下文件:

detection.md

轻节点分叉检测的草案,包括“分叉证明”的定义,也就是向全节点提交证据所使用的数据结构。

discussions.md

近期讨论中的一些想法与直觉的汇总
  • 最近讨论的结果
  • 轻客户端 supervisor 的草图,用于说明分叉检测发生的上下文
  • 关于 lightstore 语义的讨论

req-ibc-detection.md

  • IBC 场景下分叉检测需求的汇总。特别地,其中包含一个“ICS 007 所需变更”章节,说明为支持 Cosmos 分叉检测而必须对 ICS 007 进行的更新

draft-functions.md

为了满足已收集的这些需求,我们开始勾勒未来在更详细规范以下内容时所需的一些函数:
  • 分叉检测
  • 分叉证明生成
  • 分叉证明验证
这些内容将应用于以下组件:
  • IBC 链上组件
  • Relayer

待办事项

我们决定在仍有若干开放问题需要处理的情况下先合并这些文件,以记录当前状态并继续推进。特别是,以下问题仍需解决: 我们很可能会根据以下讨论结果,编写一份关于轻客户端 supervisor 的规范: 其中也会一并处理初始化问题:

Cosmos fork detection and IBC fork detection

Status

This is a work in progress. This directory captures the ongoing work and discussion on fork detection both in the context of a Cosmos light node and in the context of IBC. It contains the following files

detection.md

a draft of the light node fork detection including “proof of fork” definition, that is, the data structure to submit evidence to full nodes.

discussions.md

A collection of ideas and intuitions from recent discussions
  • the outcome of recent discussion
  • a sketch of the light client supervisor to provide the context in which fork detection happens
  • a discussion about lightstore semantics

req-ibc-detection.md

  • a collection of requirements for fork detection in the IBC context. In particular it contains a section “Required Changes in ICS 007” with necessary updates to ICS 007 to support Cosmos fork detection

draft-functions.md

In order to address the collected requirements, we started to sketch some functions that we will need in the future when we specify in more detail the
  • fork detections
  • proof of fork generation
  • proof of fork verification
on the following components.
  • IBC on-chain components
  • Relayer

TODOs

We decided to merge the files while there are still open points to address to record the current state an move forward. In particular, the following points need to be addressed: Most likely we will write a specification on the light client supervisor along the outcomes of that also addresses initialization