《密码与安全新技术专题》第五周作业
学号 2018-2019-2 《密码与安全新技术专题》第五周作业
课程:《密码与安全新技术专题》
上课教师:谢四江
1.本次讲座的学习总结
区块链中使用到的技术
- 点对点对等网络
- 网格网络
- 权限对等、数据公开
- 数据分布式、高冗余存储
- 共识机制
- 工作量证明(PoW)
- 权益证明(PoS)
- 基于信任的Quorum
- PoS是PoW的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。在一定程度上缩短
了共识达成的时间,但还是需要挖矿,本质上没有解决商业应用的痛点。
- 共识机制防止了“双重支付”
- 信息复制的零边际成本vs价值的唯一不可复制性
- 信息互联网->价值互联网
- 数据可验证
- PKI公钥体系
- 数字签名提供密码学证据
- 零知识证明
- 不可变数据
- 只可添加,不可编辑
- 不可变数据+时间戳,为互联网加上了时间轴
- 奖励合作的制度设计
- 非合作博弈--不基于信任,无外部强制力
- 合作是一种演化稳定策略,合作达到纳什均衡
- 51%攻击问题
区块链(Blockchain)
是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整
比特币区块链的副本,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。
区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值(hash),从创始区块(genesis block)开始连
接到当前区块,形成块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。这些特征使得比特币的
双花(double-spending)非常困难。区块链是比特币的核心创新。
区块链概念的出现,首先是在中本聪的比特币白皮书中提到的,但是以工作量证明链(proof-of-work chain)的形式而存在,以下是中本聪对区
块链概念的描述:
时间戳服务器通过对以区块(block)形式存在的一组数据,实施随机散列而加上时间戳,并将该随机散列进行广播,就像在新闻或世界性新闻组
网络(Usenet)的发帖一样。显然,该时间戳能够证实特定数据必然于某特定时间是的确存在的,因为只有在该时刻存在了才能获取相应的随机
散列值。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成
了一条链(Chain)。
节点始终都将最长的链视为正确链,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么其他节点在接收到该区块的时间上
,将存在先后差别。当此情形,他们将在率先收到的区块基础上进行工作,但也会保留另外一条链,以防后者变成最长链。该僵局(tie)的打破
,要等到下一个工作量证明被发现,而其中的一条链被证实为是较长的一条,那么在另一条分支链上工作的节点将转换阵营,开始在较长的链上
工作。
区块链体系结构的核心优势包括:
-
任何节点都可以创建交易,在经过一段时间的确认之后,就可以合理地确认该交易是否为有效,区块链可有效地防止双花问题的发生。
-
对于试图重写或者修改交易记录而言,它的成本是非常高的。
区块链实现了两种记录:交易(transactions)以及区块(blocks)。交易是被存储在区块链上的实际数据,而区块则是记录确认某些交易是在
何时,以及以何种顺序成为区块链数据库的一部分。交易是由参与者在正常过程中使用系统所创建的(在加密数字货币的例子中,一笔交易是由
bob将代币发送给alice所创建的),而区块则是由我们称之为矿工(miners)的单位负责创建
区块链网络的工作原理
区块链网络中的成员节点不依赖于第三方(比如金融机构)来仲裁交易,它们使用共识协议来协商账本内容,使用哈希加密算法和数字签名来确
保交易的完整性。
共识性能确保共享账本是精确副本,并降低了发生交易欺诈的风险,因为篡改需要在许多地方同时执行。哈希加密算法(比如 SHA256 计算算法
)能确保对交易输入的任何改动 — 甚至是最细微的改动— 都会计算出一个不同的哈希值,表明交易输入可能被损坏。数字签名确保交易源自发
送方(已使用私钥签名)而不是冒名顶替者。
去中心化对等区块链网络可阻止任何单个或一组参与者控制底层基础架构或破坏整个系统。网络中的参与者是平等的,都遵守相同的协议。它们
可以是个人、国家代表、企业或所有这三种参与者的组合。
在其核心,该系统会记录交易的时间顺序,而且所有节点都使用选定的共识模型来协商交易的有效性。这会使交易不可逆并被网络中的所有成员
接受。
区块链技术的4个基本性质:
1.点对点等网络。它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理
,最后把这些计算结果综合起来得到最终结果。
2.共识机制。防止了“双重支付”。
3.数据可验证。PKI公钥体系,不可变数据。
4.奖励合作的制度设计。非合作博弈是指在策略环境下,非合作的框架把所有的人的行动都当成是个别行动。它主要强调一个人进行自主的决策
,而与这个策略环境中其他人无关。纳什均衡。
存在的问题
51%攻击
攻击步骤:
将手中的BTC充值各大交易所,然后卖掉,提现;或者也可以直接卖给某人或某一群人;
运用手中的算力,从自己对外付款交易之前的区块开始,忽略自己所有对外的付款交易,重新构造后面的区块,利用算力优势与全网赛跑,当最
终创建的区块长度超过原主分支区块,成为新的主分支,至此,攻击完成;
攻击结果:
由于撤销了所有对外付款交易,等于收回来所以已卖掉的比特币。
可行性评估:
现在比特币全网算力差不多90T,而且还会快速增长,现在看来只有现在的几大矿池联合,才具有发动51%攻击的实力,普通个人或机构实施此攻
击的可能性越来越小。
区块链与未来:
区块链共识机制提供了经过整合的、一致的数据集的优势,减少了错误,拥有近实时的引用数据,而且参与者能够灵活更改其拥有的资产的描述
。
因为没有参与成员拥有共享账本中所含信息的来源,所以区块链技术会提高参与成员之间的交易信息流中的可信度和完整性。
区块链技术的不变性机制降低了审计和合规性成本,增加了透明性。而且在使用区块链技术的业务网络上,合约得以智能、自动化执行并最终确
认,所以企业会获得更高的执行速度、更低的成本和更少的风险,所有这些使企业能构建新收入流来与客户交互。
什么是比特币
比特币(Bitcoin),是一种由开源的P2P软件产生的电子币,数字币,是一种网络虚拟资产。比特币基于一套密码编码、通过复杂算法产生,
这一规则不受任何个人或组织干扰,去中心化;任何人都可以下载并运行比特币客户端而参与制造比特币;比特币利用电子签名的方式来实现流
通,通过P2P分布式网络来核查重复消费。每一块比特币的产生、消费都会通过P2P分布式网络记录并告知全网,不存在伪造的可能。
比特币的特点:
数字货币。
不依托于任何国家或组织而利用计算机技术独立发行。
通过P2P分布式技术实现,无中心点。
所有人均可自由的参与。
总量有限,不可再生。
本身机制开源,可以被山寨。
比特币交易
每一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的公钥(俗称:地址)签署一个随机散列的数字签名,A将此数据签名制作
为交易单T2并将其(交易单T2)广播全网,电子货币就发送给了下一位所有者。
其中:
1.交易发起者的私钥:私钥为个人所知,他人无从知晓。
2.前一次交易:前一次交易数据说明了该次交易的货币的来源(这部分货币是怎么到当前发起人这里来的)。
3.下一位所有者的公钥:即交易接收方的地址,此数据说明了当前交易的目标是谁。
4.数字签名:发起方将前一次交易数据和接收方公钥连接起来并对其求Hash值x,再利用自己的私钥对x加密,便得到了这份数字签名。
Block
比特币网络中,数据以文件的形式被永久记录,称之为区块(Block)。
记录交易单的数据单元叫做Block,一个Block上会记录很多交易单。
Block有很多份,每个Block只记录比特币全网10分钟内的交易信息,每约10分钟产生一个新的Block。
每个新的Block含有的一定数额的比特币归创建者所有,此规则称为“激励”。
比特币虽然是电子货币,但比特币系统中并没有特定的数据结构用来单纯代表货币。本质上,比特币的存在是通过交易单来提现。通俗的来讲,
现实生活中我们有实在的纸张来代表我们的货币(比如面值10块的RMB纸张代表着10块钱RMB),当我们去银行核对财务时银行也提供对账单来表
示我们的货币去留。比特币的提现依托于交易单,交易单类似于银行的对账单,其通过记录货币的去留来证明你有多少货币,而不是提供给你具
体的货币单元。
挖矿工作
生产Block的过程,被形象的称为“挖矿”,生产工也被称为“矿工”。
挖矿过程实际上就是反复去尝试寻找一个随机数(又称“幸运数”),使得将最后一个Block的hash值、当前世界中尚未被加入到任何Block的交
易单、随机数三部分组织起来送入SHA256算法计算出散列值X(256位),如果X满足一定条件(比如前20位均为0),那么该节点初步获得创建
Block的权利。
工作量证明难度系数
对于每个Block存在一个难度系数,此系数可以转换为一个256位的整数,挖矿计算出的Hash值X必须小于该整数,此条件作为寻找随机数的附加条
件。
当某时刻网络检测到新Block的产生速度不符合约10分钟一个时,将调解该系数(加大或者缩小),从而使下一个Block的产生速度符合预期。
每当节点(矿工)计算出了一个符合条件的随机数时,它仅仅获得了创建临时Block的权利,它立即将相关数据打包好作为一个临时Block并广播
全网。
每10分钟内全网不止一个节点能计算出幸运数字,即十分钟内会有多个节点在网络中广播它们各自打包好的临时Block(都是合法的)。通过谁先
计算出谁后计算出来决定接受谁的临时Block转正显然很难做到,因为所有节点的时间不可能严格一致(而且可以任意被调节),而且网络传输有
快有慢。
Block链分支
某一节点若收到多个针对同一前续Block的后续临时Block,则该节点会在本地Block链上建立分支,多个临时Block对应多个分支。
从block hash算法我们知道,合理的block并不是唯一的,同一高度存在多个block的可能性。那么,当同一个高度出现多个时,主链即出现分叉
(Fork)。遇到分叉时,网络会根据下列原则选举出Best Chain:
不同高度的分支,总是接受最高(即最长)的那条分支
相同高度的,接受难度最大的
高度相同且难度一致的,接受时间最早的
若所有均相同,则按照从网络接受的顺序
等待Block Chain高度增一,则重新选择Best Chain
分支博弈
我们假设所有的节点都是理性的,追求收益最大化;都是不诚实的,且不惜任何手段获取利益;所有节点均独自挖矿不理会其他节点,并将所得
收益放入自己口袋,现象就是一个节点挖一个分支。由于机器的配置总是有差别的,那么算力最强的节点挖得的分支必然是最长的,如果一个节
点的分支不是最长的,意味其收益存在不被认可的风险(即零收益)。为了降低、逃避此风险,一些节点肯定会联合起来一起挖某个分支,试图
成为最长的分支或保持最长分支优势。
一旦出现有少量的节点联合,那么其他节点必然会效仿,否则他们收益为零的风险会更大。于是,分支迅速合并汇集,所有节点都会选择算力更
强的分支,只有这样才能保持收益风险最小。最终,只会存在一个这样的分支,就是主干分支(Best/Main Chain)。
对于不诚实节点来说,结局是无奈的:能且只能加入主干挖矿。不加入即意味被抛弃,零收益;加入就是老实干活,按占比分成。
2.学习中遇到的问题及解决
- 问题1:区块链应用场景?
在国内供应链金融(仓单、票据、应收账款)、保险(航意险、互助保险)、公示公证(公益慈善、版权)等领域布比都有案例落地。
比如说区块链在数字资产领域的应用:区块链在数字资产发行与流通中扮演资产确权、交易确认、记账、对账和清算的角色。
平台(例如:布萌平台)包括资产发行方、资产接收方、渠道、交易所在内的所有上下游机构,他们可以按照自身的利益诉求在平台上自行开
展业务。
前期所以选择积分做为数字资产的切入口,有以下几点考虑。首先,积分的标准化程度较高;其次,积分是大量用户已持有的最为常见的数字资
产;然后,积分市场存在实际的痛点,即对于用户而言现有的积分形同鸡肋,机构投入巨大的成本运维一套积分体系并没有得到想要的用户粘性
;最后,积分的价值很低,对机构而言,试错成本低,容易对接。
未来的数字资产可以是已经数字化的资产,例如积分、预付卡、优惠券等。区块链也可以成为资产证券化和资产数字化的入口,将现有的固定资
产变成数字化资产在平台上发行与流通,例如电影票、演唱会门票、月饼券、蛋糕券等。不过B2B行业涉及到利益的重新分配,所以区块链是通过
点滴渗透的方式进入到各个领域,需要一定的时间才能看到成效。
保险卡单:目前据说是国内第七大的保险公司,阳光保险基于区块链发行航空意外险进行试水。原先的航空意外险销售渠道主要集中在几个
大机票预订渠道,主要有2个问题,
一是渠道存在一单双花或者不出单等问题,但是无法核实查证;
二是要想发展更多渠道,涉及技术对接,对接维护成本高。
基于区块链发行保单,完美解决以上2各问题,所有发行的保单真假可查并可追溯流转历史,更多渠道想销售该保单时只需要对接区块链即可,甚
至个人都可以成为渠道。于此同时,渠道扩大的同时,渠道成本降低了,价格也就更有优势,他们提供的航空意外险只需要3块钱一份,要知道在
飞猪旅行上同样的一份保单是30块。
商业积分:在我看来,不管是积分还是游戏道具还是其他的某个代币,其实本质上都一样,都是某中数字资产,其价值是其对应的某种资产
或者信誉背书的,为什么大家都选择积分来做,我想大概是因为其价值较低,用户关注度低,风险比较低吧。回过头来说积分,积分说白了就是
商家营销的一种手段,目的就是吸引用户过来进行二次消费,但是积分一般价值比较低。当前积分体系,各个商户有各商户的积分体系,各积分
体系之间是孤立的,对用户来说,积分额度小,积分分散,所以用户观念基本形成,积分几乎没有任何价值;对商户来说积分无法带来二次消费
,且还需要费时费力建立积分发行与兑换体系,花费巨大却达不到营销的效果。采用区块链,利用区块链“多方发行、自由流通”的特性,只要
积分是真正有价值的,就可以实现积分的自由兑换和交易,既帮助用户化零为整,也帮助商家带来二次消费。在此基础之上,我相应只要有利可
图,未来会出现积分交易所、积分通兑平台等角色,更加促使积分有效流通。未来某种积分在网络上直接当“钱”用也不是没有可能。
- 问题2:共识机制?
首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
1.pow( Proof of Work)工作量证明一句话介绍:干的越多,收的越多。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低
,容错性方面允许全网50%节点出错。
优点:1)算法简单,容易实现;2)节点间无需交换额外的信息即可达成共识;3)破坏系统需要投入极大的成本;缺点:1)浪费能源;2)区块的确
认时间难以缩短;3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;4)容易产生分叉,需要等待多个确认;5)永远
没有最终性,需要检查点机制来弥补最终性;
2.POS Proof of Stake,权益证明一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,
但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代
币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;
所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分
叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。DPOS与POS原理相同,只是选了一些“人大代表”。BitShares社区首先提出了DPoS机
制。与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,
持币者投出一定数量的节点,代理他们进行验证和记账。
DPoS的工作原理为:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。
其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间
表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平
均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分
叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代
表)的直接连接是为了确保你能得到报酬。该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也
可以在几分钟内得到解决。
成为代表:成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。
然后该标识符会被每笔交易数据的“头部”引用。授权选票:每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将
其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,
因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。保持代表诚实
:每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。
如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。抵抗攻击: 在抵抗攻击上,
因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上
。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥
而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得
更为困难。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在
的。
3.PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错介绍:在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3
的容错性。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机
(Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。拜占庭将军问题就根据错误计算机的数量,寻找可能的
解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。而拜占庭问题的可能解决方法为:在 N ≥ 3F + 1 的情况下一
致性是可能解决。
其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。2)共识的时延大约
在2~5秒钟,基本达到商用实时处理的要求。3)共识效率高,可满足高频交易量的需求。缺点:1)当有1/3或以上记账人停止工作后,系统将无法
提供服务; 2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会
留下密码学证据;下面说两个国产的吧
4.dBFT: delegated BFT 授权拜占庭容错算法介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法
来达成共识。
此算法在PBFT基础上进行了以下改进:将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;将静态的共识参与节点改进为可动态进
入、退出的动态共识参与节点;为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);在
区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
优点: 1)专业化的记账人; 2)可以容忍任何类型的错误; 3)记账由多人协同完成,每一个区块都有最终性,不会分叉; 4)算法
的可靠性有严格的数学证明;缺点: 1)当有1/3或以上记账人停止工作后,系统将无法提供服务; 2)当有1/3或以上记账人联合作恶,且
其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。5.POOL验证池基于传统
的分布式一致性技术,加上数据验证机制。优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验
证。缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
3.本次讲座的学习感悟、思考等
区块链技术代表着一种全新的业务交易方式。它们引进了稳健的、智能的下一代应用程序,利用这些应用程序来登记和交换物理、虚拟、有形和
无形资产。得益于密码安全性、去中心化共识和共享公共账本(及其适当控制和许可的可视性)等关键概念,区块链技术能够完全改变我们组织
经济、社会、政治和科学活动的方式。
4.最新研究现状
[A Software Defined Fog Node Based Distributed Blockchain Cloud Architecture for IoT]
https://ieeexplore.ieee.org/document/8053750
最近物联网(IOT)的扩张以及由此导致的智能设备产生的数据量激增,导致数据外包到指定的数据中心。然而,要管理这些巨大的数据存储,集
中的数据中心(如云存储)负担不起吉利的方式。
由于连接到互联网的设备的多样性和数量快速增长,传统网络体系结构中必须解决许多挑战,这些设备的设计目的不是提供高可用性、实时数据
交付、可扩展性、安全性、弹性和低延迟。
为了解决这些问题,本文提出了一种新的基于区块链的分布式云架构,该架构具有软件定义的网络(SDN),使网络边缘的控制器雾节点能够满足
所需的设计原则。该模型是一种基于区块链技术的分布式云架构,提供了对物联网中最具竞争力的计算基础设施的低成本、安全和按需访问。通
过创建分布式云基础设施,该模型实现了经济高效的高性能计算。此外,为了将计算资源带到物联网网络的边缘,并允许以安全的方式对大量数
据进行低延迟访问,我们提供了一种使用SDN和区块链技术的安全分布式雾节点架构。雾节点是分布式雾计算实体,允许部署雾服务,由物联网边
缘的多个计算资源组成。
我们评估了我们提出的体系结构的性能,并使用各种性能度量将其与现有模型进行了比较。我们的评估结果表明,通过减少诱导延迟、缩短响应
时间、增加吞吐量以及在低性能开销的物联网网络中检测实时攻击的能力,可以提高性能。
EUROCRYPT 2018大会中,有5篇关于区块链的顶级论文被发表。内容涵盖快速交易协议、比特币共识算法、POS算法,以及POW哈希算法。
论文2《Thunderella》
论文标题:Thunderella:区块链理想条件下的瞬间响应
《Thunderella: Blockchains with Optimistic Instant Confirmation》
原文链接:https://eprint.iacr.org/2017/913.pdf
作者:Rafael Pass,康奈尔大学计算机科学系副教授
内容:
这篇论文中,作者介绍了一个全新的算法叫做「Thunderella」。与一般状态机的共识原理不同(状态机相当于一个共识机制的抽象,对分布式网
络中大量节点的请求进行确认),Thunderella使得状态机可以在实现快速异步处理的同时,在异常时还可以启动回滚机制。如此一来,状态机的
相应速度与同步协议无异,在不出现「拜占庭将军问题」(及大多数人都是诚实的)的情况下,可以做到对交易的瞬间响应。
这篇论文中,作者对POW协议下,无需许可和需要许可的设定,提供了一些示例,相应速度可以达到正常上网的体验。不过正如上面所说,这一算
法的前提条件是网络中的大部分节点或算力是诚实的,而这里所说的「大部分」指的是不能低于3/4。
论文3
论文标题:比特币为什么靠得住?关于比特币的理性协议的设计
-(But Why Does it Work?A Rational Protocol Design Treatment of Bitcoin?)
原文链接:https://eprint.iacr.org/2018/138.pdf
作者:Vassilis Zikas,英国爱丁堡大学区块链技术实验室副主任、副教授。
内容:
这篇论文是关于比特币的,作者试图通过实验来验证RPD(Rational Protocol Design)框架作为一个「理性的密码学框架」在比特币分析中的可
用性。众所周知,比特币交易的前提是默认大部分算力(矿工)是诚实的,然而在现实世界中,如何向公众证明大多数人是诚实的却是个难题。
在这篇文章中,作者通过对RPD框架部署了一套新的机制,结果显示无论是对矿工添加新的区块进行奖励,还是让他们对挖矿付出代价,诚实的节
点总是占大多数。这一结果跟币圈一直以来「矿工总是追求利益最大化」的论调相去甚远。
这篇论文的价值在于,由于比特币交易流程的特殊性,以往密码学家没有一个关于合约是如何工作的常用的模型,需要各自开发安全等级上非常
过硬的共识算法。这篇文章却改变了这一现状。
记忆硬功能(mhf)是指其评价的功能。成本主要由内存成本决定。MHF是平等主义者,在在专用硬件(如fpgas或ASIC)并不比现成的硬件(如
x86)便宜多少。CPU)。mhfs有有趣的加密应用程序,最显著的是密码散列和保护区块链。Alwen和Serbinenko[Stoc'15]定义了累积内存复杂性
函数的(cmc)和(在所有时间步骤中)量的总和计算函数所需的内存。他们主张MHF必须具有高CMC。与以前的概念不同,CMC考虑了专用硬件可
能会利用摊销和并行性。尽管如此,CMC仍被认为是不够的,因为它无法捕获可能的时间-内存权衡;由于内存成本不能线性扩展,具有相同CMC的
功能可能仍然具有非常不同的实际硬件成本。
论文4《Ouroboros Praos》
论文标题:Ouroboros Praos:一条自适应安全和半同步POS的区块链
-(Ouroboros Praos: An adaptively-secure, semi-synchronous proof-of-stake blockchain)
原文链接:https://eprint.iacr.org/2017/573.pdf
作者:Peter Gaži,IOHK研究员
内容简介:
这篇文章中,作者提出了一个新的POS协议——Ouroboros Praos,这个协议可以看作是,针对IOHK之前发布的公链Cardano的升级算法。
这一算法第一次实现了半同步条件下对完全自适应腐败(fully-adaptive corruption)的安全保护。尤其是比特币持有者以诚实者占大多数时,
黑客可以随时随地对这些人进行「腐化」,这一协议保证了更安全的数字签名,以及对随机函数进行验证的新类别——在而已密钥的生成下,依
然保持不可预测。
不过,这个协议仅在随机预言机模型的标准加密假设中有效。
我们提供了“Ouroboros Praos”,一个股权证明区块链协议,用于第一次,为半同步中的完全自适应损坏提供安全保护设置:具体来说,对手可
以破坏动态进化的任何参与者只要利益相关者分配保持不变,任何时候的利益相关者人数最诚实的利益攸关者;此外,该议定书容忍对手控制协
议参与者未知的消息传递延迟。为了实现这些保证,我们在通用组合设置中进行了形式化和实现。前向安全数字签名的合适形式及一种新型可验
证随机函数在恶意密钥生成下保持不可预测性。我们的安全证明半同步区块链分析的一般组合框架可能具有独立利益。我们证明我们的协议在标
准密码下是安全的。随机Oracle模型中的假设。
论文5
论文标题:可持续空间模型(Sustained Space Complexity)
原文链接:https://eprint.iacr.org/2018/147.pdf
作者:Jo¨el Alwen,奥地利科学与技术学院研究员
内容简介:
MHF(Memory-hard functions)是一种函数,它的评测成本受存储成本所控制。在硬件设备(如FPGAs、ASICs)上对MHF进行评测,成本不比在
x86设备上便宜。
在这篇文章中,作者引入了一个叫做「持续内存机制」(Sustainedmemory Complexity)。这一机制在平行随机预言机中构建。通过n和O两个函
数进行运算,其中n代表步骤,O代表存储,函数式为:O(n/ log(n))。在每个步骤中,一条询问被放入随机预言机,其他算法也可以将其他随机
询问放入随机预言机。其存储为:Ω(n/ log(n)) ,步骤为:Ω(n)。
EUROCRYPT 2018 最佳论文
在区块链论坛入选的4篇论文之外,还有一篇关于区块链的论文入选了「最佳论文」,就是下面这篇。
论文标题:简单的连续工作证明(Simple Proofs of Sequential Work)
作者:Krzysztof Pietrzak,密码学家、奥地利科学与技术学院研究员。Bram Cohen,BitTorrent创始人、Chia CEO
原文链接:https://eprint.iacr.org/2018/183.pdf
作者:Krzysztof Pietrzak,密码学家、奥地利科学与技术学院研究员。Bram Cohen,BitTorrent创始人、Chia CEO
内容:
试图通过「空间证明」(Proof of Space)来保证比特币及其他加密货币的安全。「空间证明」是Bram Cohen之前提出的一种取代PoW的工作证明
方式。
在ITCS 2013,Mahmody、Moran和Vadhan[mmv'13]介绍并构建可公开验证的连续工作证明,其中是一个证明一个花费的顺序计算工作相关的协议一
些声明。这些证据的原始动机包括非交互式时间戳和通用可验证的CPU基准。最新的应用程序和我们的主要动机是区块链可结合使用连续工作证明
的设计有了空间的证明——作为更生态和经济的替代品用于证明当前用于确保比特币和其他货币安全的工作加密货币。[mmv'13]提出的构造基于
散列函数和可以在随机Oracle模型中被证明是安全的,或者假设序列散列函数,这是一个新的标准模型假设在他们的工作中介绍。在连续工作的
证明中,证明者得到一个“陈述”χ,时间参数n和对哈希函数h的访问,为了安全起见Proof被建模为一个随机的Oracle。正确需要诚实验证程序
可以使验证程序只接受对h的n个查询,而稳健性要求任何使验证人接受的证明人必须对H进行(几乎)n次连续查询,因此一个解决方案构成自χ
被接收以来经过n次的证明。解决方案必须在时间上可公开验证,最多为n的多对数。[mmv'13]的构造基于“深度稳健”图,以及因此,其具体参
数相当差。但是少校缺点是,验证程序不仅需要n个时间,还需要n个空间来计算一个证明。