平台维护
从以太坊,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旨在解决拜占庭容错问题,这意味着系统可以继续正...
链原——以太坊系统
以太坊系统以太坊区块链系统架构以太坊区块链系统依然是P2P体系结构,即对等网络结构 以太坊系统每个节点都可以存储完整的区块链与账本数据,每个节点都可以发起和监听以太坊网络上的交易信息,验证每个交易和区块的合法性; 每个节点都可以交易的形式发布智能合约,智能合约将存储于区块链中,加载到每个节点上的以太坊虚拟机EVM中执行 虽然每个以太坊系统节点上都安装了对等的以太坊系统软件,但是每个节点可以自由选择启动以太坊系统的不同功能,从而属于不同的节点类型,在区块链网络中扮演不同的角色。目前,以太坊系统的节点总体上可以分为“全节点”、“轻节点”、“存档节点”等类型,其中发挥核心作用的是全节点。 【1】 系统逻辑架构【2】 以太坊系统的存储层主要采用文件系统和LevelDB Key-Value数据库,为以太坊系统相关的区块链、分布式账本、智能合约、X.509数字证书、日志、配置文件等数据提供高效、可靠持久化存储服务。 以太坊系统的数据层是系统核心功能层级之一,对以太坊系统核心的区块、区块链、交易、账本、账户、地址、状态树、交易树、收据树等关键数据结构进行定义和处理,负责将交易打包进区块,由区块...
链原——比特币系统
比特币区块链系统架构背景:比特币系统作为世界上第一个大规模成功运营的区块链系统,也建立了区块链系统体系结构的标准——P2P体系结构,即对等网络结构。 每个节点都通过底层的P2P网络协议发现、连接其它区块链网络节点,并提供P2P网络的路由功能; 个节点可以通过PoW共识机制竞争计算新区块的出块权(俗称“挖矿”); 每个节点都可以存储完整的区块链与账本数据,每个节点都可以发起和监听比特币网络上的交易信息,验证每个交易和区块的合法性 关于节点节点总体上可以分为“全节点”、“轻节点”等两大类,其中发挥核心作用的是全节点。 全节点 全节点是比特币系统中功能最完整的节点,全节点一般要求保持一直在线,主要负责执行以下功能: 参与区块记账权的竞争,通过PoW共识机制竞争下一个新区块的出块权,获得出块权的节点将获得系统激励,激励的方式就是奖励一定数量的比特币,也是比特币这种加密货币的唯一产生来源。 存储完整的区块链与账本数据,每个全节点都保存了一个相同区块链与账本数据副本,自2009年比特币系统上线运行至今,每个全节点的区块链与账本数据存储容量已超过500GB。 提供P2P网络路由...







