
区块链技术
草根武林
吾本草根,体羸身弱,偶涉武林,徜徉其中,未尝间断,虽未成才,幸窥一斑,私发宏愿,传承兴家。
展开
-
什么是DApp
区块链正在慢慢的改变这个世界,就好象智能手机爆发的那几年一样。随着越来越多的商业化的改造。区块链会越来越适应于各种商业场景,能够改变或颠覆越来越多的行业。而今天我们要聊的就是DApp。DApp是Decentralized Application的缩写,译为:分散式的应用程序。App我们都知道,我们在智能手机上安装的应用程序也就是App。而DApp比App多了一个‘D’,‘D’的意思是分散式的。...转载 2019-01-02 09:44:49 · 1721 阅读 · 0 评论 -
Hyperledger Fabric 交易背书的基本工作流程详解
本文内容精选自华章鲜读专栏《Hyperledger-Fabric-源代码分析与深入解读》一书第二章“架构分析”。 《Hyperledger-Fabric-源代码分析与深入解读》纸书预计出版时间:2018年9月华章鲜读上线:2018年7月(按章更新,纸书出版前更完本书全部内容)我们概述一个交易的请求流程。如图2-5所示。图2-5 交易的请求流程 图字翻译:...转载 2018-10-18 14:26:01 · 3549 阅读 · 0 评论 -
浅析Hyperledger Fabric架构原理
Hyperledger Fabric概述Hyperledger Fabric是由IBM公司主导开发的一个面向企业级客户的开源项目。与比特币和以太坊这类公有链不同,Hyperledger Fabric网络中的节点必须经过授权认证后才能加入,从而避免了POW资源开销,大幅提高了交易处理效率,满足企业级应用对处理性能的诉求。同时,为了满足灵活多变的应用场景,Hyperledger Fabric采用了...转载 2018-10-18 14:16:05 · 1659 阅读 · 0 评论 -
浅析Hyperledger Fabric应用开发原理
准备工作开发环境:Mac + Parallels + Ubuntu 16.04.4 LTS(虚拟机操作系统) 1、安装cURL$ sudo apt install curl$ curl -V2、安装 Docker CEHyperledger Fabric系统需要将多个模块分离部署在不同节点上,为了方便演示,通过docker模拟各个节点,因此,需要安装docker以及相关...转载 2018-10-18 13:56:59 · 1848 阅读 · 0 评论 -
Vitalik Buterin:以太坊2.0将打造出完美的区块链体系
以太坊基金会首席科学家Vitalik Buterin表示,自公链诞生以来,其面临的最重要升级已经进入了“艰难的软件开发阶段”。在接受采访时,Vitalik提到,对于以太坊2.0来说,目前已经没有任何需要解决的重要理论问题。他说,现阶段的以太坊2.0就像是以太坊1.0在2014年秋天的时候。众所周知的是,以太坊是在2015年7月30日上线的。Vitalik解释了以太坊2.0的概念:...转载 2018-10-08 17:30:14 · 280 阅读 · 0 评论 -
什么是全同态加密?
全同态加密属于密码学领域。由于全同态加密支持无需解密,就能够对密文进行任意计算,因此可以立竿见影的解决数据隐私安全问题,有很大的应用需求。例如,在云环境下,用户加密数据后存储在云端,由于数据加密使得云端无法获得数据的内容,从而保证了数据的隐私。此外,由于是全同态加密,云端可以对密文数据进行任意计算。总而言之,全同态加密不但通过加密保护了数据,而且没有丧失计算性。这么好的性质到哪里找呀!?全...转载 2018-10-08 17:11:11 · 12301 阅读 · 3 评论 -
全同态加密释疑(一)
2009年全同态加密(Fully Homomorphic Encryption)的诞生,不仅是密码学界的一个大的突破(Breakthrough),而且是计算机理论界的一个突破。自从2011年创建了全同态加密QQ群,从几十号人到现在的将近200人,来自各个大学,包括国外。可见人们对全同态加密研究的热情。另外在网上有许多同学问我一些问题,有些问题很雷同,可能也是初学者必经之路。全同态加密的入门确实...转载 2018-10-08 17:10:42 · 3820 阅读 · 1 评论 -
什么是先进的通证?
在前几篇文中我们提到,通证具有多维、多态、多阶的特性。今天我们继续谈通证,通证可以给人带来无穷无尽的想象空间,你要知道刺激人往前走的不是拿在手里的利益,而是想象空间。通证具有非常灵活的形态、非常强的组合能力,透明、可信赖、可追溯,流转速度快,所以它表达价值和凭证的能力,是以前的技术无法相比的。什么是先进的通证什么叫先进的通证呢?我们可以大开脑洞。 眼前能想到的如:身份证、信用卡...转载 2018-10-08 17:00:31 · 496 阅读 · 0 评论 -
数字稳定代币的试验与启示
作者|姚前 孙浩「中国人民银行数字货币研究所,姚前系所长」 文章|《中国金融》2018年第19期近期国际市场涌现出一批以币值稳定为目标的虚拟货币产品——数字稳定代币(stable coin),成为资本追逐和技术研究的热点。本文通过梳理数字稳定代币的分类,剖析其背后的稳定机制和潜在影响,以及对于央行业务的启示。稳定代币的动因与分类虚拟货币无法有效履行计价单位、交易媒介和价值储藏三大货币基...转载 2018-10-08 16:32:50 · 414 阅读 · 0 评论 -
浅析Hyperledger Fabric共识算法
Hyperledger Fabric共识算法区块链系统是一个分布式架构,交易账本信息由各个节点管理,组成一个庞大的分布式账本。在分布式系统中,各个节点收到的交易信息的顺序可能存在差异(例如,网络延迟、主机处理性能),这会导致账本信息的状态不一致,例如,小王账户只有10元,但是他同时转账给小李和小张各10元,并且将这两条交易信息分别发送到两个分布式节点上,如果不对这两条交易进行排序校验,那么,小...转载 2018-10-18 11:04:37 · 5622 阅读 · 1 评论 -
浅析智能合的约攻与防
智能合约的概念其实出现的非常早,在1994年就有人提出,但是因为当时没有这种可信化的这种执行环境,所以也并没有在当时应用到实际的场景当中,但是在08年中本聪提出了比特币的概念之后,人们发现作为比特币底层的区块链技术天然为智能合约提供了可信化的执行环境。智能合约是部署在EVM上,最终部署在区块链的公链上的。可以这样说,比特币引领区块链技术,而以太坊复活了智能合约。 其实智能合约的发展...转载 2018-10-25 10:56:44 · 316 阅读 · 0 评论 -
Hyperledger Fabric 账本结构解析
前言 现在很多人都在从事区块链方面的研究,作者也一直在基于Hyperledger Fabric做一些开发工作。为了方便后来人更快的入门,本着“开源”的精神,在本文中向大家讲解一下Hyperledger Fabric账本的结构和原理。作者解析的Fabric的工程版本为v1.0.1,在新版本中可能会有些许偏差。 ps:作者默认各位读者已经具备了一定的区块链基本知识,不再做一些基础知识的阐述...转载 2018-11-09 08:37:38 · 2848 阅读 · 1 评论 -
Fabric基于Kafka的共识机制剖析
在Hyperledger Fabric最新发布的1.0版本里,分拆出来Orderer组件用于交易的排序及共识。现阶段提供solo及kafka两种方式的实现。solo模式不用多讲,即整个集群就一个Orderer节点,区块链的交易顺序即为它收到交易的顺序。而kafka模式的Orderer相对较复杂,在实现之初都有多种备选方案,但最终选择了现在大家所看到的实现方式。那么其中的选型过程是怎么样的呢?我想将...转载 2018-11-09 14:46:09 · 9066 阅读 · 0 评论 -
以太坊的POS共识机制友善的小精灵 Casper
大家好,我是Vlad. 2014年9月份我开始了研究和设计以太坊POS(proof-of-stake, 权益证明)架构的工作。目前Vitalik和我对于Serenity阶段的POS协议应该长什么样已经有了许多共识,只剩一些细节方面的分歧。我们称它为友善的小精灵Casper(Casper the friendly ghost),因为它实际上是GHOST(Greedy Heaviest-Observe...转载 2019-01-02 09:23:54 · 870 阅读 · 0 评论 -
扒开Fabric架构:抽象的逻辑架构与实际的运行时架构
目标理解Hyperledger Fabric超级账本的逻辑架构。理解Hyperledger Fabric超级账本的实际运行时架构。 任务实现进步非常快。现在我们结合图形,然后根据对应的解释全面理解Hyperledger Fabric的架构。 2.1.1 比较抽象的逻辑架构Fabric从1.X开始,在扩展性及安全性上面有了大大的提升,且新增了诸多的新...转载 2018-12-25 09:17:46 · 608 阅读 · 0 评论 -
技术指南 | 链码如何使用:实现对链码的安装、实例化及调用
目标 1、链码的安装及实例化2、调用链码实现交易处理 任务实现 我们对链码已经有了一个基础的认识,下面我们利用 fabric-samples 提供的示例链码来进行实践;如何安装、实例化及调用链码处理交易。首先确认网络是否处于开启状态,利用 docker ps 命令查看容器是否处于活动状态, 参数说明...转载 2018-12-24 15:56:42 · 2493 阅读 · 1 评论 -
搭建Fabric网络:生成组织结构与身份证书
目标明确生成组织结构及身份证书所需的配置文件及其内容含义 如何使用命令生成对应的组织结构信身份证书 任务实现自动化脚本 byfn.sh 可以自动帮我们创建网络环境运行时所需的所有内容,但在一些特定情况之下,我们根据不同的需求需要自定义一些设置。 现在,我们来实现最重要的环节,哪些配置文件的相关设置会影响创建 Hyperledger Fabric 网络环境运行时所需要...转载 2018-12-24 15:53:58 · 775 阅读 · 0 评论 -
化繁为简自行搭建你的Fabric网络:不可或缺的配置文件
目标1.理解 configtx.yaml 配置文件中的各项含义2.掌握创建 Orderer 服务启动初始区块的命令及参数3.掌握创建应用通道交易配置文件的命令及参数 任务实现3.2.1 configtx.yaml配置文件指定哪些核心内容创建服务启动初始区块及应用通道交易配置文件需要指定 Orderer 服务的相关配置以及当前的联盟信息, 这些信息定义在一个名为 configt...转载 2018-12-24 15:45:44 · 552 阅读 · 0 评论 -
技术指南:以最快的方式完成应用通道的创建
目标1.掌握应用通道创建的命令及其必须指定的参数所表示的含义 2.实现将节点加入到指定的应用通道中 任务实现网络已经启动成功,准备等待处理交易信息,但为了保证交易安全,实现不相干的实体成员不能访问其无权限访问的数据,所以我们需要做出进一步的设置-->创建应用通道来实现交易及数据的隔离。 3.4.1如何创建应用通道在创建及使用应用通道之前,我们先理解一...转载 2018-12-24 15:45:08 · 241 阅读 · 0 评论 -
技术指南:一分钟启动我们的分布式网络
目标1.深入理解 Hyperledger Fabric 网络启动过程 2.掌握网络启动命令及其所需参数 任务实现网络启动之前所需的所有内容我们已经准备就绪,下面我们深入分析网络中各节点运行时所需要指定的必备信息3.3.1 网络服务如何配置启动网络,就是启动提供网络服务的各个节点。那么这些节点如何启动,需要哪些信息,由于要启动多个网络节点,Hyperledger Fa...转载 2018-12-24 09:37:44 · 327 阅读 · 0 评论 -
BaaS究竟是什么?
百度上线区块链开放平台“BaaS”,腾讯云发布区块链金融级解决方案BaaS——在很多区块链商业应用的案例中,我们总能看到BaaS这个字眼,那么这个BaaS究竟是什么?一、BaaS的基本概念BaaS(Blockchain as a Service),“区块链即服务”,是指将区块链框架嵌入云计算平台,利用云服务基础设施的部署和管理优势,为开发者提供便捷、高性能的区块链生态环境和生态配套服务,支...转载 2018-12-28 10:35:51 · 14813 阅读 · 0 评论 -
Hyperledger Fabric 1.2系列fabcar: 4. query的执行过程
从上一篇内容我们可以看到,执行node query.js之后,返回了 CAR0~CAR9 的信息。那这整个流程都做了些什么操作?解析 query.js我们用编辑器打开query.js'use strict';/** Copyright IBM Corp All Rights Reserved** SPDX-License-Identifier: Apache-2.0*//...转载 2018-12-06 16:54:05 · 846 阅读 · 0 评论 -
HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterface用法
深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了。Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开发。我们这里先讲ChainCode的开发。Fabric的链上代码支持Java或者Go语言进行开发,因为Fabric本身是Go开发的,所以深蓝建议还是用Go进行ChainCode的开发。ChainC...转载 2018-12-03 14:56:13 · 853 阅读 · 0 评论 -
Docker命令详解
# docker --helpUsage: docker [OPTIONS] COMMAND [arg...] docker daemon [ --help | ... ] docker [ -h | --help | -v | --version ]A self-sufficient runtime for containers.Options: -...转载 2018-11-23 09:28:58 · 291 阅读 · 0 评论 -
关于区块链的十大误解,憎恨者和狂热爱好者易犯
译者按:2017年,在区块链行业经历大牛市之时,市场参与者各种非理性的行为和声音显然是不明智的,而到了2018年,当市场进入熊市之后,各种过度的质疑甚至诋毁的声音又开始盛行,这其实也并非是好的选择。原文作者Jack Dossman在文章中列出了关于区块链的十大误解,目的是希望市场现有参与者和潜在的参与者能够理性对待这个行业,这样才能更好地利用区块链技术,并发展这一行业。(图片来自:Gree...转载 2018-10-08 14:00:32 · 373 阅读 · 0 评论 -
Fabric基础架构原理(4):链码
智能合约能够部署和运行在区块链环境中,由一段代码来描述相关的业务逻辑。部署后的智能合约在区块链中无法修改,智能合约的执行完全由代码决定,不受人为因素的干扰。一般来说,参与方通过智能合约规定各自权利和义务、触发合约的条件以及结果,一旦该智能合约在区块链环境中运行就可以得出客观、准确的结果。在 Fabric 中,智能合约也称为链码(chaincode),分为用户链码和系统链码,通常指的是用户链码。...转载 2018-10-08 13:47:44 · 2463 阅读 · 0 评论 -
Ubuntu16.04+win10+Fabric
1、起因:最近在学Fabric,需要组建多机节点的Fabric网络,家里有一台笔记本,一台台式机,笔机本是双操作系统win7+Ubuntu16.04(32位),台式机是XP操作系统;2、笔记本安装双操作系统:笔记本上的Ubuntu16.04先前装的是32位系统,Fabric系统需要64位OS,故将以前的32位覆盖,当时用U盘安装,ISO文件在U盘上,装了几次都没有成功,后来找到一篇文章,将ISO文...原创 2018-02-05 19:09:37 · 945 阅读 · 0 评论 -
Fabric 1.0的多机部署
Fabric1.0已经正式发布一段时间了,官方给出的单机部署的脚本也很完备,基本上傻瓜式的一键部署,直接运行官方的network_setup.sh up即可。但是在实际生产环境,我们不可能把所有的节点都放在一台机器中,所以必然会遇到多级部署的问题。下面我们就来讲讲怎么实现多机部署和测试官方的ChainCode。1.环境准备我们要部署的是4Peer+1Orderer的架构,也就是官方的e2c转载 2018-01-29 14:14:16 · 988 阅读 · 0 评论 -
深入理解Fabric环境搭建的详细过程
博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家!前面的准备工作我就不用多说了,也就是各种软件和开发环境的安装,安装好以后,我们git clone下来最新的代码,并切换到v1.0.0,并且下载好我们需要使用的docker镜像,也就是到步骤6,接下来我们要解析转载 2018-01-29 10:36:14 · 1738 阅读 · 0 评论 -
Hyperledger Fabric V1.0– 开发者快速入门
本文档演示使用Hyperledger Fabric V1.0来部署一个开发者环境并运行一个简单例子。文档包括创建和加入通道(账本)、客户端认证以及部署和调用智能合约。CLI将用于创建和加入通道(账本),NodeJS SDK将用于客户端身份验证和使用账本的智能合约功能。Docker Compose将用于创建包含三个Peer节点的联盟链、一个独立的Orderer和一个证书颁发机构(CA)。为了加快部署转载 2018-01-18 08:25:17 · 714 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(七)——启动Fabric多节点集群
5:启动Fabric多节点集群5.1、启动orderer节点服务上述操作完成后,此时各节点的compose配置文件及证书验证目录都已经准备完成,可以开始尝试启动多机Fabric集群。首先启动orderer节点,切换至orderer.example.com服务器,即前文指定的10.130.116.8服务器,执行如下命令进入启动docker进程: docker-compose -f转载 2018-02-01 14:11:14 · 1190 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群
4:创建Fabric多节点集群4.1、配置说明首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过网络来进行通信,网络构建完成后则进行相关的channel和chaincode操作。笔者目前申请了五台服务器,所有的服务器均是按照上述e2e_cli环境构建与测试步骤配置。计划其中四台服务器运行转载 2018-02-01 09:59:30 · 877 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(五)——运行测试e2e
3:运行测试e2e3.1、运行fabric-samples的问题说明该问题说明能够解决6.1、平台特定使用的二进制文件配置第一步的问题。可以选择继续阅读该说明,或者等参考到6.1小节时再反向阅读本说明,具体在6.1中会重新指向本步骤。一般情况下,我们会参照官网来完成第一个网络测试,在该在线文档中会让我们去下载一个fabric-samples,下载地址在github上,我们需要将其下载至转载 2018-02-01 09:48:54 · 1057 阅读 · 1 评论 -
Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理
2:Fabric源码及镜像文件处理2.1下载Fabric源码下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下。通过1.3中go的安装配置,$GOPATH设置为/opt/gopath。我们可以使用Git命令下载源码,也可以使用go get命令,偷懒一点,我们直接用go get命令获取最新的Fabric源码:转载 2018-02-01 09:33:07 · 1729 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下。 1:环境构建与测试在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。因此,启动Fabric网络中的节点转载 2018-02-01 09:32:12 · 1048 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
1:环境构建在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。因此,启动Fabric网络中的节点需要先安装Docker、Docker-compose和Go语言环境,然后在网上拉取相关的Docker镜像,再通过配置compose文件来启动各个节点。 1.1:Docker安装进入docker转载 2018-02-01 09:30:26 · 683 阅读 · 0 评论 -
Hyperledger Fabric 1.0 从零开始(一)
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了。自从2017年7月HyperLedger/Fabric发布了1.0正式版后(可以参考:Hyperledger Fabric 1.0发布:基于区块链的开源分布式账本),公司领导就更加关注这个领域,就安排我一个人来接手,培训转载 2018-02-01 09:26:35 · 987 阅读 · 0 评论 -
ubuntu16.04安装最新版docker、docker-compose、docker-machine
安装前说明:本文将介绍在ubuntu16.04系统下安装和升级docker、docker-compose、docker-machine。docker:有两个版本:docker-ce(社区版)和docker-ee(企业版)。 笔者这里介绍安装或升级的是最新版docker-ce(社区版)。 参考官网地址:https://docs.docker转载 2018-01-12 09:47:17 · 1335 阅读 · 0 评论 -
HyperLedger Fabric 1.0的Transaction处理流程
如果把区块链比作一个只能读写,不能删改的分布式数据库的话,那么事务和查询就是对这个数据库进行的最重要的操作。以比特币来说,我们通过钱包或者Blockchain.info进行区块链的查询操作,而转账行为就是Transaction的处理。而HyperLedger Fabric在1.0对系统架构进行了升级,使得事务的处理更加复杂。一、架构让我们来看看Fabric 0.6到1.0的架构图:转载 2018-01-30 16:39:38 · 601 阅读 · 0 评论 -
侠客岛:终于有人把区块链讲清楚了
侠客岛按】 上个月,我岛在杭州举办了线下沙龙,邀请了蚂蚁金服技术实验室高级技术专家邓福喜,和大家聊了聊最近大热的区块链技术。 在千呼万唤中,岛叔今天终于把文字整理好了。大家不用在后台催了! 三千多字的文字整理稿中,干货很多。邓老师把区块链的概念讲得挺清楚,包括其应用场景和大家最感兴趣的比特币等等。同时也厘清了大家对区块链的一些误解。 以下为岛叔整理的文字实录,看完,相信区块链对你来说将不再...转载 2018-06-06 16:17:11 · 13796 阅读 · 2 评论