
区块链
文章平均质量分 51
glowd
主要关注中间件,分布式,高并发,大数据;
现在发现区块链很神奇,想要明白中本聪是如何能够构想出这么严谨的系统
展开
-
区块链测试方案
测试依据《区块链技术参考框架》《总体要求和评价指标》《功能测试方法》《性能基准测试方法》《Baas测试方法》《安全测试方法》《溯源应用规范》《供应链金融应用规范》测评体系性能测试测出底层链的性能极值,以此为不同规模应用场景提供参考依据。原则单链单通道单片每笔交易进行有效签名交易类型构造需统一性能测试类别条件类别按照每秒发送交易量与每秒上链交易量的比值区分所有类别对4节点、16节点的规模分别展开性能测试类别压力测试 比值在1上下浮动, 9原创 2021-09-16 16:26:48 · 1633 阅读 · 0 评论 -
Fisco调研报告
原创 2021-09-16 15:03:26 · 282 阅读 · 0 评论 -
xuperchain源码分析-智能合约
XuperBridgeXuperBridge为所有合约提供统一的合约接口,从抽象方式上类似于linux内核对应于应用程序,内核代码是一份,应用程序可以用各种语言实现,比如go,c。类比到合约上就是各种合约的功能,如KV访问,QueryBlock, QueryTx等,这些请求都会通过跟xchain通信的方式来执行,这样在其上实现的各种合约虚拟机只需要做纯粹的无状态合约代码执行。此处的合约就是真正的可执行的智能合约,和刚才分析的ContractInterface不同智能合约类设计合约部署看一下wa原创 2021-09-15 18:48:09 · 5478 阅读 · 0 评论 -
xuperchain源码分析-交易
以一个简单的交易为例:./xchain-cli transfer --to czojZcZ6cHSiDVJ4jFoZMB1PjKnfUiuFQ --amount 10 --keys data/keys/ -H 127.0.0.1:37101xuperchain内部的执行流程如下:原创 2021-09-15 17:37:08 · 269 阅读 · 0 评论 -
加密算法调研
什么是加密加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。为什么需要加密区块链网络中,不存在监督机制,当交易和区块在网络中传播时,如何才能保证才能保证数据不被篡改?加密类型分类对称加密定义:称作私钥加密,加密和解密使用相同的密钥,密钥:在加密的算法中,将明文转化成暗文。或者密文转化成明文的时候,需要用到的私钥。特点:算法公开、计算量小、加密速度快、加密效率高、适合加密比较大的文件;缺点:通信双方都使原创 2021-09-15 17:24:07 · 4332 阅读 · 0 评论 -
区块链P2P网络协议演进过程
区块链是以加密机制、储存机制、共识机制等多种技术组成的分布式系统,可以在无中心服务器的情况下实现相互信任的点对点交易功能。区块链最大的特点是去中心化和分布式,区块链共识机制使得参与节点共同为系统提供服务,实现中心化系统中类似金融中介机构的功能。共识机制是网络大部分节点在约定时间段内对交易状态达成相同的确认,其中共识性通过工作量证明(POW)、权益证明(POS)、实用拜占庭容错(PBFT)等多种共识算法实现。而一致性则要求大部分节点在约定时间段内保持数据内容一致,从而利用共识算法实现共识。传统中心化网络系统需原创 2021-09-15 17:09:43 · 10408 阅读 · 2 评论 -
xuperchain源码分析-核心数据结构
XChainCore ,保存区块链所有核心数据信息type XChainCore struct { con *consensus.PluggableConsensus Ledger *ledger.Ledger Utxovm *utxo.UtxoVM P2pSvr p2p_base.P2PServer LedgerKeeper *LedgerKeeper bcname string log .原创 2021-09-15 15:15:03 · 262 阅读 · 0 评论 -
xuperchain源码分析-接口
XchainServer,TCPServer的对外接口// XchainServer is the server API for Xchain service.type XchainServer interface { // SelectUTXOBySize merge many utxos into a few of utxos SelectUTXOBySize(context.Context, *UtxoInput) (*UtxoOutput, error) // PostTx p原创 2021-09-15 15:12:54 · 225 阅读 · 0 评论 -
xuperchain源码分析-启动过程
xuperchain的启动分为两个比较大的过程,一个是节点的初始化,另一个是挖坑的初始化原创 2021-09-15 15:04:58 · 152 阅读 · 0 评论 -
xuperchain源码分析-合约
这里的合约定义更多的是自动执行约定,而不是预置了一个带有合约地址的合约代码,当时看源码时候就产生过疑惑合约类图Contract表示一种自定义执行约定,调用合约的方式必须是交易,交易到区块上面打包。每一个合约实现,都被称为一个module,上面就有4个module,tdpos,kernel,consensus,proposal。tdposXPoS是超级链的一种改进型的DPoS算法,他是在一段预设的时间长度(一轮区块生产周期)内选择若干个验证节点,同时将这样一轮区块生产周期分为N个时间段, 这若干个原创 2021-09-15 14:53:18 · 6654 阅读 · 0 评论 -
xuperchain源码分析-插件机制
背景因为最近我们在自研底层联盟链,所以调研了现在市面上的主流的公链,联盟链。xuperchain基于插件机制,实现多个核心模块可替换,包括存储,共识,网络等。下面我们就来看看这个插件机制是如何实现的PluginMgr 插件管理器// PluginMgr defines the data struct of plugin manager,只管理配置文件,不管理实例type PluginMgr struct { pluginConf map[string]map[string]confNode原创 2021-09-15 14:45:27 · 237 阅读 · 0 评论 -
SSL/TLS工作原理
转载:https://zhuanlan.zhihu.com/p/36981565为了保证网络通信的安全性,需要对网络上传递的数据进行加密。现在主流的加密方法就是SSL (Secure Socket Layer),TLS (Transport Layer Security)。后者比前者要新一些,不过在很多场合还是用SSL指代SSL和TLS。先来回顾一下网络通信加密的发展过程,假设A和B之间要网络通信。远古时代--远古时代自然是民风淳朴,路不拾遗,夜不闭户。A要发数据给B,根本不用担心.转载 2021-01-06 17:58:37 · 238 阅读 · 0 评论 -
以太坊基本数据结构分析
声明:此为使用网上多处资料整理而成,由于很多地方内容相同,已经分不清哪里是原创一. 以太坊的区块结构从上图可以看到,区块由两部分组成,分别是区块头(header)和区块体(body)两部分。1. 区块头(header)区块头存储了区块的元信息,用来对区块内容进行一些标识,校验,说明等。区块头里字段分为两部分区块头和区块体。通用字段 ParentHash: 父区块的哈希值。 Root:全局状态MPT树的根哈希,世界状态的哈希,这个全局状态树包含了以太坊网络中每一个账户的一组键值对,sta原创 2020-11-23 16:23:53 · 5053 阅读 · 1 评论 -
以太坊的MPT树,以及编码,leveldb存储
声明:此为使用网上多处资料整理而成,由于很多地方内容相同,已经分不清哪里是原创一.MPT树1. Trie树Trie,又称为字典树或者前缀树 (prefix tree),属于查找树的一种。它与平衡二叉树的主要不同点包括:每个节点数据所携带的 key 不会存储在 Trie 的节点中,而是通过该节点在整个树形结构里位置来体现(下图中标注出完整的单词,只是为了演示Trie的原理);同一个父节点的子节点,共享该父节点的 key 作为它们各自 key 的前缀,因此根节点 key 为空;待存储的数据只存于叶原创 2020-11-19 17:33:52 · 1979 阅读 · 0 评论 -
数字证书信任链
介绍前面的“证书之什么是数字签名?”简单科普了一下为什么要使用证书。其实这些以及后面要科普的都是整个公钥基础设施PKI(Public key infrastructure)体系中一部分。下面介绍什么是数字证书的信任链证书链是一个有序的证书列表,包含SSL证书和证书颁发机构(CA)证书,使接收方能够验证发送方和所有CA是否值得信任。链或路径以SSL证书开头,链中的每个证书都由链中下一个证书标识的...原创 2020-04-25 19:22:21 · 3888 阅读 · 0 评论 -
Fabric-CA
Fabric CA概述参考下图展示了Hyperledger Fabric CA服务器在整个Heyperledger Fabric架构中的定位:有两种方式可以与Hyperledger Fabric CA服务器交互:使用Hyperledger Fabric CA客户端使用某种特定开发语言的Farbic SDK。所有与Hyperledger Fabric CA服务器的通信都是 使用R...原创 2020-04-17 19:41:14 · 853 阅读 · 0 评论 -
SSL认证:单向认证与双向认证
SSL协议说明SSL协议既用到了对称加密也用到了非对称加密,在建立传输链路时,SSL首先对对称加密的密钥使用非对称加密链路建立好之后,SSL对传输内容使用对称加密。对称加密和非对称加密对称加密:只有私钥,速度高,可加密内容较大,用来加密会话过程中的消息非对称加密:既有公钥也有私钥,加密速度较慢,但能提供更好的身份认证技术,用来加密对称加密的密钥SSL单向认证过程具体过程:...原创 2020-04-17 11:09:27 · 1233 阅读 · 0 评论 -
x509证书,SSL详解
引言使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的。也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输的数据流。但是有时候,我们需要在网络上传输一些安全性或者私秘性的数据,譬如:包含信用卡及商品信息的电子订单。这个时候,如果仍然使用HTTP协议,势必会面临非常大的风险!相信没有人能接受自己的信用卡号在互联网上裸奔。HTTPS(超文本传输安全)协议无疑可以有效的解决...原创 2020-04-15 19:03:11 · 6934 阅读 · 0 评论 -
身份混合器Idemix(Identity Mixer)
什么是身份混合器(Idemix)?Idemix 是Fabric1.3新加入的功能。实现了“零知识证明“的功能,具体参阅Idemix是一套协议加密组件。它可以提供强大的身份验证和隐私保护特性。匿名性,在不透露交易者身份的情况下进行交易的能力不可链接性单个身份发送多个交易的能力Idemix有三种角色:用户发行者验证者发行者将一组用户的属性以一个数字证书的形式发布,以下简称...原创 2020-04-14 23:40:43 · 990 阅读 · 0 评论 -
Fabric背书策略
背书策略流程Hyperledger Fabric 区块链网络交易的执行分为以下几个步骤。Endorser 与 Committer 都是 Hyperledger Fabric 区块链网络中 Peer 节点的具体角色。与背书策略强相关的是第3步。Client 构造交易并发往 Endorser 节点,Endorser 节点执行交易并调用系统链码 ESCC 对交易签名(背书),结果返回 Clien...原创 2020-03-09 16:14:10 · 1320 阅读 · 0 评论 -
Fabric 系统链码
什么是系统链码fabric 自 1.0 版本开始,将链码分为系统链码和普通链码两种。普通链码(智能合约)用于实现业务逻辑,而系统链码则是用于系统管理,例如 lscc、qscc等。与普通链码需要独立沙盒环境运行不同,系统链码在 peer 服务启动时随 peer 节点注册,同 peer 节点一起运行。在 fabric 1.0 版本时,系统链码为固定的 5 个:lscc、qscc、cscc、vsc...原创 2020-01-14 16:48:02 · 3929 阅读 · 6 评论 -
Fabric共识机制
Fabric共识排序排序服务在超级账本 Fabric 网络中起到十分核心的作用。所有交易在发送给 Committer 进行验证接受之前,需要先经过排序服务进行全局排序。在目前架构中,排序服务的功能被抽取出来,作为单独的 fabric-orderer 模块来实现,代码主要在 fabric/orderer 目录下。orderer service的实现有一下几种,但是无论是哪一种共识,都不会产生分...原创 2020-01-13 16:15:25 · 2813 阅读 · 0 评论 -
Fabric介绍
简介由于比特币的流行,以太坊和一些别的衍生技术成长起来,对一些有创新力的企业开始关注区块链底层技术,分布式账本和分布式应用平台。然而,许多企业需要更高的性能,这是那些无须许可的区块链技术无法达到的。另外,在许多场景下,参与者的身份认证是一个核心诉求,例如金融领域对于企业使用,有如下比较需求:参与者的身份是明确的,可识别的进入网络是必须被许可的较高的性能,并发事务确认的低延迟适用于商...原创 2020-01-11 10:13:20 · 17780 阅读 · 0 评论