| 语言 | 格式 | 评分 |
|---|---|---|
中文(简体) | .pdf | 3 |
| 摘要 | ||
文档介绍了如何用Go module构建模块化跨链平台,由趣链科技的汪小益在GOPHER CHINA 2020上分享。内容涵盖区块链基础、跨链重难点分析、跨链平台架构设计及Go module和plugin的应用实践。跨链难点包括支持异构区块链、验证引擎、跨链事务方案、隐私保护与权限控制。平台提出IBTP(Inter Blockchain Transfer Protocol)作为跨链交互消息传输协议,设计考量包括通用交易格式和可扩展性。Go module实践展示了模块化工具库(bitxhub-kit、bitxhub-core、bitxhub-model、bitxhub、pier)及Ledger接口。Go plugin存在依赖版本一致、so包体积大、内存占用高、仅支持Linux/FreeBSD/macOS等问题。实践结果形成基于多模块可组合性的积木型跨链体系,支持链对链直接、中继见证、主侧扩展等模式。 | ||
| AI总结 | ||
本次演讲主题为“如何用go module构建模块化跨链平台”,由趣链科技汪小益在GOPHER CHINA 2020大会上分享。内容围绕跨链技术及Go语言在其中的应用展开,主要分为四个部分:
1. **什么是区块链**:简要介绍了区块链的基本概念,为后续跨链讨论奠定基础。
2. **跨链的重难点分析**:指出了跨链技术面临的核心挑战,包括:
* **交易验证**:跨链交易的存在性和有效性证明。
* **事务处理**:跨链事务的原子性和一致性难以保证。
* **隐私保护与权限控制**:在不同链之间实现多层级的隐私和权限管理。
3. **跨链平台架构设计**:
* 提出了一个通用跨链消息传输协议**IBTP**(Inter Blockchain Transfer Protocol),其结构包含来源/目的链ID、索引、时间戳、调用内容(Payload)、交易证明(Proof)和协议版本号。
* **设计考量**:IBTP旨在消除不同链在共识、加密等技术上的差异,提供通用交易格式,并具备可扩展性,允许证明和调用信息根据链的特性进行适配。
* 平台架构支持多种跨链模式,如链对链直接连接、中继见证和主侧链扩展。
4. **Go module和plugin的应用实践**:
* **模块化实践**:使用Go module将平台拆分为多个可复用的独立模块,例如:
* `bitxhub-kit`:工具库(存储、加密、网络、日志)。
* `bitxhub-core`:验证引擎和IBTP协议库。
* `bitxhub-model`:数据模型库。
* `bitxhub`:中继链主仓。
* `pier`:跨链网关主仓。
* **Go plugin的挑战**:演讲提到了使用Go plugin时遇到的问题,包括依赖版本需严格一致、编译出的`.so`文件过大、加载后内存占用高,以及仅支持Linux、FreeBSD和macOS平台。
* **实践结果**:通过基于多模块的组合,形成了“积木型”跨链体系,实现了适配不同区块链的跨链网关和验证引擎,并支持多种跨链事务方案。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
15 页请下载阅读 -
文档评分














2.1.3 如何用go module构建模块化跨链平台