• 2018-2019-2 20189206 《密码与安全新技术专题》 第五次作业


    20189206 2018-2019-2 《密码与安全新技术专题》第五次作业

    课程:《密码与安全新技术专题》

    班级: 1892

    姓名: 王子榛

    学号:20189206

    上课教师:张健毅

    上课日期:2019年4月23日

    1.本次讲座的学习总结

    比特币

    比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。

    与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。

    • 比特币的特点

      • 数字货币
      • 不依托于任何国家组织而利用计算机技术独立发行
      • 通过P2P分布式技术实现,无中心点
      • 所有人均可自由参与
      • 总量有限,不可再生
      • 本身机制开源,可以被山寨
    • 比特币的交易方式

    每一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的公钥(俗称:地址)签署一个随机散列的数字签名, A将此数据签名制作为交易单T2并将其(交易单T2)广播全网,电子货币就发送给了下一位所有者。
    【注意】前一次交易是指 这里比特币是如何到达现在这位用户手中的,前一份表单。

    特点:

    • 交易发起者的私钥:只为个人所知,他人无从知晓
    • 前一次交易:前一次交易说明了该次交易的货币的来源
    • 下一位所有者的公钥:即交易接收方的地址,次数据说明了当前交易的目标是谁
    • 数字签名:发起方将前一次交易数据和接收方公钥连接起来并对其求Hash值x,再利用自己的私钥对x加密,得到这份数字签名

    验证交易:

    • 利用交易T2中交易的发起方A的公钥对签名进行解密,得到整数x。
    • 将T1交易数据和B的公钥连接起来,用同样的Hash算法计算Hash值y。
    • 若x==y,说明:
      • 这笔交易确实是A本人发起的,因为只有A本人的私钥才可以生成此签名(A同时也无法否认自己曾签署了此份交易)。
      • 交易的目的方确实是B。
      • 发起方确实是打算把交易T1中A获得的货币发送给B。

    上面的交易单即展示了比特币交易的方式,每个交易单记录一笔交易的具体信息,比如付款人(交易发起方的公钥)、收款人(交易接收方的公钥)、付款金额(上一笔交易信息)、付款人签名(加密后的Hash值)等。

    比特币网络中,数据以文件的形式被永久记录,被称之为区块(Block)。

    get:一直以为比特币这种电子货币也会拥有特定的数据结构来表示货币,但是,本质上比特币的存在体现在交易单。交易单类似于银行的账单,通过记录货币的去留来证明你有多少货币,而不是提供给你具体的货币单元。

    区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
    比特币白皮书英文原版 其实并未出现blockchain一词,而是使用的chain of blocks。最早的比特币白皮书中文翻译版中,将chain of block翻译成了区块链。这是“区块链”这一中文词最早的出现时间。

    许多的区块构成了区块链,Block之间以双向链表的方式链接起来,并且每个Block都会保存其上一个Block的Hash值,只有一个Block没有上一个节点,即创世Block。Block有很多份, 每个Block只记录比特币全网10分钟内的交易信息,每约10分钟产生一个新的Block。产生Block的过程,也被称为“挖矿”。

    get:可以看到,不是每一份账单就构成一个区块,一个区块包含了多笔交易,许多区块连成双向链表。

    区块链的核心技术

    • 分布式账本
      • 交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。

    跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。

    • 非对称加密和授权技术
      • 存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
    • 共识机制
      • 所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
      • 区块链的共识机制具备“少数服从多数”以及“人人平等”的特点
    • 智能合约
      • 智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。

    Block的产生细则

    每一笔交易发生后,并不算完成,交易数据必须写入数据库,才算成立,对方才能真正收到钱。首先,所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。计算哈希的过程叫挖矿,计算哈希的机器就叫做矿机,操作矿机的人就叫做矿工。根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起,组成一个区块,然后计算这个区块的哈希(Hash)。

    中本聪故意让添加新区块,变得很困难。他的设计是,平均每10分钟,全网才能生成一个新区块,一小时也就六个。由于人为设置了大量的计算及难度系数,需要大量算力才能得到当前区块的有效哈希,进而新区块添加到区块链。矿工之间也在竞争,谁先算出来了,谁就能第一个添加新区块进入区块链,从而享受这个区块的全部收益。其它矿工只能过来把那一页抄写一份,贴在自己账本的最后面,然后又开始新的记账过程。周而复始,生生不息,账本一页一页的增加,账本越来越厚。

    全网每十分钟(算法动态调节至约十分钟产生一个)产生一个新的Block,每个新的Block含有的一定数额的比特币归创建者所有,此规则称为“激励”。

    比特币体系的设计要求:
    Block应由那些最诚实最勤劳的节点产生,因而引入工作量证明(Proof Of Work,POW)机制。比特币体系倾向于认为:一个节点在提供信息之前付出了巨大的工作量,那么他可能是诚实的概率比较高(他提供的Block中数据最有可能没有问题,当然无论如何其他节点也是会对其进行检查的)。

    挖矿过程实际上就是反复去尝试寻找一个随机数(又称“幸运数”),使得将最后一个Block的hash值、当前世界中尚未被加入到任何Block的交易单、随机数三部分组织起来送入SHA256算法计算出散列值X(256位),如果X满足一定条件(比如前20位均为0),那么该节点初步获得创建Block的权利。

    工作量证明的基本原理

    工作量证明系统主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。它与验证码不同,验证码的设计出发点是易于被人类解决而不易被计算机解决。
    下图表示的是工作量证明的流程:

    block链分支

    某一节点若收到多个针对同一前续Block的后续临时Block,则该节点会在本地Block链上建立分支,多个临时Block对应多个分支。从block hash算法我们知道,合理的block并不是唯一的,同一高度存在多个block的可能性。那么,当同一个高度出现多个时,主链即出现分叉(Fork)。遇到分叉时,网络会根据下列原则选举出Best Chain。

    不同高度的分支,总是接受最高(即最长)的那条分支相同高度的,接受难度最大的高度相同且难度一致的,接受时间最早的若所有均相同,则按照从网络接受的顺序等待Block Chain高度增一,则重新选择Best Chain。

    51%攻击

    • 将手中的BTC充值各大交易所,然后卖掉,提现;或者也可以直接卖给某人或某一群人;
    • 运用手中的算力,从自己对外付款交易之前的区块开始,忽略自己所有对外的付款交易,重新构造后面的区块,利用算力优势与全网赛跑,当最终创建的区块长度超过原主分支区块,成为新的主分支,至此,攻击完成;

    2.学习中遇到的问题及解决

    • 问题1:什么是去中心化
    • 问题1解决方案:老师在课上提到比特币之所以价格高昂,是因为其不受到任何组织、国家或人的控制,其支付系统是去中心化的。老师在课上介绍比特币是一种虚拟货币,同样的我们生活中还有许多虚拟货币,比如Q币,但不同之处就在于Q币不是去中心化的虚拟货币,受腾讯控制。

    去中心化(英语:decentralization)是互联网发展过程中形成的社会关系形态和内容产生形态,是相对于“中心化”而言的新型网络内容生产过程。
    相对于早期的互联网(Web 1.0)时代,Web 2.0内容不再是由专业网站或特定人群所产生,而是由权级平等的全体网民共同参与、共同创造的结果。任何人都可以在网络上表达自己的观点或创造原创的内容,共同生产信息。

    随着网络服务形态的多元化,去中心化网络模型越来越清晰,也越来越成为可能。Web 2.0兴起后,Wikipedia、Flickr、Blogger等网络服务商所提供的服务都是去中心化的,任何参与者均可提交内容,网民共同进行内容协同创作或贡献。

    【注意】去中心化,不是不要中心,而是由节点来自由选择中心、自由决定中心。简单地说,中心化的意思,是中心决定节点。节点必须依赖中心,节点离开了中心就无法生存。在去中心化系统中,任何人都是一个节点,任何人也都可以成为一个中心。任何中心都不是永久的,而是阶段性的,任何中心对节点都不具有强制性。

    • 问题2:什么是区块呢?
    • 问题2解决方案:老师在课堂上由比特币的交易方式向我们介绍了区块链,构成区块链的区块是什么结构的呢?其实区块链概念的提出就是在中本聪的《比特币白皮书》

    上图为一个“区块”,其包含了区块信息和交易信息

    • 区块信息

      • 本区块摘要值
      • 上一块摘要值
      • 本区块填充数
    • 交易信息

    • 问题3:什么是ICO众筹?

    ICO (inital Coin Offering)的缩写,译为首次币发行,院子股票市场的首次公开发行IPO概念,是区块链首次发行代币,募集比特币、以太坊等通用数字货币的行为。

    ICO是一种区块链行业术语,是一种为加密数字货币/区块链项目筹措资金的常用方式,早期参与者可以从中获得初始产生的加密数字货币作为回报。由于代币具有市场价值,可以兑换成法币,从而支持项目的开发成本。ICO所发行的代币,可以基于不同的区块链。常见的是基于以太坊(ETH)和比特股(BTS)区块链发行,由区块链提供记账服务和价值共识,实现全球发行和流通。

    发展历史:

    • 2013年7月:Mastercoin(现更名万事达币OMNI)是最早进行ICO的区块链的项目之一,曾在Bitcointalk论坛上众筹成功筹资5000 BTC。Mastercoin是建立在比特币协议之上的二代币,旨在帮助用户创建和交易加密货币以及其他类型的智能合同。
    • 2013年12月:NXT(未来币)是第一个完全POS区块链,曾筹资21BTC(相当于当时6000美元),它的市值一度高达1亿美元,对投资者来说无疑是最成功的ICO项目之一。
    • 2013年至2014年间:出现过许多疯狂的区块链项目成功的启动了ICO,它们的代币价格都出现过疯涨,不幸的是这些ICO项目最后都死在炒作过程中或者直接成为骗局。然而,在这段时间,也有十分成功的ICO项目,例如Ethereum。
    • 2014年7月:Ethereum(以太坊ETH)国内外人气高,是迄今为止最大的一次ICO之一,筹措资金超过1800万美元,同时也是除比特币以外市值最高的加密数字货币。
    • 2015年3月:Factom(公正通)通过Koinify平台ICO,利用比特币的区块链技术来革新商业社会和政府部门的数据管理和数据记录方式。
    • 2016年3月:Lisk的去中心化应用(DAPPs)是使用Javascript语言进行编程,这是目前全球最简单也最流行的编程语言。Lisk此次总共筹集到14,080BTC和超过8,000万XCR,众筹所得金额在区块链项目ICO中排名第二位,仅次于以太坊。
    • 2016年5月:The DAO是ICO史上最大的众筹项目,融资额高达1.6亿美元。DAO全称是Decentralized Autonomous Organization,即“去中心化的自治组织”,可理解为完全由计算机代码控制运作的类似公司的实体,在人类历史上还是首次。但是作为万众瞩目的ICO项目,最终因受到黑客攻击,再到争论中软硬分叉,最后以解散退回以太币而告终。
    • 2016年9月:FirstBlood(第一滴血)将电竞竞赛服务跟区块链结合,使用了智能合约来解决奖励结构问题,众筹一开始即筹资600万美元,全球总共筹到465,312.999ETH。

    我的理解来看,ICO众筹就是发行一种新的加密货币,可以利用以太坊的网络进行转账,钱包地址可使用以太坊的地址,钱包秘钥也可以是以太坊的钱包秘钥,区块链使用以太坊的区块链。我看了一篇介绍如何发布一个所谓“加密货币”进行ICO众筹的文章,见最后参考资料的第一篇。

    • 问题4:区块链都可以应用于哪些场景?

    区块链是伴随着比特币而产生的新概念,但是区块链的概念范围十分宽广,不会仅仅局限于比特币的交易。下面是我找到的区块链可以应用的场景

    • 艺术行业

      • 艺术家们可以在使用区块链技术来声明所有权,发行可编号,限量版的作品,可以针对任何类型艺术品的数字形式。它甚至还包括了一个交易市场,艺术家们可以通过他们的网站进行买卖,而无需任何中介服务。
    • 开发行业

      • Colu是首个允许其它企业发行数字资产的企业,他们可以将各种资产来“代币化”让许多人印象深刻。尽管免费的比特币钱包Counerparty也允许发行简单的代币,并且在其他钱包持有者之间进行交易,Colu的代币可以设置有各种状态和类型,能够脱离或者重新回到这个系统,并且当在区块链上存储数据过大的时候能够将数据存储在BitTorrent的网络上。
    • 物联网

      • 随着物联网设备的增多,Edge计算需求的增强,大量设备之间需要通过分布式自组织的管理模式,并且对容错性要求很高。区块链自身分布式和抗攻击的特点可以很好地试用到这一场景中。

    还有许多行业,比如保险行业、金融行业、房地产行业、开发行业等等。

    3.本次讲座的学习感悟、思考等

    张老师上课生动有趣地为我们从比特币的运作方式介绍了区块链的相关技术,也为我们打开了另一道财富之门,然而,我可能并不会利用比特币发财,感觉比特币挣钱是一个需要谋划与策略,还需要很好的电脑配置(不止一台很好的电脑配置。。。)所以,我最感兴趣的还是区块链技术,利用全新的分布式计算方法,区块链的去中心化、共识机制等都是我从来没有了解过的全新领域,觉得很神奇,能够摆脱控制,由大家共同操作,就像比特币不受任何组织或国家的控制,通过其自身机制,吸引了成千上万的“旷工”,共同维护这个系统。区块链也不仅仅局限于比特币或是以太坊,区块链所能发挥作用的领域远远不止这些,我们在学习理解区块链技术后,能够将区块链技术应用于更多领域。

    4.区块链最新研究现状

    REM: Resource-Efficient Mining for Blockchains

    • 会议名称: 26th USENIX Security Symposium August 16–18, 2017 • Vancouver, BC, Canada
    • 作者:Fan Zhang、Ittay Eyal、Robert Escriva、Ari Juels、Robbert van Renesse
    • 论文题目:REM:对区块链的节约型挖掘

    本文介绍了一种新型的基于可信任硬件的区块链挖掘框架:节约型挖掘(REM)

    大多数区块链中所使用的工作量证明(proof-of-work, PoW)很容易就会被认为是能源浪费证明。除了选择链中的下一个区块之外,所有的散列并没有任何用处。综合的能源浪费实际上相当惊人:

    大家一致认为,PoW毫无用处,只会产生巨大的金钱和环境成本。今天,比特币网络使用的电力比核反应堆生产的还要多,预计到2020年,它的电力消耗将赶上整个丹麦所消耗的。

    因此,专家们研究了其他的共识方案,包括基于BFT的和权益证明( Proof of Stake),但这些“要么限制了共识分享,要么有明显的安全限制”。在这篇文章中,作者提供了另外一种方法。我们将不再使用“工作量证明”,而使用“有用工作量证明”(PoUW)。

    在PoUW系统中,CPU在承担原来的工作之外,还可以同时承担区块链的工作。在PoUW方案下工作的CPU开销是原来运行开销的5-15%左右。

    REM(Resource-Efficient Mining,节约型挖掘)的核心依赖于英特尔的SGX(Software Guard Extensions,软件防护扩展指令)技术,但正如我们将看到的,需要多个组件协作工作才能使整体方案发挥作用。

    图中有区块链代理(Agent)、REM矿工(Miner),以及一个或多个有用的工作客户端(Useful Work client)。代理用于收集事务并生成区块模板,该模板是在缺少PoUW的情况下的候选区块。矿工以PoUW任务的形式获取区块模板,并从一个有用的工作客户端中获取有用的工作负载。

    PoUW包括两个部分:挖掘成功时候的有用工作程序认证,以及合法检查员的认证。

    实验显示对示例基准测试的性能影响最小(5-15%)。

    Thunderella: Blockchains with Optimistic Instant Confirmation

    • 会议名称: Advances in Cryptology – EUROCRYPT 2018
    • 作者:Rafael Pass Elaine Shi
    • 论文题目:Thunderella: Blockchains with Optimistic Instant Confirmation

    这篇论文中,作者介绍了一个全新的算法叫做「Thunderella」。与一般状态机的共识原理不同(状态机相当于一个共识机制的抽象,对分布式网络中大量节点的请求进行确认),Thunderella使得状态机可以在实现快速异步处理的同时,在异常时还可以启动回滚机制。如此一来,状态机的相应速度与同步协议无异,在不出现「拜占庭将军问题」(及大多数人都是诚实的)的情况下,可以做到对交易的瞬间响应。

    在分布式系统中有一种叫做状态机复制的技术,在这项技术中,每一组服务器同步一个增长并且线性的日志,而这必须满足两点属性:

    • 一致性,日志信息必须一致。
    • 活跃性,当客户端提交一个交易时可以快速的包含到日志中。在这文章中,将把状态机复制简称为共识。

    基于区块链中存在的大量不可信节点,对于大规模设置的两大协议

    • 传统协议PBRT和Byzantine-Paxos等,它们在正常情况下确认事务会很快;但这些协议是出了名的复杂,使得实现测试、重新配置和维护相对困难。
    • 区块链式的协议,在概念上简单并且容忍少数腐败节点,确认事务的实际缓慢,必须将预期的块间隔设置的足够大,以便协议保安全性。

    Thunderella:

    1. 有一个指定的实体:领导者或者叫“加速器”。
    2. 交易需要发送给领导者,领导在交易上签字(增加序列号,可以理解成一个包含很多交易的区块),并将签署的交易发送给“委员会”。
    3. 委员会成员“确认”所有领导者已签署的交易,每个序列号最多只有一个交易(即诚实的委员会成员不会对相同序号不同交易进行确认)。
    4. 如果一个交易已收到超过3/4的委员会签名 将此类交易称为公证交易。 参与者可以直接输出他们最长的连续序列(就其序列号而言)公证的交易 - 所有这些交易都得到确认。

    P2P Mixing and Unlinkable Bitcoin Transactions

    • 会议名称: NDSS ’17, 26 February - 1 March 2017, San Diego, CA, USA
    • 作者:Tim Ruffing、Pedro Moreno-Sanchez、Aniket Kate
    • 论文题目:P2P Mixing and Unlinkable Bitcoin Transactions

    从DC-nets开始,提出了几种对等匿名通信协议,尽管这些协议具有强大的匿名保证,但几乎没有进行过实践的检验。因此大多数协议无法同时解决时隙冲突和恶意对等方中断的关键问题,而其余协议无法处理带有的恶意对等方通讯轮次。作者将P2P匿名通信协议概念化为P2P混合,提出一种新颖的P2P混合协议DiceMix,在最佳情况下仅需要四次通信轮次,在最坏情况下需要4 + 2f轮次与恶意对等。由于每个单独的恶意对等体都可以通过简单地省略他的消息来强制重启P2P混合协议,我们发现DiceMix具有O(f)轮的最坏情况复杂度,是最佳的P2P混合解决方案。

    在应用程序方面,使用DiceMix来提高比特币等加密货币的匿名性。通过公开可用的分布式账本(或区块链)进行的假名交易的公开可验证性使得这些系统极易受到各种可链接性和去匿名攻击的攻击。同时使用DiceMix来定义CoinShuffle++,这是一种硬币混合协议,允许假名对等方执行不可链接的交易。方式与当前的比特币系统完全兼容。下图是DiceMix执行的示例。

    最后对P2P混合协议进行了去匿名攻击,以保证在存在破坏性对等体的情况下终止。DiceMix通过要求新的输入消息(例如之前从未使用过的加密密钥)来抵抗这种攻击。

    上图是P2P混合协议遭到去匿名攻击,而DiceMix躲避攻击的方式是:

    为了避免消息集的交集,DiceMix在每次运行中绘制新的消息。 此外,每当某个诚实的对等体p排除无法访问的诚实对等体p0(并牺牲p0的匿名性)时,正确的确认属性将确保当前运行不会成功终止对等体p0,因为p0和p将具有不同的视图。 当前未设置的同伴的P组。 因此,当前运行不需要匿名,并且可以平等地处理恶意和脱机对等。

    【最佳论文】 Simple Proofs of Sequential Work

    • 会议名称: Advances in Cryptology – EUROCRYPT 2018
    • 作者:Bram Cohen and Krzysztof Pietrzak
    • 论文题目:Simple Proofs of Sequential Work 简单的连续工作证明

    试图通过「空间证明」(Proof of Space)来保证比特币及其他加密货币的安全。「空间证明」是Bram Cohen之前提出的一种取代PoW的工作证明方式。

    工作量证明(Proof Of Work,简称POW)
    简单理解就是一份证明,用来确认你做过一定量的工作。工作量证明系统主要特征是客户端需要做一定难度的工作得出一个结果,验证方却很容易通过结果来检查出客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中的,对于验证方则是易于验证的。

    空间证明(proof-of-space)”
    依赖于磁盘空间而不是计算力作为挖矿的主要资源,创建了一种声称能够比PoW更加生态友好且经济的替代选择。这份标题为《以空间证明的应用超越赫尔曼的时间记忆折中》概述了通过使用空间证明(proof-of-space)建立一种对能源需求更少的挖矿流程——比特币的能源集约型挖矿模式一直遭受很多人的批评,被很多人认为是一种资源浪费。由于能源要求的降低,以及对现有硬件的依赖,这种方式旨在是任何拥有一台计算机的人都能够进行挖矿。在空间证明体系下,矿工可以将未使用的磁盘空间分配到网络中,而成功挖到区块的概率将与矿工分配的磁盘空间与网络的总能力成比例。

    Publicly verifiable proofs of sequential work---公开可验证的公作证明

    随机预言机(random oracle,简称RO)。在密码学里面,随机预言是一个预言(简单说像是理论的黑箱),对任何输入都回传一个真正均匀随机的输出(请参考离散型均匀分布),不过对相同的输入,该预言每次都会回传一模一样的输出。因为预言机实际上起到的是一个黑匣子的作用,中间是存在一个固定的算法的,这个算法相当复杂且是保密的,因此相同的输入值在经过了这个算法的运算之后输出的是相同的输出值,就像数学上一个确定的函数,相同的数值代入运算几次都会得到同样的结果一样。预言机存在的目的是为了让你无法知道自己的输入能得到什么样的结果,如果你给出两个输入,预言机同时给定两个输出的话,你不会知道这两个输出分别对应的是哪个输入。

    一个Merkle DAG,一个无回路有向图,对象之间的links都是hash加密嵌入在源目标中。这是Git数据结构的一种推广。

    1. 内容可寻址:所有内容都是被多重hash校验和来唯一识别的,包括links。
    2. 防止篡改:所有的内容都用它的校验和来验证。如果数据被篡改或损坏,会检测到。
    3. 重复数据删除:所有的对象都拥有相同的内容并只存储一次。这对于索引对象非常有用,

    SMARTPOOL: Practical Decentralized Pooled Mining

    • 会议名称: 26th USENIX Security Symposium August 16–18, 2017 • Vancouver, BC, Canada
    • 作者:Loi Luu、Yaron Velner、Jason Teutsch、Prateek Saxena
    • 论文题目:Practical Decentralized Pooled Mining

    本论文讲述了一种SMARTPOOL,一个分散的挖掘池的新协议设计。该协议展示了如何利用智能合同,自治的区块链程序,来分散加密货币的挖掘。SMARTPOOL将交易选择控制权返还给矿商,同时提供低价格的收购。SMARTPOOL的规模比集中的矿池要低,并被设计成规模扩大到危言耸听的矿工。并且在Ethereum和Ethereum的经典网络上实现了一个健壮的SMARTPOOL实现。

    文章提出了POW所面临的的困难,在本文中,将重点放在有关采矿池的属性列表中。 像比特币和以太坊这样的加密货币奖励网络参与者(或矿工)新的加密硬币,用于解决计算难度大的难题(或工作证明谜题)。

    解决方案:

    文章针对分散式集中采矿的解决方案利用以太坊智能合约,这些合同是在区块链上运行的分散式自主代理。非合约帐户在以太网中具有地址和余额,以太币是以太坊的本地货币。此外,智能合约还具有代码和私有持久存储(即变量和值之间的映射)。智能合约代码类似于可以操纵存储变量的普通程序。为了在地址addr处调用合同(即执行其代码),用户向addr发送具有适当有效载荷的事务,即支付执行(在Ether中)和/或用于调用的输入数据。只要大多数以太坊矿工忠实地遵循以太坊协议,合同代码就会在区块链上正确执行。

    在较高的层面上,SMARTPOOL用智能合约取代了采矿池运营商。智能合约通过存储矿工提交的所有股票,充当游泳池的无信任簿记员。提交新股份时,合同将验证共享的有效性,并检查否
    以前的共享记录存在,然后更新相应的矿工记录。我们允许矿工在本地生成池的块模板(在3.3节中详细讨论)。如果矿工找到一个有效块的共享,它会将该块广播到加密货币网络,奖励将立即记入SMARTPOOL。然后,SMARTPOOL公平地向池中的所有矿工发放区块奖励。

    总结

    区块链这几年逐渐走入研究人员的视野,区块链这几年逐渐被应用到多种不同的领域,人们的研究方向还是集中在解决区块链的工作量证明以及相关算法的改进中,希望能够得到更加高效地算法解决区块链现存的安全等问题。

    参考资料

  • 相关阅读:
    20191024-1 每周例行报告
    20191017-1 每周例行报告
    20191010-2 每周例行报告
    梁梦瑶 20190919-4 单元测试
    交换机配置VLAN Cisco packet
    20191128-1 总结
    20191121-1 每周例行报告
    20191114-1 每周例行报告
    对组内成员的感谢博客
    每周例行报告
  • 原文地址:https://www.cnblogs.com/zz-1226/p/10811813.html
Copyright © 2020-2023  润新知