20180908 2018-2019-2 《密码与安全新技术专题》第9周作业
课程:《密码与安全新技术专题》
班级: 1892
姓名: 杨晨曦
学号:20189208
上课教师:张健毅
上课日期:2019年4月23日
1.本次讲座的学习总结
目录:
一、区块链
二、区块链技术
三、区块链与未来
一、区块链
比特币(Bitcoin)的特点:
- 数字货币。
- 不依托于任何国家或组织而利用计算机技术独立发行。
- 通过P2P分布式技术实现,无中心点。
- 所有人均可自由的参与。ISIS,在线毒品交易市场等,反政府、无政府组织、勒索软件
- 总量有限,不可再生。货币天然是金银
- 本身机制开源,可以被山寨。传销
如何交易:
每一位所有者(A)利用他的私钥对前一次交易T1和下一位所有者(B)的公钥(俗称:地址)签署一个随机散列的数字签名,A将此数据签名制作为交易单T2并将其(交易单T2)广播全网,电子货币就发送给了下一位所有者。
交易要点:
- 交易发起者的私钥:私钥为个人所知,他人无从知晓。
- 前一次交易:前一次交易数据说明了该次交易的货币的来源(这部分货币是怎么到当前发起人这里来的)。
- 下一位所有者的公钥:即交易接收方的地址,此数据说明了当前交易的目标是谁。
- 数字签名:发起方将前一次交易数据和接收方公钥连接起来并对其求Hash值x,再利用自己的私钥对x加密,便得到了这份数字签名。
交易单:
记录一笔交易的具体信息,比如付款人(交易发起方的公钥)、收款人(交易接收方的公钥)、付款金额(上一笔交易信息)、付款人签名(加密后的Hash值)等。
比特币网络中,数据以文件的形式被永久记录,称之为区块(Block)
比特币体系的设计要求:
Block应由那些最诚实最勤劳的节点产生,因而引入工作量证明(Proof Of Work,POW)机制。比特币体系倾向于认为:一个节点在提供信息之前付出了巨大的工作量,那么他可能是诚实的概率比较高(他提供的Block中数据最有可能没有问题,当然无论如何其他节点也是会对其进行检查的)。
挖矿过程:
反复去尝试寻找一个随机数(又称“幸运数”),使得将最后一个Block的hash值、当前世界中尚未被加入到任何Block的交易单、随机数三部分组织起来送入SHA256算法计算出散列值X(256位),如果X满足一定条件(比如前20位均为0),那么该节点初步获得创建Block的权利。
Block链分支:
某一节点若收到多个针对同一前续Block的后续临时Block,则该节点会在本地Block链上建立分支,网络会根据下列原则选举出Best Chain:
- 不同高度的分支,总是接受最高(即最长)的那条分支
- 相同高度的,接受难度最大的
- 高度相同且难度一致的,接受时间最早的
- 若所有均相同,则按照从网络接受的顺序
- 等待Block Chain高度增一,则重新选择Best Chain
二、区块链技术
区块链技术的4个基本性质:
- 点对点对等网络
- 数据可验证
- 共识机制
- 奖励合作的制度设计
三、区块链与未来
区块链技术发展的三个阶段(领域):
货币→合约→治理
货币:
货币的发行机制
货币的分配机制
货币的币值调节机制合约:
股权
债权
博彩
证券与金融合约
防伪······治理:
身份认证
健康管理
公证、见证
人工智能
司法仲裁
去中心化自治组织
投票
2.学习中遇到的问题及解决
- 问题1:各种区块链的区别对比?
- 问题1解决方案:
公链
公链是公共区块链的简称,目前公链作为区块链的基础设施不断建设中,任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链——共识过程决定哪个区块可被添加到区块链中。
公链主要采取了工作量证明机制(POW)、权益证明机制(POS)、股份授权证明机制(DPOS)等方式,并将挖矿奖励和加密数字计算结合了起来,通过建立一个平等的原则,就是每个人都可以通过计算工作俗称挖矿,从而获得与工作量成正比的经济奖励,通常这些区块链在拥有大量的节点后会被认为是完全去中心化的。
- 特点:
1.开源系统:整个系统运作规则公开透明;
2.去中心化:在公有链中程序开发者无权干涉用户;
3.人人可参与:拥有足够技术能力的人都可以参与;
4.匿名:任何交易都是可以查询到,唯独隐匿其背后的主人;
在Tokenview官网就可以看到现在主流的八大公有链:BTC, ETH, BTH,ETC,EOS等
私链
私链是完全私有区块链的简称,指其写入权限仅在一个组织或者少数人手里的区块链。其读取权限或者对外开放,或者被任意程度地进行了限制,相关的应用包括数据库管理、审计、甚至一个公司,尽管在有些情况下希望它能有公共的可审计性,但在很多的情形下,由于中心化其公共的可读性并非是必须的。
- 特点:
1.交易速度快:少量的节点也都具有很高的信任度,并不需要每个节点来验证一个交易。其交易速度可以比任何其他的区块链都快,甚至接近了并不是一个区块链的中心化常规数据库的速度。
- 隐私性好:私有链使得在那个区块链上的数据隐私政策有保障,而且这个数据不会公开地被拥有网络连接的任何人获得。
3 .交易成本低:交易成本大幅降低,私有链上进行交易手续费可以说非常廉价。
联盟链:
联盟链是联盟区块链的简称,是指其共识过程受到预选节点控制的区块链,因为其具有联盟性,所以其开放程度和去中心化程度是有所限制的,其参与者是被提前筛选出来或者直接指定的,其交易数据的读取权限可能是公开的,也可能像写入权限一样只限于系统的参与者。
- 特性:
- 交易成本较低:交易只需被几个受信的高算力节点验证就可以了,而无需全网确认,计算成本较低;
- 节点容易连接:若是出了问题,联盟链可以迅速通过人工干预来修复,并允许使用共识算法减少区块时间,从而更快完成交易;
3.灵活性较强:运行联盟区块链的共同体的公司可以很容易地修改该区块链的规则,还原交易、修改余额等。
- 问题2:产生一个比特币的完整过程是怎样的?
- 问题2解决方案:一个Block被创建后,这个Block里初始就有钱(归创建这个Block者所有)
第0个 – 第21万个Block,每个Block里有50个比特币
第21万-第42万个Block,每个Block里有25个比特币(2016年)
依次递减,最后比特币全网中只会有2100万个比特币一个Block被创建后,这个Block里初始就有钱(归创建这个Block者所有)
第0个 – 第21万个Block,每个Block里有50个比特币
第21万-第42万个Block,每个Block里有25个比特币(2016年)
依次递减,最后比特币全网中只会有2100万个比特币
3.本次讲座的学习感悟、思考等)
目前,区块链技术的研究和应用已经从数字货币领域逐渐进入金融、教育、医疗、公共服务等领域,正在国内外掀起一股探索研究的热潮。然而,现有研究大多集中在简单的概念性问题,对区块链还缺乏一个系统的认知框架。
4.Blockchain最新研究现状
根据老师上课内容,选择其中一个研究方向或者研究点,查阅2018年至少5篇顶级会议/期刊论文,概述下当前最新研究进展(要求给出论文的题目、顶级期刊或会议名称、作者等信息,然后介绍相关研究进展)。
一、论工作区块链证明的安全性和性能
诸如比特币和250个类似的替代币之类的加密货币在其核心处体现了区块链协议 - 一种用于计算节点的分布式网络的机制,以周期性地就一组新交易达成一致。
设计安全的区块链协议依赖于安全方面的开放性挑战:即设计一种可被拜占庭或任意恶意节点操纵的高度可扩展协议协议。
比特币的blockchain协商协议表现出安全性,但不能扩展. 在本文中,我们提出了一种新的分布式协议协议,用于无权限的区块链,称为ELASTICO。 ELASTICO对可用于挖掘的计算几乎线性地缩放事务率:网络中的计算能力越大,每单位时间选择的事务块的数量越多。
二、Hyperledger结构:用于许可区块链的分布式操作系统
区块链技术正在风靡全球。公共区块链(如比特币和以太坊)可实现安全的对等应用,如加密货币或智能合约。他们的安全性和性能得到了充分研究本文涉及最近设计的具有更强安全性(信任)假设和性能要求的私有区块链系统。这些系统的目标和目的是破坏迄今已实现了数据库系统之上,对于考试PLE银行,网络连接和南斯交易应用的应用程序。私人blockchains多个平台正在积极开发和FINE调整。然而,有一个明显缺乏一个系统的框架与双FFerent系统可以分析和相互比较的。这样的框架可用于评估区块链作为另一个分布式数据处理平台的可行性,同时帮助开发人员识别瓶颈并相应地改进他们的平台。在本文中,我们首先描述BLOCKBENCH,为分析民营blockchains的第一个评价框架。它作为一个双FFerent平台比较公平的方法,使的双FFerent系统设计选择更深入的了解。任何私有区块链都可以通过简单的API集成到BLOCKBENCH,并针对基于真实和合成智能合约的工作负载进行基准测试。BLOCKBENCH在吞吐量,延迟,可扩展性和容错性方面衡量整体和分量性能。接下来,我们使用BLOCKBENCH对三个主要的私有区块链进行综合评估:以太坊,奇偶校验和HyperledgerFabric。结果表明,这些系统仍远未取代传统数据处理工作负载中的当前数据库系统。此外,在性能上其在blockchain的软件栈的二FFerent层归因于设计选择这三个系统之间的间隙。我们已经发布BLOCKBENCH供公众使用。
三、区块链超越比特币
BLOCKCHAIN技术作为比特币等加密货币的基础引起了人们的关注,但其功能远远超出了这一范围,使现有技术应用得到极大改进,以及以前从未实际应用的新应用。 区块链也称为分布式分类帐技术,预计将彻底改变工业和商业,并在全球范围内推动经济变革,因为它是不可变的,透明的,重新定义信任,实现安全,快速,可信和透明的公共或私人解决方案。 它可以使发展中国家的人民具有公认的身份,资产所有权和金融包容性; 它可以避免重演2008年的金融危机,支持有效的医疗保健计划,改善供应链,并可能清理钻石交易等高价值业务中的不道德行为。 与互联网一样,区块链是一个开放的全球基础设施,允许公司和个人进行交易以削减中间人,降低交易成本和通过第三方工作的时间。 该技术基于分布式账本结构和共识流程。 该结构允许在网络上的分布式计算机之间创建和共享数字交易总帐。 分类帐不由一个中央机构或公司拥有或控制,并且可以由网络上的所有用户查看。 当用户想要将事务添加到分类帐时,交易数据由网络上的其他计算机使用加密算法进行加密和验证。 如果大多数计算机之间达成共识,那么交易是有效的,一个新的数据块被添加到链中并由网络上的所有人共享。
事务是安全的,可信的,可审计的和不可变的。 他们还避免需要大量的,通常是重复的文档,第三方干预和补救。 Blockchains可以是公共和 unpermissioned,允许任何人使用它们(比特币是一个很好的例子)或私人并将相关权限,创建知名参加工作,也许是一个封闭的群体,在特定行业或供应链。
四、开放区块链的安全分片协议
Fabric也是第一个运行分布式应用程序的区块链系统,它是标准的,通用的程序设计语言,没有对本地加密货币的系统依赖。 这与现有的区块链平台形成了鲜明的对比,后者需要将“智能合约”写入特定领域的语言中,然后才能进行特定的语言管理 。通过对行业 - 标准同一性管理的整合,可以实现对成员资格的认可。为了实现这种灵活性,通过简单的区块链设计和严格的区块链,以及不确定性,资源消耗和性能攻击。 本文描述了Fabric,它的体系结构,各种设计决策背后的基本原理,其最重要的实现方面,对于个人或者课堂使用的部分工作的许可,对于个人的课堂使用情况进行了分析。
五、BLOCKBENCH:分析私有区块链的框
目前blockchain平台,特别是近期权限的系统,具有结构上的限制:智能合同顺序运行,所有节点执行所有的智能合同,达成共识的协议是硬编码,信任模型是静态的,不灵活的,和非确定性的SMART-合同执行带来严重问题。克服这些限制是用于提高blockchains,如CON组fi保密性和一致性,以及它们的非功能特性,如性能和可伸缩性的两个功能性质的关键。我们在许可区块链的上下文中讨论了这些限制,包括HyperledgerFabric区块链平台的早期版本,以及HyperledgerFabric架构的重新设计如何解决这些问题。
参考资料
- 论工作区块链证明的安全性和性能
- Hyperledger结构:用于许可区块链的分布式操作系统
- 区块链超越比特币
- 开放区块链的安全分片协议
- BLOCKBENCH:分析私有区块链的框架