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万个。oracle

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

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

特色:dom

  • 交易发起者的私钥:只为我的所知,他人无从知晓
  • 前一次交易:前一次交易说明了该次交易的货币的来源
  • 下一位全部者的公钥:即交易接收方的地址,次数听说明了当前交易的目标是谁
  • 数字签名:发起方将前一次交易数据和接收方公钥链接起来并对其求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公平地向池中的全部矿工发放区块奖励。

总结

区块链这几年逐渐走入研究人员的视野,区块链这几年逐渐被应用到多种不一样的领域,人们的研究方向仍是集中在解决区块链的工做量证实以及相关算法的改进中,但愿可以获得更加高效地算法解决区块链现存的安全等问题。

参考资料

相关文章
相关标签/搜索