APP下载

基于Augur的交易者身份管理方案研究*

2020-03-02王良民宋香梅

密码学报 2020年1期
关键词:交易者信誉有效率

吴 楠, 王良民, 宋香梅

1.江苏大学计算机科学与通信工程学院, 镇江212013

2.华东师范大学上海市高可信计算重点实验室, 上海200062

物联网安全技术专栏

1 引言

区块链技术最早起源于中本聪先生发表的比特币白皮书[1], 其去中心化、去信任化、开放、信息不可更改、匿名、自治的特性[2]得到了广泛研究和认可, 并逐渐投入到实际的应用场景中.除此之外, 区块链技术还与其他技术相结合, 以解决其原有的安全隐患, 如车联网信息安全问题[3].物联网是更复杂的车联网, 其包含了大量的高度异构的设备, 而设备之间缺乏相互的信任机制, 可能存在非法窃听、拒绝服务等安全威胁, 需要加强设备身份安全管理.

区块链是一种去中心化、不可篡改的、可追踪的多方分布式数据库技术, 它集成了P2P 网络技术、非对称加密技术、共识机制等多种技术, 解决了数据的可信问题[4].利用区块链技术的安全机制, 物联网可以建立一套可信的加密系统, 从而维护数据的安全.尽管有较多的安全优势, 区块链也存在一些安全隐患.隐私威胁[5,6]、流量攻击[7]、节点或矿池攻击[8]、智能合约漏洞[9]等问题都对区块链技术的安全造成威胁, 解决方案与防范措施也在进一步的研究当中.

利用区块链技术解决物联网设备安全问题, 一个可行的解决方案是探索区块链应用是否可以维护正常用户的交易安全, 能否防范和追溯恶意用户的攻击行为, 利用怎样的技术来解决上述身份管理问题, 如果可行, 再研究将该管理方案应用到物联网安全管理的可能性.为此, 我们需要深入探索区块链应用的身份管理技术, 并针对可能出现的身份安全问题思考有效的解决方案, 本文以 Augur 系统为具体对象进行研究.Augur 是首个基于以太坊平台构建的预测市场系统, 这款应用早期投入市场开始使用, 并经过多次测试与完善, 对区块链技术的研究具有重要的参考价值.

本文致力于通过 Augur 来探讨区块链应用的身份管理方案.首先对 Augur 的框架和原理进行研究,然后从信任模型、身份认证、隐私保护三个方面分析 Augur 在身份信息方面的管理方案和潜在风险, 最后提出安全解决方案并考虑具体的实现细节.

2 Augur的身份管理技术研究

2.1 Augur的基本介绍

Augur 是一个预测市场平台.在预测市场中, 个人可以针对未发生事件预测其结果; 那些预测结果正确的人可以赢得筹码, 而那些预测不正确的人会则会损失本金.下面从框架结构、系统代币和运行原理三个方面对Augur 做简要介绍.

2.1.1 框架结构

Augur 节点需要与以太坊节点协同工作.Augur 的开发团队为用户设计了两种接入Augur 网络的方式, 用户可根据实际情况或其他需求来选择.

(1) 本地节点

运行本地以太坊节点连入 Augur 网络 (如图1 所示) 可以获得最佳性能和整体体验, 因为 Augur 会直接将RPC (Remote Procedure Call, 远程过程调用) 请求发送到本地节点.用户可以直接在本地节点通过浏览器了解网络的最新信息, 并对本地数据库中的数据进行更新.但这种接入模式需要消耗本地大量的计算资源和存储资源, 并且可能需要长时间运作来保证数据的最新状态.

图1 利用本地节点接入的Augur 的网络架构Figure 1 Framework of network in Augur when using a local node

(2) 远程节点

为了减轻本地的负担, Augur 的开发团队在 Rinkeby 测试网络上维护一个公共的以太坊节点, 如图2 所示, 可供远程接入.通过与该远程以太坊节点交互, 本地节点可以获取 Augur 网络的信息, 参与Augur 交易过程, 但需要花费更多时间.

图2 利用远程节点接入的Augur 的网络架构Figure 2 Framework of network in Augur when using a hosted node

2.1.2 两种代币

Augur 基于以太坊平台架构, 并使用其内置的 ETH (以太币) 进行交易.以太币的使用机制与非对称密码技术密不可分.

创建以太坊钱包地址的流程如下:

(1) 随机生成一个 32 字节的随机数 (1 到 2256−1) 作为私钥;

(2) 采用secp256k1 椭圆曲线数字签名算法将私钥映射成公钥;

(3) 公钥经过Keccak-256 单向散列函数变成32 字节, 取后20 字节作为地址.

图3 以太坊非对称加密机制Figure 3 Asymmetric cryptography of Ethereum

图3 中两个流程都是不可逆的, 这就保证了钱包地址的公开不会泄漏私钥的任何信息, 用户只需保管好自己的私钥, 知道自己和对方的地址就可以安全地进行转账.

除了以太币, Augur 中还有一种本地代币——REP(信誉).市场创建者和报告者在进行对应的市场活动时需要使用 REP.市场创建者需要用 REP 做抵押, 确保创建有效的市场; 报告者通过 REP 产生共识的结果.通过参与对事件结果的准确报告, REP 持有者可以获得平台上的部分费用.尽管REP 在Augur的运行中发挥着核心作用, 但它并不用于在Augur 的市场上进行交易, 交易者使用ETH 进行结果份额的买卖.

2.1.3 运行原理

Augur 市场遵循四个阶段的进展: 创建, 交易, 报告和结算.下面简要介绍这四个流程.

(1) 创建市场

任何人都可以利用 Augur 针对未来发生的事件创建市场.首先, 市场创建者需要先确定市场的细节:开始时间和报告时间、市场类型、报告来源、指定报告者等等.然后, 市场创建者需要设置创建者费用, 结算时市场根据合约向其支付.最后, 市场创建者确认信息.一旦得到确认, 交易就开始了.

(2) 进行交易

市场参与者通过交易这些市场结果的份额来预测事件的结果.Augur 交易合约为平台上创建的每个市场维护订单.如果订单簿上已有匹配订单, 则立即履行买卖份额的请求; 如果没有匹配的订单, 或者请求只能部分填写, 则剩余部分将作为新订单放在订单簿上.

(3) 报告结果

创建者设置的报告时间一到, 市场进入报告结果阶段, 其流程如图4 所示, 具体细节白皮书[10]中都有体现, 此处不再赘述.

图4 报告流程图Figure 4 Reporting flowchart

(4) 结算费用

敲定结果后, 如果一个市场在没有启动分叉的情况下最终敲定, 则所有投入错误结果的REP 都会被没收并根据用户持有的REP 数量成比例地分发给投对的用户; 如果市场敲定为无效, 则交易者将获得与每个结果的份额相等数量的ETH.

2.2 Augur的身份管理技术分析

身份管理技术是指保护身份信息安全的管理技术, 是应用程序交易服务的基础, 包括信任模型、身份认证、隐私保护等多个方面, 本文着重针对这三个方面分析Augur 采用的身份管理技术, 并探讨其存在的风险.

2.2.1 信任模型

信任模型主要用于以前互不了解的用户之间的交互[11].在交换各种潜在敏感信息之后, 参与者可以决定是否相互信任.

(1) Augur 管理方案

对于普通交易者, Augur 是一个无需信任的预测市场平台.通过对 Augur 的交易过程和实现交易功能的智能合约代码进行分析, 也可以发现, Augur 的交易过程中没有对用户私人信息的请求, 且Augur 中采用匿名交易, 用户无法直接获取与之交互的用户信息, 也无法判断其是否可信.

对于报告者, Augur 中的信誉代币REP 是Augur 市场报告者达成共识使用的数字货币.在报告和争议过程中, REP 持有人对某个结果投入越多的REP, 该结果就越有可能成为最终结果; 当REP 持有人投注的结果为最终的共识结果时, 系统会重新分配 REP, 实质上是给与诚实者以 REP 奖励, 则 REP 的持有量一定程度上代表了该持有人的可信度.

(2) 潜在风险

在Augur 中, 所有的交易过程都是根据定好的规则, 由智能合约自动执行, 其安全性依赖于智能合约的安全性.但目前已经发现针对智能合约的攻击行为, 而Augur 并没有对应的防范措施.此外, REP 的获取可以直接通过ETH 购买的, 与持有人本身的信誉值并无直接联系.这样的信任模型有可能导致庄家通过大量购买 REP 操控市场结果.事实上当前 Augur 市场中流通的 REP 仅掌握在少数人的手中, 仅 62个地址拥有11 102 209 REP 代币, 不可信的REP 持有人可能操控市场的结果, 损害参与者利益.

2.2.2 身份认证

身份认证是指对请求进入系统的操作者确认其身份信息, 目的是为了防止恶意用户进入系统, 对未授权内容进行修改或破坏, 从而保证系统和数据的安全.

(1) Augur 管理方案

Augur 基于公有链构造, 实现无权限化管理.它具有全球化的特点, 任何地方的任何人都可以使用Augur 对未发生事件进行预测, 所有的信息对所有人都是公开的.每个用户平等地接入到Augur 系统, 只要账户中有足够的ETH (或REP), 就可以进行任一交易活动.

(2) 潜在风险

由于没有接入限制, 也难以追踪实际身份, 恶意用户可以不受控制地进入Augur 系统, 进行漏洞测试及其他攻击行为, 整个网络随着恶意用户增加会变得难以防范风险, 一旦系统无法吸引大量诚实用户进行交易活动, 极有可能出现安全事件损害正常用户的利益.

2.2.3 隐私保护

信息系统中隐私通常是指数据拥有者不愿意透露的敏感数据.传统隐私保护常基于中心化实体进行.

(1) Augur 管理方案

从 Augur 的合约地址处可以查到进行 Augur 交易活动的信息.比如, 创建市场和购买 REP 的信息是用明文记录的, 可以通过解析还原.这在一定程度上会泄漏某个钱包的交易隐私.

当然, Augur 是匿名进行操作的, 其匿名性体现在钱包地址与钱包所有者没有直接联系, 即无法将交易信息与真实世界中的用户进行对应, 从而保证了交易者的隐私安全.

(2) 潜在风险

区块链中的匿名并不是完全的匿名, 交易者只是用钱包地址作为交易标识[12], 还是可以利用区块链交易记录之间的相关性可用于推测隐私信息.区块链中的所有交易都存储在公开的全局账本中, 任何人都有访问权限, 包括攻击者.通过分析其相互的关联, 攻击者可以逐渐实现去匿名, 甚至发现匿名地址对应用户的真实身份信息.

2.3 设计缺陷攻击

在当前的管理方案下, Augur 系统仍存在安全问题, 攻击者可以利用漏洞进行攻击.本节讨论一种典型的攻击方式.设计缺陷攻击是指 Augur 中一种利用设计规则“操控” 市场结果, 从而通过交易者的预测活动获利的攻击行为.每个市场结果的报告是共识的结果, 无法由单个个体控制, 各 REP 持有人会尽量诚实的报告, 最后的市场结果会大概率接近真实结果, 那么创建一个无效市场会较为简单, 设计缺陷攻击就是利用这个来控制最后的无效结果[13].

用户通过创建一个易被判定成无效的市场, 并设定一个与事实严重不符的预期结果, 然后通过虚买虚卖吸引用户投资.若市场被确定为“无效”, 则市场操纵者可投入较少成本获取较大收益率; 若市场从各预测结果中选出了正确结果, 市场操纵者也可能通过收集足够多的 REP 代币来确定市场的走向, 对市场公平造成严重威胁.下面讨论解决方案及具体的实现细节.

3 基于信誉评估的安全解决方案

3.1 方案研究

Augur 要求创建者在创建市场阶段设置两个债券: 有效债券和报告债券, 分别用以保证市场的有效性和指定报告者的按时报告.但有效债券并不能杜绝设计缺陷攻击, 因为有效债券的设定无法与市场规模对应起来, 攻击者不受有效债券的约束, 市场参与者也无法相信市场的有效性.

另一种解决方案是通过对市场进行约束来保证市场的有效性.比如在定义市场时要求创建者明确事件来源, 对于模糊术语由UI 自动设定.但这样的方式显然难以适应各式各样的市场类型.此外, Augur 可以引入一种新的参与者角色: 市场验证者.对于创建者创建出来的市场, 需要先经过验证者的有效性检验.这种方案一定程度上可以减小市场无效的可能, 但还是无法避免攻击者通过大量持有REP 代币操纵市场结果的可能.

问题的关键在于REP 持有人的可信度.REP 作为一种可以流通的代币, 同时也作为“信誉” 的象征,所有流程的安全进行依赖于 REP 持有人是可信的.但 REP 的获取可以通过 ETH 直接购买, 这种方式与持有人的可信程度毫无关系.为此, 本方案通过部署一个信誉系统, 该信誉系统向Augur 交易者提供关于市场创建者的可信度的信息.然后, 交易者使用此信息来决定是否参与该创建者创建的市场.

3.2 系统架构

3.2.1 整体架构

信誉系统与 Augur 系统的结合采用外包过滤的方式, 如图5 所示.改进前交易者直接接入 Augur 系统进行交易; 加入了信誉系统之后, 交易者实际上会先进入信誉系统获取其他交易者的信誉信息, 再进入Augur 系统, 避免与恶意用户进行交易; 成功交易后, 交易信息又会自动进入到信誉系统, 用于更新各交易者的信誉值.

图5 改进后的 Augur 系统整体架构Figure 5 Improved architecture of overall system of Augur

3.2.2 信誉系统架构

本信誉系统使用自动执行的智能合约来实现该信誉系统, 系统由三个主要部分组成, 如图6 所示.

(1) Augur 市场合约: 在市场结果敲定后能自动执行的程序代码;

(2) 信誉合约: 自动更新各用户信誉数据, 且保证其安全不可篡改;

(3) 公告板(BB): 保存评级分数的参数.

Augur 市场智能合约为信誉系统提供用户参与市场行为记录, 保证了信誉系统输入信息的可靠性; 信誉合约自动更新信誉信息, 保证了用户信誉信息的不可篡改; 公告板是实现公共认证通道的一种方式, 每个人都能够读取所有数据, 保证了信誉信息的开放性.一旦信息在 BB 上发布, 任何人都可以获取特性用户的信誉指标信息, 并选择适当的方法来计算该用户的信誉值.

3.3 信誉指标的选择

根据文献[14]的评价指标体系构建原则, 本文选取信誉指标主要有以下标准:

(1) 可由Augur 系统获取的客观统计的数据量, 不以个人意志为转移, 这样就杜绝了恶意评价与恶意节点的影响, 用户的信誉值只与其行为有关;

(2) 指标之间没有直接相关性, 从不同阶段选取关键量作为指标;

图6 信誉系统体系结构Figure 6 Architecture of reputation system

(3) 各指标量可量化, 易于进行数学统计与计算.

在本系统中, 通过历史行为判断一个交易者是否可信, 主要从他参与创建市场、报告结果和争议结果这三个流程中的表现判断.根据以上标准,本文选择了6 个数值类型的指标作为对交易者信誉评估的依据:创建的有效市场和无效市场、报告的正确结果和错误结果以及争议的正确结果和错误结果, 汇总如表1 所示.其中, 创建的有效市场、报告的正确结果和争议的正确结果为正评级, 即指标数值越大, 该交易者信誉值越高; 另外三个指标为负评级, 指标数值越大, 该交易者信誉值越低.

表1 信誉指标的符号说明Table 1 Symbolic description of reputation indicator

其中, 正评级和负评级分别表示对增加某用户的信誉值, 该指标会有正面效果或负面效果.

3.4 信誉计算

3.4.1 层次分析法

层次分析法是将每个因素按照一定的层次进行划分, 然后定量表达其相对重要性, 并使用数学方法确定每个元素的相对重要性的次序, 从而便于进行评价与决策, 适用于本方案中的信誉评估.本文使用层次分析法确定每种可信度评估方法的指标权重.从而尽可能提高评价方法的准确度.

3.4.2 信誉评价方法

利用选好的6 个信誉指标, 本文采用求和法、综合评价法和有效率评价法三种信誉评价方法.

(1) 求和法

直接对统计好的信誉指标进行求和, 即用正评级之和减去负评级之和.

其中偶数项指标为负评级.

(2) 综合评价法

综合评价法是根据6 个信誉评价指标的重要程度, 为每个信誉指标确定权重, 再加权计算得出各用户综合信誉值.本评价方法的层次结构模型如图7 所示, 利用该层次结构计算出本方法中的各指标权重:

然后确定本方法的信誉计算公式:

其中偶数项指标为负评级.

图7 综合评价法层次结构图Figure 7 Hierarchy chart of comprehensive evaluation method

(3) 有效率评价法

有效率评价法先根据信誉指标算出三个市场活动的有效参与率.

市场有效率指交易者创建的有效市场占总创建市场个数的比率, 记为E1.根据定义, 市场有效率E1的计算公式为E1=A1/(A1+A2).

报告有效率指交易者报告的正确结果占总报告次数的比率, 记为E2.根据定义, 报告有效率E2 的计算公式为E2=A3/(A3+A4).

争议有效率指交易者争议的正确结果占总争议次数的比率, 记为E3.根据定义, 争议有效率E3 的计算公式为E3=A5/(A5+A6).

以三个有效率作为参数, 采用层次分析法确定其相对重要程度, 再计算得出各用户信誉值.本评价方法的层次结构模型如图8 所示, 利用该层次结构计算出有效率评价法中的各指标权重:

然后确定本方法的信誉计算公式:

图8 有效率评价法层次结构图Figure 8 Hierarchy chart of efficiency evaluation method

4 实验仿真与分析

4.1 实验环境

本实验环境如下.操作系统: Windows 10; 处理器配置: Intel(R) Core(TM) m3-6Y30 CPU @ 0.90 GHz 1.50 GHz; 内存配置: 8.00 GB 64 位; MATLAB 版本: R2015b(8.6.0.267246).

4.2 综合评价法权重及信誉计算方法

(1) 对于目标层, 准则层构建出如下比较矩阵M1:

(2) 对于同一准则下的各因素两两比较, 构建出比较矩阵M21,M22:

(3) 分别求得上述各比较矩阵的最大特征值及特征向量并进行一致性检验, 计算结果如表2 所示.

表2 各比较矩阵的计算结果情况Table 2 Computational results of comparison matrices

各矩阵皆通过一致性检验.

(4) 计算总权重, 并得出最后的信誉计算公式.计算结果如表3 所示.

最后得出信誉计算公式, 如(4).

表3 各因素的总权重Table 3 Total weight of each factor

其中偶数项指标为负评级.

4.3 有效率评价法权重及信誉计算方法

(1) 构建出如下比较矩阵 M

(2) 求取各有效率权重, 结果如表4 所示.

表4 M 矩阵的计算结果Table 4 Computation results of matrix M

M 矩阵通过一致性检验.

(3) 计算出信誉计算方法, 如公式5.

4.4 方法评价性能测试

本测试方法统计了在不同评价误差下各评价方法准确评价用户的个数.评价误差是指一个用户在根据各评价方法计算出的信誉排名和根据性能指标计算出的信誉排名之间的差距不超过总样本的百分比.比如当设定的评价误差为5% 时, 根据两种评价方法计算出的该用户排名和根据市场有效率计算出的该用户排名不超过10 的用户算作准确评价.本实验仿真定制了200 个特定特性的用户进行评价, 判断针对该种类型用户, 哪种评价方法的准确度更高.

4.4.1 利用市场有效率来检验评价性能

本实验针对用户特征为创建市场较多, 而参与报告或争议结果较少, 该类用户的信誉主要评判标准为市场有效率的大小, 即对于主要参与创建市场的用户, 创建的市场有效率越高, 该用户的信誉度越高.三种评价方法对应的评价结果如图9 所示.

从图像中可以看出, 对于主要参与创建市场的用户, 综合评价法的评价准确度较高.因为在考虑各指标权重时, 考虑的市场状况因素的明显重要性, 因此对于市场活跃度高的用户, 综合评价法有较强的敏感性.所以对于该类用户, 适合用综合评价法进行安全性评价.

4.4.2 利用有效参与度来检验评价性能

本实验针对参与市场活动正确率较高的用户, 根据参与活动的频率来评价其可信度, 即对于能够创建有效市场且正确报告和争议结果的用户, 参与市场有效活动 (创建有效市场或报告/争议正确结果) 越多,其计算出的信誉值越高.三种评价方法对应的评价结果如图10 所示.

从图像中可以看出, 对于行为诚信度高(创建市场有效率高, 报告和争议结果正确率高) 的用户, 求和法的评价准确度较高.因为综合评价法中错误权重普遍高于正确权重, 因此相同比例下, 用户参与市场活动越多, 即不诚信参与次数越多, 会影响该用户的整体评价.而有效率评价法仅仅重视有效率而忽视用户的参与度, 比如用户只进行一次正确评价即可获得较高的评价.所以对于该类用户, 适合用求和法进行评价.

4.4.3 利用争议率来检验评价性能

本实验针对参与争议活动较多, 而其他市场活动活跃度低的用户.一般认为, 若用户大多数交易行为只进行争议结果活动, 存在勾结嫌疑, 其争议总次数越多, 信誉值应该越低.本实验评价结果如图11 所示.

图9 市场有效率评价结果图Figure 9 Evaluation result based on market efficiency

图10 有效参与度评价结果图Figure 10 Evaluation result based on efficient participation

从图像中可以看出, 对于争议率高的用户, 三种方法的准确率都不高, 在评价误差较大时, 有效率评价法的评价准确度稍高一些.一方面, 综合评价法更注重市场状况, 而求和法同等重视各种因素; 另一方面,该类用户的识别不是根据诚信度, 而是根据用户对哪一种交易活动的选择与频率来判断, 不易通过常规方法来判断诚信度.

4.4.4 结论

根据实验结果, 可以得出以下结论: (1) 对于创建市场活跃度高的用户, 适合用综合评价法来进行评估用户信誉值; (2) 对于参与诚信度较高的用户, 适合利用求和法来进行信誉值评估; (3) 对于某些特征的潜在恶意用户, 简单的信誉评估方法难以准确评估其信誉值, 但在评价误差要求较宽松的情况下, 对于争议率较高的用户, 有效率评价法的准确评价率略高.

4.5 性能分析

4.5.1 效率分析

Augur 系统搭建在以太坊平台上, 而且访问过程还有网页跳转的消耗, 访问效率极低; 而外包的信誉系统能较快连接上, 甚至可以设计成为同时接入.因此信誉系统所增加的效率代价是可以接受的.

4.5.2 安全性分析

Augur 基于公有链, 不便对身份进行直接限制和约束, 信誉评估可用于判断用户的可信度, 该信誉指标根据该用户以往参与市场的表现统计而来, 通过智能合约技术保证其不为第三方控制, 具有较高的可信度, 对于判断用户的可信有重要的参考价值.通过提供每个用户的信誉值, 一方面可以激励用户诚实参与市场活动, 若用户的不良行为将会被记录下来, 并永久地对其信誉值产生影响; 另一方面可以加强对市场的控制, 为交易者选择有效市场提供依据, 便于维护Augur 的正常运行.

利用信誉指标获得一个用户的信誉值可以有多种计算方法.通过评价性能测试, 可以得出不同的用户类型适合使用不同的信誉评估方法进行评价, 而信誉系统可以为市场交易者提供各用户的历史行为, 各用户可在公告板自行查看和检验信誉值并做出决策.同时, 也便于监管部门及时发现恶意用户并进行风险控制和管理.

5 总结

随着物联网应用的快速发展, 其安全问题也引起越来越多的关注.区块链技术为物联网安全问题提供解决途径.本文以Augur 系统为例, 研究了区块链应用的身份管理技术及潜在风险, 并提出采用基于信誉评估的安全解决方案应对攻击行为, 对区块链应用的安全威胁应对有积极参考作用, 也为物联网管理设备身份安全提供了新思路.

猜你喜欢

交易者信誉有效率
基于单片机MCU的IPMI健康管理系统设计与实现
老年重症心力衰竭急诊内科治疗有效率及死亡率分析
AI或将革新外汇市场
异质信念下内幕交易者市场操纵行为研究
信誉如“金”
内部交易者行为及其基于Kyle模型扩展研究
内部交易者行为及其基于Kyle模型扩展研究
M个内部交易者的交易行为分析
很有效率
지수형:신뢰는 배달에 경쟁력을 실어준다池水炯:信誉,让外卖更具竞争力