资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
区块链技术调研报告课 程: 老 师: 组 号: 组 员: 院 系: 计算机科学学院2018年3月22日目录一、区块链的起源1二、区块链的发展历程1三、区块链原理13.1 什么是中心化?23.2 为什么要去中心化?23.3 谁还可以依靠?4四、区块链技术74.1 技术特点74.2 公有链、私有链、侧链84.3 关键技术94.3.1、采用工作量证明达到去中心化及公正性104.3.2 每笔交易采椭圆曲线数位签章演算法加密114.3.3 Hashcash演算法及多种Hash函数确保资料不被窜改114.3.4 经由Merkle Tree将大量讯息缩短成一个Hash值124.3.5 用时间戳伺服器(Timestamp Server)确保区块序列12五、区块链存在的问题12六、区块链的研究方向13一、区块链的起源2008年,区块链技术奠基性论文比特币: 一种点对点电子现金系统横空出世,该文作者中本聪首次提出了区块链的概念。中本聪认为首先,在中心化的体系内,价值分散在各中心手中,由于各中心的系统不同,各中心的互通成本非常大;其次,由于少数中心化的机构掌握了多数的价值,因此价值的流通受制于中心化机构的体系要求,造成了一种高成本、低效率的运作现状;最后,由于所有数据均存储于中心化机构中,更容易遭恶意破坏者的篡改。基于上述现存的问题,中本聪在区块链技术的基础上,创建了比特币,也正是比特币网络使得区块链进一步完善并正式进入了公众视野。目前,以太坊、超级账本Fabric等的许多应用已经开始出现在生活中。区块链技术是构建比特币数据结构与交易信息加密传输的基础技术,该技术实现了比特币的挖矿与交易。区块链技术是指通过去中心化的方式集体维护一个可靠数据库的技术方案。该技术方案主要让区块(Block)通过密码学方法相关联起来,每个数据块包含了一定时间内的系统全部数据信息,并且生成数字签名以验证信息的有效性并链接到下一个数据块形成一条主链。通过区块链技术,互联网上的各个用户成为一个节点并相互连接起来,所有在此区块链架构上发布的内容都会在加密后被每一个节点接收并备份,换而言之每一个节点都可以查看历史上产生的任何数据。各节点将加密数据不断打包到区块中,再将区块发布到网络中,并按照时间顺序进行连接,生成永久、不可逆向的数据链,这便形成了一个公开透明的受全部用户的监督的区块链。二、区块链的发展历程2009-2012年,经济形态以比特币及其产业生态为主;2012-2015年,区块链随着比特币进入公众视野,新生的钱包支付和汇款公司出现,区块链经济扩散到金融领域。区块链底层技术创新不断。区块链技术从比特币系统中剥离出来。2016年开始探索行业应用,出现了大量区块链创业公司。2017年ICO的火热让区块链受到前所未有的关注。那么,产生的区块链具有什么价值呢?实际上这从区块链的特性上就可以得出结论:去中心化、交易点对点、不可篡改的特性可以实现机器信任;交易不可逆、信息加密的特性可以实现价值传递;此外信息点对点、不可篡改等还可以实现智能合约。三、区块链原理 区块链(Block Chain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案让参与系统中的任意多个节点(电脑),把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的指纹用于链接(chain)下个数据块和校验,系统所有参与节点来共同认定记录是否为真。区块链的概念首次于2008 年 11 月 1 日在论文比特币:一种点对点的电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)中提出,作者为自称中本聪(Satoshi Nakamoto)的个人(或团体)。上面听起来是不是很拗口?这样表达会不会好点:区块链本质上是一个去中心化的分布式账本数据库,其本身是一串使用密码学相关联所产生的数据块,具体来讲:一个随机哈希算法的结果,它唯一做的事情就是获得一些输入然后进行计算,并得到一串64位的随机数字和字母的字符串,每一个数据块中包含了多次比特币网络交易有效确认信息,区块链就是由一连串、不重复、的数据块组成的。3.1 什么是中心化?要在淘宝上买一台电脑,交易流程是:你将钱打给支付宝支付宝收款后通知卖家发货卖家发货你确认收货支付宝把钱打给卖家。在这个过程中,虽然你是在和卖家交易,但是这笔交易还牵扯到了除了你和卖家的第三方,即支付宝,你和卖家的交易都是围绕支付宝展开。因此,如果支付宝系统出了问题便会造成这笔交易的失败,因此考虑极端情况,如果支付宝跑路了或者是拿了钱不却不承认你的交易或者是支付宝所在的城市因为开G20把所有人都赶走了,那么就。在金融领域中,中心化的例子就更多了:1、银行作为中心平台嫁接借贷双方2、交易所作为中心平台嫁接投资人和上市公司3、SWIFT作为中心平台嫁接A国家的支付机构和B国家的支付机构这样不是挺好的嘛?为啥要去中心化?3.2 为什么要去中心化?(1)心化的处理方式就要显得简单很多,就拿你在淘宝上买电脑的事情举例,你只需要和卖家交换钱和电脑,然后双方都声称完成了这笔交易,结束。其实如果只考虑两个人的交易并不能把去中心化的好处完全展示出来,设想如果有成千上万笔交易在进行,去中心化的处理方式会节约很多资源,使得整个交易自主化、简单化。(2)安全可靠。在区块链系统中,整个网络没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,所有的节点都有能力去用计算能力投票,从而保证了得到承认的结果是过半数节点公认的结果。即使遭受严重的黑客攻击,只要黑客控制的节点数不超过全球节点总数的一半,系统就依然能正常运行,数据也不会被篡改。(3)去信任化,公开透明。传统的交易建立在信任的基础之上,尽管信任中心平台获取了大量信息,但是从中流出的、披露的信息却极为有限,导致大量数据被浪费和隐藏。参与区块链系统的每个节点之间进行数据交换则无需互相信任。在区块链系统中,因为整个系统的运作规则是透明的,所有的数据内容也是公开的,因此在系统指定的规则范围和时间范围内,节点之间不能也无法相互欺骗。(4)集体维护,降低成本。在中心化网络体系下,系统的维护和经营依赖于数据中心等平台的运维和经营,成本不可省略。区块链则构建了一整套协议机制,系统中的数据块由整个系统中所有具有维护功能的节点来共同维护的。这些具有维护功能的节点是任何人都可以参与的,每一个节点在参与记录的同时也来验证其他节点记录结果的正确性,维护效率提高,成本降低。(5)排除了被中心化代理控制的风险。图23.3 谁还可以依靠?但是如果没有了中心监管平台支付宝、银行、交易所、SWIFT等权威机构,怎么能保证每笔交易的准确性和有效性呢?你付了钱收不到货怎么办?或者你借给张三钱,张三后来不承认怎么办?这就引出来一个著名的难题:拜占庭将军问题(Byzantine failures),简单来讲,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。 这个难题也被称为“拜占庭容错”或者“两军问题”,(百度百科有详细解释,此处就不赘述了)此问题是由莱斯利兰伯特提出的点对点通信中的基本问题,含义是在存在消息丢失的不可靠信息通道上试图通过消息传递的方式达到一致性是不可能的。因此对一致性的研究一般假设信息通道是可靠的,或不存在本问题,但实际上,信息通道往往是不可靠的, 怎么来解决这个问题呢?。简单答案就是“群众一起监管”但是群众监管怎么来实现呢?举个“栗子”我们先来建立一个去中心化的借贷系统:1、如果A借了B 100块钱,这个时候,A在人群中大喊“我是A,我借给了B 100块钱!”,B也在人群中大喊“我是B,A借给了我100块钱!”,此时路人甲乙丙丁都听到了这些消息,因此所有人都在心中默默记下了“A借给了B100块钱”。请注意:这个时候一个去中心化的系统就建立起来了,这个系统中不需要银行,也不需要借贷协议和收据,严格来说,甚至不需要人与人长久的信任关系(比如B突然又改口说“我不欠A钱!”,这个时候群众就会站出来说“不对,我的小本本上记录了你某天借了A100块钱!”)。2、在上述的模型中,所谓的“100块钱”已经不重要了。换句话说,任何东西都可以在这个模型中交换,甚至A可以凭空创造一个东西,只要大家承认,A就可以让这个东西流通。比如:A在人群中高喊一声“我创造了50个DX!”,A甚至不需要知道DX是什么,也不需要关心世界上是不是真的有DX,只要大家都听到,然后在自己的小本本上记下“A有50个DX”,于是A就真的有50个DX了。从此以后,A便可以声称A给了某人1个DX,只要路人甲乙丙丁都收到并且承认了这一信息,那A就算完成了这次交易,哪怕世界上没有DX。你现在脑海中是不是浮现出了三个字“比特币”3、假设过了很长一段时间,A凭空创造的DX已经在这个系统中流通了起来,大家都开始认可了DX。但是这个系统中一共就只有50个DX,于是有人动了坏心思,他在人群中高呼“我有10个DX!”怎么办?大家是直接在本本上记下他有10个DX么,这样不是人人都可以伪造DX了么?4、为了防止这种现象发生,A决定在A创造DX的时候打上标记(更准确地说,A是给A喊的那句“我创造了50个DX”打上标记,比如标记为001),这样以后在每一笔交易的时候,A在高喊“A给了某某1个DX!”的时候,会附加上额外的一句话:“这1个DX的来源是记为001的那条记录,A的这句话标记为002!”。我们再抽象一点,某人喊话的内容的格式就变成了:“这句话编号xxx,上一句话的编号是yyy,再上句话编号是zzz.我给了某某1个DX!”,这样就解决了伪造的问题。其实上述模型就变成一个简化的中本聪第一版比特币区块链协议。 也就是说在群中的监督下,交易发生并且不可被逆转。但是为什么群众愿意帮忙记录呢?5、为什么群众会听话记账?为了激励群众帮A传话和记账,A决定给第一个听到他喊话并且记录在小本本上的人奖励:1个DX,这个DX是整个系统对你幸苦记账的报酬,而你记录了这句话之后,要马上告诉其它人你已经记录好了,让别人放弃继续记录这句话,并给你自己的记录编号让别人有据可查,然后你再把A的话加上你的记录编号一起喊出来,供下一个人记账。当这个规则定下以后,这个系统中一定会出现一批人,他们开始竖着耳朵监听周围发出的声音,以抢占第一个记账的权利。对的,你脑海中是不是又浮现出了“比特币挖矿”的字眼?关于比特币挖矿,有个很形象的例子:单身汪们要找女票,国民岳母说我有好多女儿,这样吧我给你们出点题目,解出一个就给其中一个姑娘的微信号。单身汪们疯狂竞争,想破脑袋去解题。只要其中一只汪解出一道题,就立马得意洋洋地昭告天下,示威全部单身汪,这个姑娘是我的啦,你们放弃吧。其他单身汪们即使不服也没有办法,惆怅懊恼也不是个事儿啊,还是麻溜地立马去解下一道题目吧。这只喜赢姑娘的幸运小汪被岳母认可后还能得到25个货币单位的彩礼,简直人生赢家。6、群众听谁的?在这个系统中,如果A和另一个人C几乎同时地喊出一句:“我看到了!”。由于听众所处的位置不同,一定会有人先听到A说的那句话,而另外一些人则先听到C的那句话,如果
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号