区块链智能合约在商业数据中的应用研究
2022-07-25陈丽燕
陈丽燕
(上海财经大学浙江学院经济与信息管理系,金华 321003)
0 引言
近年随着区块链技术的不断发展,区块链技术应用到其他领域的可行性越来越高。目前,各个领域都在紧锣密鼓地针对区块链技术展开研究。黄克振等将区块链应用于网络安全威胁情报共享领域,建立了一个网络安全共享模型。陈丽燕等将区块链应用于商业数据领域,建立了一个商业数据共享模型;在研究了区块链智能合约的基础上建立了个人征信的隐私方案保护模型。孙嘉豪等将区块链技术应用于知识保护领域,建立了区块链的知识保护模型。关于区块链的应用研究近年呈现的成果颇多,这里就不一一列举。
大数据时代,商业价值往往来自于对商业数据的挖掘,数据的维度越多、体量越大,能够挖掘的价值就越高。长期以来,对数据的挖掘难度在于如何评估数据价值,如何利用数据进行价值交换,如何保护数据的安全性。区块链技术为解决这些问题提供了可行性,利用区块链共识机制,建立合理的区块链智能合约,可以提升商业数据的使用效率和安全性。
1 区块链相关知识
1.1 区块链的基本概念
区块链是近年兴起的热点,还处于早期发展阶段,并没有形成公认的定义。有代表性的观点主要有三个:
第一个观点认为,区块链是持续增长的、采用密码学方法链接的区块列表。每一区块列表都包含上一区块列表的密码学哈希值、时间戳、交易数据等。
第二种观点认为,区块链是将密码学签名的交易分组封装入区块而形成的分布式数字账本。每个区块在经过验证和共识决策后都会以密码学的方式与前一区块相连接。
第三种观点认为,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化的共享账本。
从以上三种观点,我们可以发现,区块链离不开密码学,因此,安全技术在区块链中占据非常重要的地位。区块链有各种技术的加持,让它具有包括去中心化、极难篡改、可追溯性、可编程性和安全可信等特点。
1.2 区块链中的安全
数据安全是区块链的基本安全目标。区块链的去中心特性,需要存储的数据包括用户信息、交易信息、智能合约协议、中间过程记录等等大量数据。这些数据的安全非常重要,因此是区块链安全防护的重点。
共识算法是区块链的核心技术,共识机制的安全性对区块链的数据安全来说至关重要。Pow共识算法建模定义了共识算法的评价和衡量标准为一致性和活性。一致性要求无法篡改记录在区块链上的共识和交易;活性则要求区块链服务能够正常使用,避免节点遭受拒绝服务等攻击。
隐私保护安全是对参与交易的节点信息、身份信息等用户不愿意公开的信息进行保护,涉及到身份信息和交易信息的隐私保护。
智能合约安全重点在于保障智能合约运行标准模块化,能够抵挡攻击,防止攻击方通过智能合约存在的漏洞对区块链进行攻击。
1.3 智能合约
智能合约的定义最早由Nick Szabo 提出,定义为一套以数字形式指定的承诺,比如合约参与方执行承诺的协议。智能合约可以看作是区块链中运行在分布式账本上的各种规则的计算机程序,这些规则可以包括设置规则、状态、响应、交换记录、价值信息等。
当前支持智能合约的平台主要有以太坊和超级账本。其中以太坊支持多种智能合约编程语言,在隐私保护、数据安全、供应链等区块链的去中心化中得到了广泛的应用。在以太坊中,智能合约是一段计算机代码,其中包含计算机程序代码和数据状态,在没有第三方参与的情况下执行数据传输、执行和验证。因此智能合约具有计算机程序性、自行验证性、自动化执行性、防篡改性等四大特点。
2 智能合约在商业数据中的应用
在这个数据化的大时代,商业数据变得愈加重要,数据存在着巨大的价值,商业数据的使用安全至关重要,将智能合约应用在商业数据具有商业价值,在实现上具有可行性。本文结合智能合约,设计商业数据的智能合约模型,从商业数据模型、智能合约设计做简单介绍。
2.1 商业数据模型
本文设计的商业数据模型包括商业数据提供方、商业数据使用方、商业数据区块链系统三个模块。
2.1.1 商业数据提供方
在商业活动中能够产生非常多的数据,数据提供方并不是单一的个体,可以包含个人、企业、机构等所有参与到商业活动的主体。商业数据也不是单一对象,可以包含的数据信息也是非常的丰富,可以包括用户需求、购买信息、浏览信息、订单信息,在商业活动中的各个环节产生的数据都可能成为我们模型关注的数据信息。
2.1.2 商业数据使用方
商业数据的使用方也不是单一的主体,在这个区块链系统上,对商业数据有需求的各方都可能成为使用主体,可以包括个人、企业等。
2.1.3 商业数据区块链系统
商业数据模型以区块链技术为基础,整合所有资源和各方主体,其中包括区块链各环节的内部节点,比如验证合法性的投票节点就是作为内部节点参与到系统中的。
图1 商业数据模型
在商业数据模型中,所有的商业数据都存放在区块链系统的数据中心中,该模型将对称加密密钥和商业数据提供方、商业数据使用方的部分信息存放到区块链当中,商业数据提供方可以通过区块链智能合约技术获取自己商业数据访问权限,通过智能合约技术获取加密密钥对自己的商业数据进行解密。投票节点通过联盟链Quorum算法来判断新节点的合法性。
下面举个具体的例子来说明,商业数据模型的建立过程会根据长期的商业活动收集数据,商业数据提供方的商业活动会通过数据接口将数据汇总到区块链系统中。比如个人用户和企业用户签订了一个订货合同,这时个人用户和企业用户都成为商业数据提供方,系统会将个人的订货信息作为个人数据记录,同时将企业的订货记录也记录下来,这是商业数据的数据收集过程。当企业想要通过这个商业数据来帮助决策信息的时候,需要获取相应的权限,此时,该企业就成为商业数据的使用方。
2.2 智能合约设计
商业数据模型的智能合约由共识合约、分类合约、历史记录合约、所有权合约、权限合约组成。
图2 数据模型结构
共识合约由投票节点地址Address,投票节点Id,以及验证模块组成。共识基于联盟链算法,通过验证模块验证节点的合法性,可以降低恶意攻击的情况,避免重复注册。
分类合约由节点的类别信息组成,节点类型由商业数据双方信息,包括双方的ID、类型标识和以太坊地址Address。通过类型标识来区分节点类型,是属于商家、个人提供方还是使用方。
历史记录合约存储合约信息以及与节点有关的其他节点数据,包括所有权合约地址。
所有权合约主要用于判断节点的使用权限,包括商业数据提供权限,防止恶意虚假数据攻击;包括商业数据使用权限,防止非法使用。保存历史操作记录,能够建立完整的数据映射保证安全性。
权限合约由节点权限信息、节点类型、数据地址组成。根据商业数据模型实际使用情况设置了三个级别权限:
(1)读取权限,商业数据使用方具有商业数据的读取权限。
(2)写入权限,商业数据提供方具有商业数据的写入权限。
(3)盲读取权限,是指商业数据使用方只能读取商业数据的密文,只能获取商业数据情况,而无法获取具体参与商业数据的双方,由此来保障用户的数据安全,又不影响商业数据的使用。
3 结语
本文对区块链技术进行了研究,分析了区块链在安全领域的应用、介绍了区块链的安全技术,区块链智能合约的相关研究,提出了基于区块链的商业数据模型,并设计了区块链智能合约模型,借助于区块链的特性,该模型使商业数据的应用具有安全性。本文对区块链智能合约的设计分析无法克服在消息交换环节的安全泄露,因此后续的研究可对其进一步改进。