搜索

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

1.24 MB 27 页 0 下载 2 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
中文(简体)
.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 页请下载阅读 -
文档评分
请文明评论,理性发言.