浅析Fabric Peer 节点
Hyperledger Fabric,也称之为超级账本,是由 IBM 发起,后成为 Linux 基金会 Hyperledger 中的区块链项目之一。
Fabric 是一个提供分布式账本解决方案的平台,底层的账本数据存储使用了区块链。区块链平台通常可以分为公有链、联盟链和私有链。公有链典型的代表是比特币这些公开的区块链网络,谁都可以加入到这个网络中。联盟链则有准入机制,无法随意加入到网络中,联盟链的典型例子就是 Fabric。
Fabric 不需要发币来激励参与方,也不需要挖矿来防止有人作恶,所以 Fabric 有着更好的性能。在Fabric 网络中,也有着诸多不同类型的节点来组成网络。其中 Peer 节点承载着账本和智能合约,是整个区块链网络的基础。在这篇文章中,会详细分析 Peer 的结构及其运行方式。
在本文中,假设读者已经了解区块链、智能合约等概念。
本文基于 Fabric1.4 LTS。
区块链网络是一个分布式的网络,Fabric 也是如此,由于 Fabric 是联盟链,需要准入机制,所以在网络结构上会复杂很多,下面是一个简化的 Fabric 网络:
各个元素的含义如下:
对于 Fabric 网络,外部的用户需要通过客户端应用,也就是图中的 A1、A2 或者 A3 来访问网络,客户端应用需要通过 CA 证书表明自己的身份,这样才能访问到 Fabric 网络中有权限访问的部分。
在上面的网络中,共有四个组织,R1、R2、R3 和 R4。其中 R4 是整个 Fabric 网络的创建者,网络是根据 NC4 配置的。
在 Fabric 网络中,不同的组织可以组成联盟,不同的联盟之间数据通过 Channel 来隔离。Channel 中的数据只有该联盟中的组织才能访问,每一个新的 Channel 都可以认为是一条新的链。与其他的区块链网络中通常只有一条链不一样,Fabric 可以通过 Channel 在网络中快速的搭建出一个新的区块链。
上面 R1 和 R2 组成了一个联盟,在 C1 上交易。R2 同时又和 R3 组成了另外一个联盟,在 C2 上交易。R1 和 R2 在 C1 上交易时,对 R3 是不可见的,R2 和 R3 在 C2 上交易时,对 R1 是不可见的。Channel 机制提供了很好的隐私保护能力。
Orderer 节点是整个 Fabric 网络共有的,用来为所有的交易排序、打包。比如上面网络中 O4 节点。本文不会对 Orderer 节点进行详细说明,可以把这个功能理解为比特币网络中的挖矿过程。
Peer 节点表示网络中的节点,通常一个 Peer 就表示一个组织,Peer 是整个区块链网络的基础,是智能合约和账本的载体,Peer 也是本文讨论的重点。
一个 Peer 节点可以承载多套账本和智能合约,比如 P2 节点,既维护了 C1 的账本和智能合约,也维护了 C2 的账本和智能合约。
为了可以更深入了解 Peer 节点的作用,先了解一下 Fabric 整体的交易流程。整体的交易流程图如下:
Peer 节点按照功能来分可以分为 背书节点 和 记账节点 。
客户端会提交交易请求到背书节点,背书节点开始模拟执行交易,在模拟执行之后,背书节点并不会去更新账本数据,而是把这个交易进行加密和签名,然后返回给客户端。
客户端收到这个响应之后就会把响应提交到 Orderer 节点,Orderer 节点会对这些交易进行排序,并打包成区块,然后分发到记账节点,记账节点就会对交易进行验证,验证结束之后,就会把交易记录到账本里面。
一笔交易是否能成功是根据背书策略来指定的,每一个智能合约都会指定一个背书策略。
Peer 节点代表着联盟链中的各个组织,区块链网络也是由 Peer 节点来组成的,而且也是账本和智能合约的载体。
通过对上面交易过程的了解可以知道,Peer 节点是主要的参与方。如果用户想要访问账本资源,都必须要和 peer 节点进行交互。在一个 Peer 节点中,可以同时维护多个账本,这些账本属于不同的 Channel 。每个 Peer 节点都会维护一套冗余账本,这样就避免了单点故障。
Peer 节点根据在交易中的不同角色,可以分成背书节点(Endorser)和记账节点(Committer),背书节点会对交易进行模拟执行,记账节点才会真正将数据存储到账本中。
账本可以分成两个部分,一部分是区块链,另一部分是 Current State,也被称之为 World State。
区块链上只能追加,不能对过去的数据进行修改,链上也包含两部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的记录。每一个区块记录前一个区块的信息,然后连成链,如下图所示:
第一个区块被称之为 genesis blockquan,其中不存储交易信息。每个区块可以被分为 区块头 、 区块数据 和 区块元数据 。区块头中存储着当前区块的区块号、当前区块的 hash 值和上一个区块的 hash 值,这样才能把所有的区块连接起来。区块数据中包含了交易数据。区块元数据中则包括了区块写入的时间、写入人及签名。
其中每一笔交易的结构如下,在 Header 中,包含了 ChainCode 的名称、版本信息。Signature 就是交易发起用户的签名。Proposal 中主要是一些参数。Response 中是智能合约执行的结果。Endorsements 中是背书结果返回的结果。
WorldState中维护了账本的当前状态,数据以 Key-Value 的形式存储,可以快速查询和修改,每一次对 WorldState 的修改都会被记录到区块链中。WorldState 中的数据需要依赖外部的存储,通常使用 LevelDB 或者 CouchDB。
区块链和 WorldState 组成了一个完整的账本,World State 保证的业务数据的灵活变化,而区块链则保证了所有的修改是可追溯和不可篡改的。
在交易完成之后,数据已经写入账本,就需要将这些数据同步到其他的 Peer,Fabric 中使用的是 Gossip 协议。Gossip 也是 Channel 隔离的,只会在 Channel 中的 Peer 中广播和同步账本数据。
智能合约需要安装到 Peer 节点上,智能合约是访问账本的唯一方式。智能合约可以通过 Go、Java 等变成语言进行编写。
智能合约编写完成之后,需要打包到 ChainCode 中,每个 ChainCode 中可以包含多个智能合约。ChainCode 需要安装,ChainCode 需要安装到 Peer 节点上。安装好了之后,ChainCode 需要在 Channel 上实例化,实例化的时候需要指定背书策略。
智能合约在实例化之后就可以用来与账本进行交互了,流程图如下:
用户编写并部署实例化智能合约之后,就可以通过客户端应用程序来向智能合约提交请求,智能合约会对 WorldState 中数据进行 get、put 或者 delete。其中 get 操作直接从 WorldState 中读取交易对象当前的状态信息,不会去区块链上写入信息,但 put 和 delete 操作除了修改 WorldState,还会去区块链中写入一条交易信息,且交易信息不能修改。
区块链上的信息可以通过智能合约访问,也可以在客户端应用通过 API 直接访问。
Event 是客户端应用和 Fabric 网络交互的一种方式,客户端应用可以订阅 Event,当 Event 发生时,客户端应用就会接受到消息。
事件源可以两类,一类是智能合约发出的 Event,另一类是账本变更触发的 Event。用户可以从 Event 中获取到交易的信息,比如区块高度等信息。
在这篇文章中,首先介绍了 Fabric 整体的网络架构,通过对 Fabric 交易流程的分析,讨论了 peer 节点在交易中的作用,然后详细分析了 peer 节点所维护的账本和智能合约,并分析了 peer 节点维护账本以及 peer 节点执行智能合约的流程。
文 / Rayjun
[1] https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/whatis.html
[2] https://developer.ibm.com/zh/technologies/blockquanchain/series/os-academy-hyperledger-fabric/
[3] https://en.wikipedia.org/wiki/Gossip_protocol
IBM 沃尔玛 将区块链技术应用于处方药追踪
IBM、毕马威、默克和沃尔玛正联手FDA,创建一个概念验证区块链网络。该项目与《美国药品供应链安全法》挂钩,是为了帮助FDA和毒品供应链中的其他组织发展一个区块链网络,以查明和追踪处方药的分配情况。
正如区块链的名言:当你最需要信任的时候,它会建立信任!IBM的全球解决方案负责人马克.特雷舒克表示,区块链可以提供一个重要的新方法,以进一步提高对生物制药供应链的信任。区块链技术不仅能提供跟踪供应链中毒品的审计线索,还能追踪谁共享数据,谁与谁共享,并且不会透露数据本身的内容。因此区块链有可能改变药物数据在其整个生命周期中被控制、管理、共享和采取行动的方式。
IBM近几年一直致力于区块链技术的研发,在航运、食品、银行和硬盘等领域均有应用。在2016年,沃尔玛与IBM合作,应用于其供应商新的食品安全,在整个食品供应链中应用区块链技术做到可追溯性。另外IBM还和Maersk组成了一个专注于全球贸易的合资公司,旨在创建一个区块链平台,服务于全世界的贸易伙伴。
中国也在建立食品供应链安全新标准,依赖IBM、沃尔玛、京东和清华大学眼睛,利用区块链技术收集食品的原产地、安全性和真实性数据。
区块链技术的广泛应用将改变人们的生活。从穿戴到食品,改变人们对普通事物的认知,应用区块链之后,普通的物品将被重新定义,消耗的物品也将不会凭空消失,区块链技术将使一个由物质定义的世界,真正的变成一个数字世界,在地球上消逝的每一粒种子将被永远的记忆!
区块链 --- 共识算法
PoW算法是一种防止分布式服务资源被滥用、拒绝服务攻击的机制。它要求节点进行适量消耗时间和资源的复杂运算,并且其运算结果能被其他节点快速验算,以耗用时间、能源做担保,以确保服务与资源被真正的需求所使用。
PoW算法中最基本的技术原理是使用哈希算法。假设求哈希值Hash(r),若原始数据为r(raw),则运算结果为R(Result)。
R = Hash(r)
哈希函数Hash()的特性是,对于任意输入值r,得出结果R,并且无法从R反推回r。当输入的原始数据r变动1比特时,其结果R值完全改变。在比特币的PoW算法中,引入算法难度d和随机值n,得到以下公式:
Rd = Hash(r+n)
该公式要求在填入随机值n的情况下,计算结果Rd的前d字节必须为0。由于哈希函数结果的未知性,每个矿工都要做大量运算之后,才能得出正确结果,而算出结果广播给全网之后,其他节点只需要进行一次哈希运算即可校验。PoW算法就是采用这种方式让计算消耗资源,而校验仅需一次。
?
PoS算法要求节点验证者必须质押一定的资金才有挖矿打包资格,并且区域链系统在选定打包节点时使用随机的方式,当节点质押的资金越多时,其被选定打包区块的概率越大。
POS模式下,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000。这个时候,如果你验证了一个POS区块,你的币龄就会被清空为0,同时从区块中获得相对应的数字货币利息。
节点通过PoS算法出块的过程如下:普通的节点要成为出块节点,首先要进行资产的质押,当轮到自己出块时,打包区块,然后向全网广播,其他验证节点将会校验区块的合法性。
?
DPoS算法和PoS算法相似,也采用股份和权益质押。
但不同的是,DPoS算法采用委托质押的方式,类似于用全民选举代表的方式选出N个超级节点记账出块。
选民把自己的选票投给某个节点,如果某个节点当选记账节点,那么该记账节点往往在获取出块奖励后,可以采用任意方式来回报自己的选民。
这N个记账节点将轮流出块,并且节点之间相互监督,如果其作恶,那么会被扣除质押金。
通过信任少量的诚信节点,可以去除区块签名过程中不必要的步骤,提高了交易的速度。
?
拜占庭问题:
拜占庭是古代东罗马帝国的首都,为了防御在每块封地都驻扎一支由单个将军带领的军队,将军之间只能靠信差传递消息。在战争时,所有将军必须达成共识,决定是否共同开战。
但是,在军队内可能有叛徒,这些人将影响将军们达成共识。拜占庭将军问题是指在已知有将军是叛徒的情况下,剩余的将军如何达成一致决策的问题。
BFT:
BFT即拜占庭容错,拜占庭容错技术是一类分布式计算领域的容错技术。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或中断以及遭到恶意攻击等原因,计算机和网络可能出现不可预料的行为。拜占庭容错技术被设计用来处理这些异常行为,并满足所要解决的问题的规范要求。
拜占庭容错系统 :
发生故障的节点被称为 拜占庭节点 ,而正常的节点即为 非拜占庭节点 。
假设分布式系统拥有n台节点,并假设整个系统拜占庭节点不超过m台(n ≥ 3m + 1),拜占庭容错系统需要满足如下两个条件:
另外,拜占庭容错系统需要达成如下两个指标:
PBFT即实用拜占庭容错算法,解决了原始拜占庭容错算法效率不高的问题,算法的时间复杂度是O(n^2),使得在实际系统应用中可以解决拜占庭容错问题
?
PBFT是一种状态机副本复制算法,所有的副本在一个视图(view)轮换的过程中操作,主节点通过视图编号以及节点数集合来确定,即:主节点 p = v mod |R|。v:视图编号,|R|节点个数,p:主节点编号。
PBFT算法的共识过程如下:客户端(Client)发起消息请求(request),并广播转发至每一个副本节点(Replica),由其中一个主节点(Leader)发起提案消息pre-prepare,并广播。其他节点获取原始消息,在校验完成后发送prepare消息。每个节点收到2f+1个prepare消息,即认为已经准备完毕,并发送commit消息。当节点收到2f+1个commit消息,客户端收到f+1个相同的reply消息时,说明客户端发起的请求已经达成全网共识。
具体流程如下 :
客户端c向主节点p发送
主节点收到客户端的请求,需要进行以下交验:
a. 客户端请求消息签名是否正确。
非法请求丢弃。正确请求,分配一个编号n,编号n主要用于对客户端的请求进行排序。然后广播一条, m>消息给其他副本节点。v:视图编号,d客户端消息摘要,m消息内容。
副本节点i收到主节点的PRE-PREPARE消息,需要进行以下交验:
a. 主节点PRE-PREPARE消息签名是否正确。
b. 当前副本节点是否已经收到了一条在同一v下并且编号也是n,但是签名不同的PRE-PREPARE信息。
c. d与m的摘要是否一致。
d. n是否在区间[h, H]内。
非法请求丢弃。正确请求,副本节点i向其他节点包括主节点发送一条
主节点和副本节点收到PREPARE消息,需要进行以下交验:
a. 副本节点PREPARE消息签名是否正确。
b. 当前副本节点是否已经收到了同一视图v下的n。
c. n是否在区间[h, H]内。
d. d是否和当前已收到PRE-PPREPARE中的d相同
非法请求丢弃。如果副本节点i收到了2f+1个验证通过的PREPARE消息,则向其他节点包括主节点发送一条
主节点和副本节点收到COMMIT消息,需要进行以下交验:
a. 副本节点COMMIT消息签名是否正确。
b. 当前副本节点是否已经收到了同一视图v下的n。
c. d与m的摘要是否一致。
d. n是否在区间[h, H]内。
非法请求丢弃。如果副本节点i收到了2f+1个验证通过的COMMIT消息,说明当前网络中的大部分节点已经达成共识,运行客户端的请求操作o,并返回
?
如果主节点作恶,它可能会给不同的请求编上相同的序号,或者不去分配序号,或者让相邻的序号不连续。备份节点应当有职责来主动检查这些序号的合法性。
如果主节点掉线或者作恶不广播客户端的请求,客户端设置超时机制,超时的话,向所有副本节点广播请求消息。副本节点检测出主节点作恶或者下线,发起View Change协议。
View Change协议 :
副本节点向其他节点广播
当主节点p = v + 1 mod |R|收到 2f 个有效的VIEW-CHANGE消息后,向其他节点广播
副本节点收到主节点的NEW-VIEW消息,验证有效性,有效的话,进入v+1状态,并且开始 O 中的PRE-PREPARE消息处理流程。
?
在上述算法流程中,为了确保在View Change的过程中,能够恢复先前的请求,每一个副本节点都记录一些消息到本地的log中,当执行请求后副本节点需要把之前该请求的记录消息清除掉。
最简单的做法是在Reply消息后,再执行一次当前状态的共识同步,这样做的成本比较高,因此可以在执行完多条请求K(例如:100条)后执行一次状态同步。这个状态同步消息就是CheckPoint消息。
副本节点i发送
这是理想情况,实际上当副本节点i向其他节点发出CheckPoint消息后,其他节点还没有完成K条请求,所以不会立即对i的请求作出响应,它还会按照自己的节奏,向前行进,但此时发出的CheckPoint并未形成stable。
为了防止i的处理请求过快,设置一个上文提到的 高低水位区间[h, H] 来解决这个问题。低水位h等于上一个stable checkpoint的编号,高水位H = h + L,其中L是我们指定的数值,等于checkpoint周期处理请求数K的整数倍,可以设置为L = 2K。当副本节点i处理请求超过高水位H时,此时就会停止脚步,等待stable checkpoint发生变化,再继续前进。
?
在区块链场景中,一般适合于对强一致性有要求的私有链和联盟链场景。例如,在IBM主导的区块链超级账本项目中,PBFT是一个可选的共识协议。在Hyperledger的Fabric项目中,共识模块被设计成可插拔的模块,支持像PBFT、Raft等共识算法。
?
?
Raft基于领导者驱动的共识模型,其中将选举一位杰出的领导者(Leader),而该Leader将完全负责管理集群,Leader负责管理Raft集群的所有节点之间的复制日志。
?
下图中,将在启动过程中选择集群的Leader(S1),并为来自客户端的所有命令/请求提供服务。 Raft集群中的所有节点都维护一个分布式日志(复制日志)以存储和提交由客户端发出的命令(日志条目)。 Leader接受来自客户端的日志条目,并在Raft集群中的所有关注者(S2,S3,S4,S5)之间复制它们。
在Raft集群中,需要满足最少数量的节点才能提供预期的级别共识保证, 这也称为法定人数。 在Raft集群中执行操作所需的最少投票数为 (N / 2 +1) ,其中N是组中成员总数,即 投票至少超过一半 ,这也就是为什么集群节点通常为奇数的原因。 因此,在上面的示例中,我们至少需要3个节点才能具有共识保证。
如果法定仲裁节点由于任何原因不可用,也就是投票没有超过半数,则此次协商没有达成一致,并且无法提交新日志。
?
数据存储:Tidb/TiKV
日志:阿里巴巴的 DLedger
服务发现:Consul& etcd
集群调度:HashiCorp Nomad
?
只能容纳故障节点(CFT),不容纳作恶节点
顺序投票,只能串行apply,因此高并发场景下性能差
?
Raft通过解决围绕Leader选举的三个主要子问题,管理分布式日志和算法的安全性功能来解决分布式共识问题。
当我们启动一个新的Raft集群或某个领导者不可用时,将通过集群中所有成员节点之间协商来选举一个新的领导者。 因此,在给定的实例中,Raft集群的节点可以处于以下任何状态: 追随者(Follower),候选人(Candidate)或领导者(Leader)。
系统刚开始启动的时候,所有节点都是follower,在一段时间内如果它们没有收到Leader的心跳信号,follower就会转化为Candidate;
如果某个Candidate节点收到大多数节点的票,则这个Candidate就可以转化为Leader,其余的Candidate节点都会回到Follower状态;
一旦一个Leader发现系统中存在一个Leader节点比自己拥有更高的任期(Term),它就会转换为Follower。
Raft使用基于心跳的RPC机制来检测何时开始新的选举。 在正常期间, Leader 会定期向所有可用的 Follower 发送心跳消息(实际中可能把日志和心跳一起发过去)。 因此,其他节点以 Follower 状态启动,只要它从当前 Leader 那里收到周期性的心跳,就一直保持在 Follower 状态。
当 Follower 达到其超时时间时,它将通过以下方式启动选举程序:
根据 Candidate 从集群中其他节点收到的响应,可以得出选举的三个结果。
共识算法的实现一般是基于复制状态机(Replicated state machines),何为 复制状态机 :
简单来说: 相同的初识状态 + 相同的输入 = 相同的结束状态 。不同节点要以相同且确定性的函数来处理输入,而不要引入一下不确定的值,比如本地时间等。使用replicated log是一个很不错的注意,log具有持久化、保序的特点,是大多数分布式系统的基石。
有了Leader之后,客户端所有并发的请求可以在Leader这边形成一个有序的日志(状态)序列,以此来表示这些请求的先后处理顺序。Leader然后将自己的日志序列发送Follower,保持整个系统的全局一致性。注意并不是强一致性,而是 最终一致性 。
日志由有序编号(log index)的日志条目组成。每个日志条目包含它被创建时的任期号(term),和日志中包含的数据组成,日志包含的数据可以为任何类型,从简单类型到区块链的区块。每个日志条目可以用[ term, index, data]序列对表示,其中term表示任期, index表示索引号,data表示日志数据。
Leader 尝试在集群中的大多数节点上执行复制命令。 如果复制成功,则将命令提交给集群,并将响应发送回客户端。类似两阶段提交(2PC),不过与2PC的区别在于,leader只需要超过一半节点同意(处于工作状态)即可。
leader 、 follower 都可能crash,那么 follower 维护的日志与 leader 相比可能出现以下情况
当出现了leader与follower不一致的情况,leader强制follower复制自己的log, Leader会从后往前试 ,每次AppendEntries失败后尝试前一个日志条目(递减nextIndex值), 直到成功找到每个Follower的日志一致位置点(基于上述的两条保证),然后向后逐条覆盖Followers在该位置之后的条目 。所以丢失的或者多出来的条目可能会持续多个任期。
?
要求候选人的日志至少与其他节点一样最新。如果不是,则跟随者节点将不投票给候选者。
意味着每个提交的条目都必须存在于这些服务器中的至少一个中。如果候选人的日志至少与该多数日志中的其他日志一样最新,则它将保存所有已提交的条目,避免了日志回滚事件的发生。
即任一任期内最多一个leader被选出。这一点非常重要,在一个复制集中任何时刻只能有一个leader。系统中同时有多余一个leader,被称之为脑裂(brain split),这是非常严重的问题,会导致数据的覆盖丢失。在raft中,两点保证了这个属性:
因此, 某一任期内一定只有一个leader 。
?
当集群中节点的状态发生变化(集群配置发生变化)时,系统容易受到系统故障。 因此,为防止这种情况,Raft使用了一种称为两阶段的方法来更改集群成员身份。 因此,在这种方法中,集群在实现新的成员身份配置之前首先更改为中间状态(称为联合共识)。 联合共识使系统即使在配置之间进行转换时也可用于响应客户端请求,它的主要目的是提升分布式系统的可用性。
区块链12年:应用在了哪些领域?
#「闪光时刻」主题征文 二期#
人们曾无数次地谈起区块链的适用场景和使用时机。但实际上,简单粗暴地将区块链和所有业务捆绑在一起的行为是非常愚蠢且荒谬的。
单纯用“区块链”这个词(而不是它背后的技术)进行炒作的话,结果终将是一场空。但如果使用得当的话,区块链也确实可以推动某些经济领域的发展。
要想实现这一目标,就需要一步步地慢慢来。Gartner的专家认为,区块链目前正处于“摆脱幻想”阶段边缘。在这一阶段,其技术弊端暴露无遗,各路媒体也大都持批判态度。
那么,到底有没有真正以区块链为基础的好产品呢?如果有的话,又是在哪些领域呢?
首先,金融服务是一个不错的选择,毕竟很多传统中介机构都存在低透明度和高佣金的问题。目前,许多大银行已经在研究并测试去中心化的解决方案了。那么现在市场上可供选择的方案有哪些呢?
净额清算就是一个很好的例子。它以Hyperledger Fabric为基础,能够抵消由两个或多个交易方之间交易所导致的多个头寸或支付费用。常被用来确定多方协议中应获得酬金的一方。净额作为一个普遍概念,在金融市场中(证券交易中)有许多更为具体的用途。
此外,大家对区块链债券、抵押贷款和银行担保的讨论也层出不穷。几乎所有的大银行,包括伊斯兰银行,都在尝试这种做法。
Hyperledger Fabric和Corda区块链技术也常被应用于其他用例,但前景究竟如何就需要我们通过之后的持续跟踪观察才能得出最终结论。
美国银行、高盛、花旗银行、摩根士丹利、摩根大通和中国银行、澳大利亚联邦银行在2019年都取得了不错的效果。此外,在银行业中,人们常会提到跨境金融交易,甚至有意图要摆脱SWIFT。
有人认为,区块链技术在版权保护和打击数据造假方面大有推广前景。例如,出于保护版权的目的,初创公司Sputnik DLT在Waves平台上开发了Depositor服务。
同样,Emernotar是基于Emercoin的类似解决方案,使用的是SHA-512算法。据开发者介绍,企业和律师可以借助Emernotar服务来签订合同,使用在线服务来收集用户许可,创意产业代表也可以以此来确认版权。
以Emercoin技术为基础的democracynotary.org平台旨在保护与选举相关的重要信息。虽然在选举过程中,区块链尚无法保证投票的匿名性,但至少可以保证投票的真实性。
最近,这一平台的效果在马其顿的一项全民公投中得到了检验:公投内容关于是否批准一项与希腊的条约——要求更改马其顿的国名为“北马其顿”。该平台对全民投票过程中的公开报告进行公证,进而阻断了虚假信息的传播。
区块链用例在房地产交易注册方面极具发展前景。去年,曾有人试图利用以太坊区块链上的智能合约在司法管辖区进行此类购买/销售交易。虽然并不是所有地方的立法机构都能理解律师在做的事情,但过去和将来都有尝试。
例如,最著名的例子是,曾通过加利福尼亚一个去中心化的Propy市场,达成了一项出售10英亩土地的交易,交易完全以比特币进行,并使用区块链进行注册。此后,欧盟也完成了首个区块链房地产销售。
2018年12月,瑞士金融市场监管局批准了区块链公司“blockquanimmo房地产公司”的商业模式。目前,blockquanimmo平台正处于测试阶段,可供瑞士和列支敦士登的居民使用。之后,该公司计划将进入其他整个欧洲市场。
部分专家十分看好区块链在批发和物流领域的应用前景;但同时,也有部分专家认为它在该领域毫无用武之地。然而,作为消费者,我们更应该肯定行业内已经取得的成功。
2018年晚秋,石油巨头BP和壳牌(Shell)、大型银行及公司推出了Vakt区块链平台,旨在优化商品交易流程——包括将纸质文档转换为智能合约。
同时,阿联酋也在领域内使用了区块链技术——Maqta Gateway LLC在阿布扎比推出了首个区块链物流解决方案。公司开发的Silsal区块链技术可以提高物流和货运效率。Maqta Gateway希望能够通过DLT技术来减少文书工作量,促进实时状态更新并加快信息共享速度。
去年秋天还启动了IBM食品信托区块链平台——平台以Hyperledger Fabric技术为基础,旨在调节食品行业供应链。家乐福(Carrefour)、雀巢(Nestle)、都乐食品(Dole Food)、泰森食品(Tyson Foods)、克罗格(Kroger)、联合利华(Unilever)、沃尔玛(Walmart)等知名企业都是该平台成员。IBM区块链服务每月费用从100美元到10,000美元不等,这也解释了为何这些行业巨头愿意在这方面进行投资。
2017年秋天启动了去中心化的Shelf.Network拍卖协议。 汽车 经销商可以通过该平台进行 汽车 销售和租赁交易。
一年后,该拍卖网络获得了日本IT巨头Broadleaf的投资。同时,Broadleaf也获得了供应Shelf.Network技术的许可,为东南亚国家(包括日本、缅甸、泰国、印度尼西亚、越南、老挝、澳大利亚、印度和新加坡)建立 汽车 和零部件销售的贸易网络。
到2018年底,有6万辆来自美国的 汽车 加入了该服务网络。Shelf.Network还实现了与Carfax web服务的交互,可以通过后者向个人和企业提供车辆 历史 报告。例如,初创公司Auto1 Group GmbH在德国购买 汽车 时,通过区块链对贷款和保险产品进行了记录,这大大提高了交易速度(如果采用传统文书工作的话,需要两周时间才可完成)。
IBM商业价值研究所对大公司进行的一项调查显示,到2021年,区块链将在 汽车 行业发挥关键作用,同时,区块链也将被应用于航空领域。例如,S7航空公司和阿尔法银行(俄罗斯)已经通过在Hyperledger区块链平台上应用智能合约,实现了实时支付飞机燃油费用。
行内各界都相信DLT技术能够简化并加快相互结算流程、消除各类财务风险、实现流程自动化。与批发物流领域相同,该技术在运输领域也具有重要应用意义。
区块链技术也正逐步渗透进公共部门,被广泛用于文件认证流程。例如,Proofstack服务能够将文件与所有者的个人签名、日期和时间戳一起归档,然后将存档哈希散列写入区块链。用户还可以选择影响时间戳类型的国家,以及生成存档所需的存储位置(计算机、云端)。人们可以通过创建的存档来确认文件在何时由何人进行归档。与此同时,区块链在司法系统中的应用也越来越普及。例如,ServeManager和Integra已经将区块链技术应用到跟踪传票交付的服务中了。
在中国,由政府支持的区块链解决方案持续、迅速发展。其司法区块链系统“天平链”在发布仅三个月后,就采集了约100万份在线证据数据。平台上提交的所有资料均通过DLT认证,共计19万份文件。平台电子证据系统由北京互联网法院、中国工业控制系统应急响应小组(CICS-CERT)、工信部研究中心、百度互联网集团和TrustDo区块链初创公司共同开发。平台以互联网巨头百度的超链基础设施为基础,优化了证据收集和存储过程,通过区块链保证数据的真实性。此外,平台还通过降低与互联网相关的诉讼成本,实现了节约时间和资源的目的。
作为全球集装箱航运的领导者,Maersk于去年春天开始使用Insurwave区块链解决方案。该海上保险平台由咨询公司EY和Guardtime共同开发,以微软Azure云技术为基础。在与Insurwave合作的第一年,Maersk计划将为1000艘远洋船舶投保,数字交易总量将超50万笔。
目前,平台用户有Willis Towers Watson、XL Catlin 和MS Amlin。开发商正试图扩展Insurwave的功能,将保险业务拓展到航空和能源领域。
专门从事投资流管理的英国金融 科技 公司Calastone宣布将计算全部转移到区块链上完成。该公司预计,此项技术将有助于削减全球结算部门数十亿美元的成本。Calastone为1700多家公司提供风险评估管理服务、IT基础设施和支付解决方案,其客户包括摩根大通资产管理公司(JP Morgan Asset management)、施罗德(Schroders)和景顺(Invesco)。
如果企业目标是争取交易及DLT注册表中输入信息透明度的话,则会为区块链创造绝佳的应用场景;但是,如果企业追求的是保持匿名性或“追踪”金融交易的话,则没有区块链施展拳脚的机会。
新加坡电力集团(Singapore Power Group)推出了可再生能源(REC)证书区块链交易市场。其公司代表表示,该“内部开发”平台旨在提高此类证书交易的安全性、可靠性和可追踪性。
REC证书是证明太阳能电池板释放电量的凭证,由Cleantech Solar Asia和LYS Energy Solutions进行销售。有意购买证书的City Developments Limited和DBS Bank都对该平台十分感兴趣。Katoen Natie Singapore也已加入该平台,计划很快启动可再生电力生产能力。
韩国最大的电信公司KT 公司也推出了自己的区块链网络,其分布式注册技术涉及用户认证和改善国际漫游服务。KT公司可以借此将客户数据安全传输给合作伙伴。网络带宽每秒可处理100,000个事务。
时间将会证明这些举措是否会得到大众市场的认可。同样,区块链在电力、数据、用户标识的账户/记录/交易方面的应用都是老生常谈了。
在2017年底,麻省理工学院(MIT)使用blockquancerts钱包(可发行一种“可验证、防篡改”的认证证书),通过比特币区块链为一百多名毕业生签发了数字毕业证书。
该试验项目得到了软件公司Learning Machine的支持,该公司曾与Media Lab一起参与了blockquancerts的研发工作。
这样做的目的是让学生成为自己档案真正的所有者。Learning Machine首席执行官克里斯?贾杰斯(Chris Jagers)表示,即便有一天该机构不复存在了,人们也可以提取其中存储的重要官方信息。
第比利斯商业技术大学(Tbilisi University of Business and Technology)也使用了同样的方法:该大学通过与Emercoin合作,使用了类似的区块链平台Trusted Diploma。该平台能够借助区块链来修复注册数据(所学科目、培训质量和取得的分数)。以此来看,在将来,区块链或许能在进一步推广数字学习方法方面有用武之地。
区块链革命来了,对ibm和uber们有什么影响
IBM全球企业咨询服务部银行业总经理赵亮认为在供应链金融、数字票据、P2P理财、电子货币、小额信贷、跨境支付、抵押品管理及合约执行等互联网金融领域,区块链技术都有着广泛的应用前景,可以更好地对接金融机构与非金融企业。
而区块链的原理还能更广泛的应用在其它创新领域。比如区块链有望建立起一个积分交换与交易系统,用于电信话费积分、航空里程积分、酒店住宿积分等各种积分的交换与交易。而在物联网领域,IBM已经与芬兰Kouvola Innovation合作,在区块链与Watson物联网技术上建立了物流全过程的可信货物视图。
实际上,未来几年内物联网将会成为区块链最激动人心、规模最大的应用领域之一。区块链解决了物联网海量设备和节点之间的信任问题及金融交易。基于区块链和电子货币的物联网,能让智能家电自动完成缴纳电费账单等金融交易,而IBM Watson认知技术能通过学习历史数据来自动建议更为合理的电量使用水平,从全社会看则可形成真正的智能电网。
2016年5月,有两家中国区块链企业宣布加盟由IBM和Linux基金会主导的HyperLedger超级账本项目。同样在5月,平安保险集团则宣布加入国际R3联盟,与其它金融机构一起共同开发基于分布式共享账本技术的创新型商务应用。
现在,区块链已经不仅是对互联网技术有影响力那样简单,而是要创造全新的去中心化的下一代商业模式,这才是区块链革命的真正意义。