配置管理与测试
Fisco BCOS 配置管理节点配置介绍了节点和账本配置方法,包括端口、证书、日志、群组、共识、存储、交易池、同步、流控等配置项。 FISCO BCOS支持多账本,每条链包括多个独立账本,账本间数据相互隔离,群组间交易处理相互隔离,每个节点包括一个主配置config.ini和多个账本配置 group.group_id.genesis group.group_id.ini 。 config.ini:主配置文件,主要配置RPC、P2P、SSL证书、账本配置文件路径、兼容性等信息。 group.group_id.genesis ∶群组配置文件,群组内所有节点一致,节点启动后,不可手动更改该配置。主要包括群组共识算法、存储类型、最大gas限制等配置项。 group.group_id.ini:群组可变配置文件,包括交易池大小等,配置后重启节点生效。 关于配置配置P2P: 当前版本FISCO BCOS必须在config.ini配置中配置连接节点的P和Port,P2P相关配置包括: • listen_ip : P2P监听IP,默认设置为0.e.0.0 。 • listen_port:节点P2...
WeBASE相关
WEBASE介绍引入: 中间件(Middleware),是提供系统软件(这里指控制硬件的软件,多指操作系统)和应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构等中应用比较广泛。 (举例: 房屋中介 耦合 ) 定义WeBASE(WeBank Blockchain Application Software Extension)是在区块链应用和FISCO-BCOS节点之间搭建的一套通用组件。围绕交易、合约、密钥管理,数据,可视化管理来设计各个模块,开发者可以根据业务所需,选择子系统进行部署。 WeBASE屏蔽了区块链底层的复杂度,降低开发者的门槛,大幅提高区块链应用的开发效率,包含节点前置、节点管理、交易链路,数据导出,Web管理平台等子系统。 整体架构 【图片3】 WeBASE-FrontWeBASE-Front 是一个与 FISCO-BCOS 节点配合使用的子系统,主要特点如下: 版本支持:支持 FISCO-BCOS 2.0 及以上版本。 集成功能:集成 web3sdk,封装接口,...
平台维护
从以太坊,Fabric,BCOS讲述 以太坊平台维护以太坊简述1.账户体系两种账户: 外部账户:由密钥控制 合约账户: 由智能合约代码控制 关于两种账户之间的区别: 2. 货币机制和吞吐量 ETH在以太坊网络中主要是作为燃料货币使用,用于支付部署智能合约、调用智能合约时所消耗的燃料(gas) 执行命令时,用户预支付费用:付款金额(单位wei) = gas数量 * gasPrice gasLimit:规定最大的 gas 消耗数量 如果 gas > gasLimit,消耗的gas不会退回发起的账号(尽可能设置一个较大的gasLimit,当实际消耗的gas小于gasLimit时,多余的gas会退还给发起者)。 交易吞吐量:区块链中每秒能够处理通过的交易数量(交易吞吐量 = 交易数量 / 每秒 = (gasLimit / gas)/ 出块速度) · 以太坊平均出块速度:15秒 · 以太坊主网 gasLimit(以太坊的区块容量):6771518 · 发送支付交易 gas 数量:21000 (最小的 gas 消耗) · 以太坊上交易吞吐量为每秒...
记一次题解
第一题有无除了直接点击deploy外的其他方法部署一个合约 第一题题解create和create2 第二题简单说说怎样优化一下这个私人金库合约 1234567891011121314151617181920212223242526// SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract Vault { address public owner; receive() external payable { // just a receive function } function deposit() external view payable { require(msg.value > 0, "Must send some ether"); // code? what code? } function getBalance() internal view retur...
TEE的初步理解与认识
【论文阅读摘要】 关键词:可信执行环境 定义可信执行环境(trusted execution environment, TEE)技术,用于保护非可信平台中应用和数据可信 执行. TEE 通常采用隔离部分软硬件资源的方法构 建安全区域,确保在其中运行的程序和数据保密性 和完整性不受外部干扰。 一个可靠的TEE 需要提供 4 方面的安全保障 1)数据隔离:一个可信应用使用的数据不能被其他应用访问、修改,包括可信应用的数据对外部操作系统隔离以及多个可信应用之间的数据隔离.。 2)计算隔离:可信应用的计算资源不能被其他应用观测和拦截,同时需要清理可信应用执行后的痕迹,并防御来自侧信道的攻击。 3)通信控制:非可信应用和可信应用、多个可信应用之间的会话和数据交互不能破坏隔离性. 4) 错误隔离:非可信区域的安 全漏洞不能扩散到可信应用中. 实用的 TEE 设计思路是基于硬件隔离基础,通过数据加解密和特权指令执行实现其安 全服务. 特点现有的 TEE 技术具有 3 个明显特点 1)面向用户设计 2)硬件辅助支持设计:从基于 x86 到 RISC-V 架 构的平台均引入了新硬件特性 3)共...
关于架构
企业架构 企业架构是企业进行项目决策的重要依据,同时也是支撑企业后续发展的重要基石。业务架构、数据架构、应用架构和技术架构是企业架构中的四个主要架构,它们在关注的方面和功能上有所不同,但是它们是相互关联和相互支持的,共同构成了企业的总体架构。 企业架构之4A架构4A架构关键词: 业务架构:战略,价值链,端到端,业务流程,业务组件,自上而下分解 应用架构:系统建设,系统集成,中台,自下而上抽象 技术架构:技术选型,框架,PaaS平台,云原生,DevOps,微服务,容器化,部署架构 数据架构:数据标准,数据采集加工,数据入湖,数据治理,数据共享服务,数据安全,数据质量,数据架构 【1】 业务结构业务架构定义了业务策略、治理、组织和关键业务过程。是企业架构的核心内容,承接了企业战略,直接决定企业战略的实现能力,是其他架构领域工作的前置条件。 主要目标是根据企业战略愿景,分析业务现状,识别现有业务能力及问题,提出业务改进需求,设计目标业务架构。(以价值链梳理分析业务开展流程,识别上下游依赖关系,从业务和产品的视角,描述整个平台或者产品的实现) 设计步骤: 识别战略,走访业务部门,问卷...
FISCO BCOS联盟链
FISCO BCOS介绍FISCO BCOS 是一个稳定、高效、安全的区块链底层平台。联盟链需要多家机构来组成联盟,所以FISCO BCOS 支持多群组概念,这意味着多个组织可以通过FISCOBCOS的联盟链组成多个联盟,而且联盟中可以允许共同的组织节点。如下图所示,在多群组技术下FISCO BCOS可以支持众多应用领域。 逻辑架构以下是FISCO BCOS 的逻辑架构,分为:基础层、互联核心层、链核心层、管理层和接口层。 基础层 基础层提供区块链的基础数据结构和算法库,包括密码学算法、隐私算法等。 链核心层 链核心层主要实现区块链的链式数据结构和数据存储(分布式存储),采用了不同的数据库(LevelDB、MySQL、Qracle)来存储区块数据。 互联核心层 互联核心层实现了区块链的基础 P2P 网络通信、共识机制和区块同步机制。 管理层 相对于区块链基础架构,FISCO BCOS 细分出了管理层,实现区块链的管理功能,比如说参数配置、账本管理等。 接口层 接口层主要对应的是应用层,面向区块链用户,提供交互式控制台与各类应用接口。同时还包括智能合约与DApp。 区块链交易流程...
链原——Fabric
超级账本Fabric系统架构 引入了部分中心化服务节点。 为了满足联盟链跨组织多业务协同的需求,超级账本Fabric区块链系统提供了多通道机制,可以同时建立多个逻辑上独立、相互隔离的区块链,每个通道对应唯一的区块链与账本 提供了链码(Chaincode)机制,实现比以太坊智能合约更灵活、强大的智能合约功能,每个节点都可以部署运行链码,链码将存储于区块链中,加载到每个Peer节点上的轻量化Docker容器中执行。 【1】 系统逻辑架构【2】 超级账本Fabric系统不提供加密数字货币功能,因此没有激励层 系统系统的存储层主要采用文件系统、LevelDB或可选的CouchDB Key-Value数据库,为超级账本Fabric系统相关的区块链、分布式账本、智能合约、X.509数字证书、日志、配置文件等数据提供高效、可靠持久化存储服务。 系统的数据层是系统核心功能层级之一,对超级账本Fabric系统核心的区块、区块链、交易、账本、地址、世界状态等关键数据结构进行定义和处理,负责将交易打包进区块,由区块组成区块链,并构建了世界状态、区块索引、键历史索引等数据结构,并基于底层的存...
链原——共识机制
区块链共识机制由于各个节点的自身状态和所处网络环境不尽相同,而交易信息的传递又需要时间,并且消息传递本身不可靠,每个节点接收到的需要记录的交易内容和顺序也难以保持一致。因此,区块链系统的共识问题,或者说账本数据一致性问题,是关系着整个区块链系统的正确性和安全性的关键问题。 共识基本原理与问题数据一致性问题区块链系统的分布式账本中,如何确保分散存储于多个不同网络节点的账本数据在任意时刻都是一致与可信的,不会发生数据冲突与错误,这就涉及分布式系统的一致性问题。 在分布式系统中,各个节点数据的一致性与节点数据的可信性并不是一个问题,解决系统一致性问题并不一定能保证系统数据的正确可信,区块链共识机制的关键是需要同时解决好一致性与可信性两个问题 FLP定理FLP定理1:在异步通信的分布式系统中,即使只有一个进程失败,也没有任何算法能保证非故障进程达到一致性。 FLP定理假设的分布式系统模型如下: (1) 异步通信:异步通信与同步通信的最大区别是没有时钟、不能时间同步、不能使用超时、不能探测失败、消息可任意延迟、消息可乱序; (2) 通信健壮:只要进程非失败,消息虽会被无限延迟,但最...
PBFT共识算法
PBFT共识算法PBFT算法概述定义与介绍定义Practical Byzantine Fault Tolerance(PBFT)是一种用于分布式计算和分布式系统中的共识算法,旨在解决拜占庭容错问题。(拜占庭容错问题涉及到在分布式系统中存在故障或恶意节点的情况下,如何确保系统能够维持一致性)。 介绍PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。 PBFT算法中节点只有两种角色,主节点(primary)和副本(replica),两种角色之间可以相互转换。两者之间的转换又引入了视图(view)的概念,视图在PBFT算法中起到逻辑时钟的作用。 特点与工作原理特点 拜占庭容错: PBFT旨在解决拜占庭容错问题,这意味着系统可以继续正...








