APP下载

基于Hyperledger的自交易共享平台解决方案

2018-01-26陈德姜新旺王艳霞马永进

计算机时代 2018年1期
关键词:智能合约区块链

陈德+姜新旺+王艳霞+马永进

摘 要: 提出采用Hyperledger超级账本,对网络节点数据从采集到自交易的应用场景及业务逻辑进行分析建模,给出节点及其数据的可信验证方法,构建一个以区块链及智能合约为基础的去中心化的自交易共享平台解决方案。该方案可用于实现低成本网络节点数据的自主管理和商品资产化的增值服务,从而衍生出新型的商业形态。

关键词: 超级账本; 区块链; 智能合约; 自交易共享平台

中图分类号:R197.1 文献标志码:A 文章编号:1006-8228(2018)01-20-03

Building a shared discretionary trading platform with Hyperledger

Chen De1, Jiang Xinwang1,2, Wang Yanxia2, Ma Yongjin2

(1. College of Economics and Management, Zhejiang Normal University, Jinhua, Zhejiang 321004, China;

2. Blockchain Laboratory(Zhejiang Normal University))

Abstract: This paper introduces Hyperledger technology. The application scenarios and business logic of discretionary trading are analyzed and modeled, the trusted verification method for the node and its data is given, and a scheme of shared discretionary trading platform with blockchain technology and smart contract is put forward. The scheme can be used to realize the low cost self management of network node data and value-added service of commodity assets, and thus derive a new commercial form.

Key words: Hyperledger; block chain; smart contract; shared discretionary trading platform

0 引言

人類最原始交易是物物交换,随后经历法币、信用卡交易等阶段。目前,互联网的支付方式是一种基于第三方信用背书的电子支付(如:支付宝等),存在第三方中介的信任问题,根源在于,基于TCP/IP的互联网只是解决了点对点可靠、近乎零成本的信息传递,而非价值传递,其应用模式只是在数据传递这条技术主线上演变。互联网金融作为金融创新模式,要想真正实现健康可持续发展,面临着网络技术漏洞、消费者权益保护法律缺失、金融监管体制不健全、信用体系不完善、消费者维权难等一系列问题[1]。

基于密码学原理的区块链,是一种去中心、去信任、集体维护的分布式账本技术[2]。它由一串使用密码学产生的数据区块有序链接而成,无需信任单个节点,依靠共识机制确保交易的真实和不可逆,可实现方便快捷、安全可靠、近乎零成本的价值传递,从而构建不同于以往人类社会的“信任”生态的价值互联网,建立了去中心化的价值体系,其核心特征是实现资金、合约、数字化资产等价值传递和交易[3]。

超级账本Hyperledger汇集金融、银行、物联网、供应链、制造等各界开发人员心血,目的是为了打造一个跨领域的区块链应用[4]。本文采用Hyperledger Fabric开源项目,提出一种从数据采集到自交易的应用场景解决方案,方案仅限交易对象提供实时数据,交易双方通过合约实现灵活交易,交易达成后,允许买方主动读取(或被动收听)特定的节点数据;卖方可以对节点的私有钱包进行资金归集等操作。

1 基于Hyperledger的开发环境[5]

1.1 Hyperledger简介

超级账本Hyperledger是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,30家初始成员(包括IBM等)共同宣告Hyperledger项目成立。由于其点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,非常适合于在金融行业应用。其中Fabric项目是目前比较活跃的一个开源项目,在Hyperledger Fabric基础上又衍生出一些其他相关的应用项目。Fabric是区块链技术的实现,比特币可以作为一种简单的应用在Fabric基础上构建。Fabric采用了模块化的构架,允许不同的组件在实现协议的基础上即插即用。可以使用强大的容器技术来运行主流编程语言以进行智能合约的开发。Fabric项目的构架由成员服务(Membership)、区块链服务(Blockchain)和链码服务(Chaincode)三个主要类别构成。Hyperledger具有身份识别与可审核性、私下交易及保密合约、用户可自行选择共识算法、能够通过主流编程语言编写链上代码chaincode(也称:智能合约)、性能绩效以及可扩展性等特点。

1.2 搭建开发环境

在区块链应用项目研发中,共识算法的研究和改进十分重要。因此,基于Hyperledger的开发环境,不仅可供企业级应用项目的编程开发,而且可用于相关共识算法、智能合约等内容的性能分析测试。开发环境的技术路线是在Linux系统下搭建测试环境,构建测试网络,分析共识源码,测试算法效率。搭建的工作步骤如下。endprint

步骤1:在Linux系统下搭建测试环境。根据官方网站给出的4个验证节点的网络环境搭建方案,虚拟机内利用Docker安装测试环境。

步骤2:构建测试网络。在一台PC上安装多个docker以承载多个验证节点;在多台PC上安装多个docker,实现docker之间通讯,以扩充网络规模。

步骤3:查看共识模块,分析源码。分析实用拜占庭PBFT算法源码,了解共识代码的书写规范格式;找到相关事件接口。

步骤4:确定共识模块的启动接口和共识事件流程。找到启动共识算法接口函数;跟踪该函数了解共识事件流程;找到系统中所有对于共识算法参数设置变量及相关参数。

步骤5:更改原有PBFT共识代码,更换并测试共识算法的有效性。

2 自交易业务逻辑

目前互联网金融平台是一种中心化的组织架构,采用基于第三方信用背书的交易模式,不仅交易成本高,而且容易出现信任危机等交易纠纷。在一个去中心化、去信任的分布式环境中,因为没有传统的交易中心环节,任何人在任何时间任何地点都可以发起交易,实现了自主C2C交易,区块链的共识算法保证了交易流程的不可抵赖性、各种交易模型的安全设置使得安全性大大提高,整个交易过程操作简单,无技术门槛,交易成本低。

本文提出建立一个基于区块链的网络节点数据自交易共享平台,利用P2P支付奖励机制,鼓励数据拥有者开放分享数据,实现节点数据自盈利。

平台运行机制如下:

⑴ 软件运行在多个节点,以P2P方式通信,一个节点数据的变化会通知同步到其他所有节点;

⑵ 在通信过程中必须验证其真实性,验证机制为共识算法;

⑶ 采用代币对算力的奖励;

⑷ 根据一段时间内交易的信息计算hash值,打上时间戳,成为链中的一个区块,计算hash值通过特定机制由某个节点完成(即该节点提供算力),并给予奖励;

⑸ 如果需要修改交易信息,必须得到所有算力的50%以上的认可;

⑹ 通过这种运行机制,解决了认证、存储、防攻击三个问题。

自交易平台的业务流程如下:

⑴ 区块链保存交易信息,购买方自行保存数据,出售方提供数据的访问接口及特定的访问机制;

⑵ 用户的注册本质是私钥的生成;

⑶ 目前仅考虑实时数据的交易;

⑷ 合约应由发起方决定合约内容,如传节点类型、数量、时长等;

⑸ 交易时先锁定交易金额,然后按日转账到对应的传感器账户;

⑹ 平台必须考虑节点及其数据的真实性,以及运行状态。

自交易业务流程如图2所示,其中角色分为两类:一类是网络节点,其私有钱包由owner管理;另一类是普通用户。在本文,节点主要以卖方身份出现,普通用户以买方出现。

3 节点及其数据的可信验证

在去中心化条件下,网络节点数据涉及两个方面:一是如何证明节点用户真实可信;二是如何验证实时数据真实可靠。在去中心化条件下,让节点数据卖方自己证明自己真实可信,理论上相当于程序正确性证明,相当于图灵机的停机问题,而已知图灵机停机问题是不可判定的。尽管如此,在实际应用中,可以为网络节点及其数据的真实性给出定义或制定相关标准,使得买方用户可以凭借这些标准来自行判定节点数据的真实性。如此,节点数据是否“正确”的理解可以有以下四个层次:

⑴ 节点数据中不含明显低级的错误数据;

⑵ 节点对于几组探测需求能够得出满足要求的数据;

⑶ 节点对于精选、典型苛刻且带有刁难性的几组探测要求能输出满足要求的数据;

⑷ 节点对于一切合法的探测要求都能得出满足要求的数据。

通常以第⑶层意义上的正确性作为衡量一个节点提供数据是否真实的标准。根据第⑶层定义的标准,为了完成对节点数据正确的验证,在不引入第三方的情况下,可采取如下三种可能的方法。

方法1:仅由交易系统来验证节点数据的正确性。若由交易系统验证节点数据正确性,则当节点用户注册时,由系统根据节点用户的类型、特征和作用等,自动产生上述标准⑴-⑶的要求,根据节点返回的结果与系统自身理论上的结果进行比较,如若一致,則证明该节点用户是真实、可信的,准予注册;否则不允许注册。

方法2:仅由数据买方用户来验证节点数据的正确性。若由数据买方用户来验证节点数据正确性,则节点用户注册时,交易系统并不验证其真实性,而当买方用户欲购买节点用户数据时,由买方用户根据节点用户类型和作用,发出如上述标准⑴-⑶中要求,并根据节点返回的结果与客户自身理论分析的结果进行比较,如若一致,则该用户认为该节点用户是真实可信的,可以进行购买;否则不可信不产生交易。

方法3:先由交易系统验证再由普通用户自行选择验证。该方案是结合上述两种方案,进一步增强了可信性,首先当节点用户注册时由系统验证,在一定程度上保障了注册节点用户的真实性,而当买方用户的再次验证,则可进一步保障该节点用户的可信性。

4 结束语

本文通过对网络节点及其数据自交易业务逻辑进行分析建模,提出采用Hyperledger超级账本,给出了网络节点及其数据的可信验证方法,构建一个去中心化的自交易平台解决方案,方案中的区块链只记录通过合约实现的交易细节,达成交易合约后,只为给购买者提供节点数据的访问权限或者将数据广播给购买者,至于购买者什么时候读取或者使用数据,是购买者自己的事情,与交易平台无关。

随着物联网的发展,更多智能设备及产品实现入网互联,每个物体都将拥有惟一数字身份识别码,在万物互联的体系中,平台解决方案可用于实现低成本网络节点数据的自主管理和商品资产化的增值服务,从而衍生出新型的商业形态,如:金融服务和保险、新制造业和零售、智慧城市与交通、智慧家居和能源、环境检测与保护、个性化服务、共享经济等。

参考文献(References):

[1] 邵燕.互联网金融交易中的消费者风险及对策[J].现代经济

探讨,2016.4:39-43

[2] 郭艳,王立荣,韩燕.金融市场中的区块链技术:场景应用与价

值展望[J].技术经济,2017.7:110-116

[3] 温晓桦.区块链-金融场景应用[J].金融博览(财富),2016.11:

38-41

[4] 超级账本Fabric的架构与设计[EB/OL].2017 [2017-9-7].

http://blog.csdn.net/

[5] Hyperledger[EB/OL]. 2017[2017-01-17]. https://www.

hyperledger.org/endprint

猜你喜欢

智能合约区块链
农产品供应链金融信用体系框架设计
区块链技术在互联网保险行业的应用探讨
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
智能合约与金融合约
用“区块链”助推中企走出去