1.4 Go在区块链的发展和演进Go和区块链 BITMAIN | 姜家志 GO在区块链的发展和演进 以太坊 2.90% GO 10.20% C++ 9.15% Java 8.08% Python 3.99% Linux 3.99% 系统架构 3.54% MOST POPULAR LANGUAGES Detail view (select year/s): 2008 2009 2010 central repositories. Go在区块链项目中是最流行的语言之一 GitHub in blockchain Go语言发展至今已经过去十年多了,是目前最流行的新兴语言,云计算领域的首选语言,而且目前随着区块链的流行,Go再次成为了这个领域的第一语言,以太坊,IBM的fabric等重量级的区块链项目都是基于Go开发。 我理解的区块链 区块链的是什么 去中心化系统 数字化账本 不可篡改 不可篡改 确定性的可复制状态机 Go 区块链的特点 1 去中心化、弱中心化 2 弱信任,对等的写入权限 数据库 3 共识信任机制,信任来自 于规则,非第三方 4 不可篡改 5 加密安全性、强规则 6 可编程 7 匿名性 8 跨平台 区块链使用什么编程语言 最初的时代 A Peer-to-Peer Electronic Cash System 2008年11月1日,由Satoshi Nakamoto发表论文0 码力 | 32 页 | 10.24 MB | 1 月前3
2.2 如何用GO开发一个区块链项目如何用GO开发一个区块链项目:ABitchain ’ alt=‘OCR图片’/> ABitchain 目录 区块链简单介绍 如何开发区块链 区块链遇见Go ’ alt=‘OCR图片’/> 区块链特征 1 去中心化 2 可信任的机器,防篡改分布式数据库 3 通过密码学构建账户体系 4 共识,P2P通信是交易基础 区块链数据形态 Genesis block 链ID初始代理数据初始挖矿数据其他规则 链ID初始代理数据初始挖矿数据其他规则 交易1 交易2 区块N 区块头 前区块HASH Nonce随机数 时间戳 交易1 交易2 区块链发开模块 A 共识模块 B 账号地址生成算法 P2P是怎么实现通信的 D 智能合约 智能Pending区规则简单介绍 区块数据底层存储 常见的共识算法 1 POW (Proof of Work) 2 POS ( Proof of Stake ) 3 DPOS ( Pending区作用 区块链存储数据结构需要满足: 快速验证交易 2、有效防篡改 3、快速检索数据 4、分叉后能快速回滚 ABitchain 比特币:Merkle以太坊:Merkle Patricia Tries (MPT) 一笔交易如何存入区块链中 ’ alt=‘OCR图片’/> 区块链项目使用的编程语言需要满足 1、执行效率高 2、高并发 3、跨平台 4、高效的网络处理能力 所以早期的区块链项目是以0 码力 | 21 页 | 3.56 MB | 1 月前3
2.4 基于Go-Ethereum构建DPOS机制下的区块链基于Go-Ethereum构建DPOS机制下的区块链 恺英网络一朱崇文 ’ alt=‘OCR图片’/> 目录 1 Go版本以太坊 2 为何选择DPOS机制 3 拓展共识改造实战 4 智能合约的实践 5 压力测试下暴露的问题 GopherChina2018 ’ alt=‘OCR图片’/> Go版本以太坊 ’ alt=‘OCR图片’/> Go版本以太坊 以太坊的工具组 ’ alt=‘OCR图片’/> alt=‘OCR图片’/> Go版本以太坊 以太坊公链网络拓扑 GopherChina2018 ’ alt=‘OCR图片’/> 为何选择DPOS机制 共识机制对比 POW • 消耗计算力 • 出块速度慢,确认慢 • TPS极低 10~20 • 确认1分钟+ DPOS • 代理人模式 • 出块速度快,确认快 • TPS 700~1000 (实现) • 平均确认1~3秒 ’ alt=‘OCR图片’/> 为何选择DPOS机制 DPOS机制的优势 系统可靠性 在商业场景下,网络性能可控 对异常情况能快速处理并恢复 对TPS/QPS,以及确认性能有一定要求 区块链可信 以公有链为基础,可对外开放 任何人都可以参与,设立理事会和见证人角色 理事会管理区块链网络 见证人生产并验证区块 ’ alt=‘OCR图片’/> ’ alt=‘OCR图片’/> 拓展共识改造实战 共识框架引擎一改造共识层逻辑 GopherChina20180 码力 | 34 页 | 2.01 MB | 1 月前3
CurveFs 用户权限系统调研CurveFs 用户权限系统调研(已实现) ## 一、 Curvefs测试 • 1. 启动curvefs • 问题1:root用户无法访问挂载目录 • 测试 allow root - 测试allow_other • 参考文献 - 问题2:本地文件系统挂载默认是共享的? - 问题3:文件系统访问控制是在哪一层实现的? ## 二、 文件系统权限管理 • 文件类型 • 文件权限 • 特殊权限 特殊权限 (SUID, SGID, STICKY) - 文件默认权限mask - 用户&用户组 - 文件系统用户权限管理 - 对mode的管理 - 对ACL(Access Control Lists)的管理 - ACL Access Entry保存在哪? • ACL的表示 • 内存中的ACL 是如何与具体的 Inode 相关联 • 如何存储和获取ACL信息 如何存储和获取ACL信息 • Inode权限校验 • chmod、chown、setfacl、getfacl接口文件系统自己如何实现 • 结论: • 参考文献: ## 一、 Curvefs测试 代码:https://github.com/cw123/curve/tree/fs_s3_joint_debugging 环境:test2 ### 1. 启动curvefs 手动创建c0 码力 | 33 页 | 732.13 KB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬## 大规模高性能区块链架构 设计模式与测试框架 Gopher Meetup 深圳站 2021年8月21号 趣科技 李世敬 ## 目录 01 区块链概述 02 大规模高性能区块链架构设计介绍 03 基于Go插件的区块链性能测试工具 04 写在最后 ## 01 区块链概述 ## 区块链诞生 区块链是互联网发展到一定阶段的必然产物,是在低成本、高效、快捷的基础上 互联网 可信 普适 信息 物理世界 ## 区块链发展历程 ## 中本聪 - 中本聪发表了比特币的创世论文《比特币:一种点对点的电子现金系统》,标志着区块链作为一项完整的集成创新技术正式诞生 ## 2008 ## R3 CEV区块链联盟 - 全球银行巨头组建成立R3 CEV 区块链联盟,致力于探索区块链技术在金融行业的应用产品,自此联盟链技术逐渐获得广泛关注 ## 2015 ## 比特币Bitcoin 比特币诞生,是世界上首个区块链应用系统。发展至今有力地证明了区块链技术的创新性、颠覆性和顽强的生存能力 ## 2009 ## 超级账本Hyperledger - Linux 基金会成立了 Hyperledger开源项目,IBM、Intel、摩根大通等企业加入,开始企业级区块链应用平台的研发 ## 2015 趣链Hyperchain在同一时期开始研发 ## 以太坊Ethereum0 码力 | 39 页 | 56.58 MB | 2 年前3
2.1.3 如何用go module构建模块化跨链平台module构建模块化跨链平台 汪小益 趣链科技 ’ alt=‘OCR图片’/> 什么是区块链 跨链的重难点分析 跨链平台架构设计 Go module和plugin 的应用实践 GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 1 什么是区块链 GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 1 什么是区块链 — 交易 交易指的是一次对账本的操作,如一笔转账交易。 区块 将一段时间内发生的所有交易和状态打包成为一个区块。 块链式数据结构 (狭义区块链) 区块以时间顺序前后相连,组成一种块链式数据结构,即“区块链”一词的由来。 分布式账本 (广义区块链) 多参与方各自部署,互联互通,构成分布式网络。 GOPHER CHINA 2020 1 异构区块链生态 币/模式 比特币 天秤币 (由Facebook发行) (由摩根大通发行) 链/技术 公有链 (Bitcoin/Ethereum/EOS) 联盟链 (Fabric/趣链区块链…) GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 2 跨链的重难点分析 GOPHER CHINA 2020 中国 上海 / 2020-11.21-22 什么是跨链 区块链之间实现可信互操作 资产交换 区块链账本间的资产互操作 数据交换 区块链上数据的共享与同步0 码力 | 27 页 | 1.24 MB | 1 月前3
百度超级链 XuperChain master 中文文档## X uperChain文档 XuperChain介绍: 1. 简介 2. 模块 3. 核心数据结构 3.1. 背景 3.2. 核心数据结构 4. 智能合约 5. 权限系统 6. 隐私和保密 7. 性能 8. 可信账本 9. 总结 ## 快速入门 1. XuperChain环境部署 1.1. 准备环境 1.2. 编译XuperChain 2. XuperChain基本操作 XuperBridge对接 3.6. 资源消耗统计 4. 账号权限控制模型 4.1. 背景 4.2. 名词解释 4.3. 模型简介 4.4. 实现功能 4.5. 系统设计 5. 超级链 p2p 网络 5.1. p2p 网络概述 5.2. 超级链 p2p 网络 6. 身份认证 6.1. 背景 8.3. 超级链中密码学的使用 8.4. 密码学模块 9. 插件机制 9.1. 可插拔架构 9.2. 插件框架设计 9.3. 超级链的插件 10. 超级链共识框架 10.1. 区块链共识机制概述 10.2. 超级链共识框架概览 10.3. 超级链共识矩阵 10.4. 超级链共识主流程0 码力 | 316 页 | 24.51 MB | 2 年前3
Hyperledger Fabric 2.2.0 Documentation0 码力 | 820 页 | 10.90 MB | 2 年前3
百度超级链 XuperChain 3.7 中文文档## X uperChain文档 XuperChain介绍: 1. 简介 2. 模块 3. 核心数据结构 3.1. 背景 3.2. 核心数据结构 4. 智能合约 5. 权限系统 6. 隐私和保密 7. 性能 8. 总结 ## 快速入门 1. XuperChain环境部署 1.1. 准备环境 1.2. 编译XuperChain • 2. XuperChain基本操作 3.5. XuperBridge对接 3.6. 资源消耗统计 4. 账号权限控制模型 - 4.1. 背景 - 4.2. 名词解释 - 4.3. 模型简介 - 4.4. 实现功能 - 4.5. 系统设计 5. 超级链p2p网络 - 5.1. p2p网络概述 - 5.2. 超级链p2p网络 6. 身份认证 - 6.1. 背景 - 6.2 - 8.2. 密码学基础 - 8.3. 超级链中密码学的使用 - 8.4. 密码学模块 9. 插件机制 - 9.1. 可插拔架构 - 9.2. 插件框架设计 - 9.3. 超级链的插件 10. 超级链共识框架 - 10.1. 区块链共识机制概述 - 10.2. 超级链共识框架概览 - 10.3. 超级链共识主流程 - 10.4. 接口介绍0 码力 | 270 页 | 24.86 MB | 2 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## SOLANA ## 在Solana合约链 实现IBC协议跨链互操作 @DaviRain ## 简单介绍下IBC协议是什么,及其生态 ## 介绍IBC协议和其在跨链互操作中的作用 ## I nterchain Standards |Number of Trees|Number of 解释为什么选择在Rust合约链中实现IBC协议 - IBC协议的核心已经被协议核心团队用Rust语言实现。 - 对于本身就是使用Rust语言作为智能合约开发的区块链平台来说,支持集成支持IBC协议会很方便。 - 这里优先构想了在Solana链上实现IBC协议,因为Solana平台本身极低的gas消耗,很适合我现在构思的这套实现方案。(后面会做解释) ## 引入Solana作为示例平台 - Solana极低的Gas花销。 Solana极低的Gas花销。 - Anchor合约开发框架,大大降低了Rust合约开发者在Solana上开发智能合约的难度。 - 以及本人对Solana平台的喜欢,优先考虑了Solana平台,但是这套方案是可以推广到任何的Rust智能合约平台的。 ## < / IBC协议概述 大致讲解下IBC协议的原理,以及参与整个IBC协议活动的不同决策 ## 详细介绍IBC协议的基本概念和原理 












