疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)

上传人:蜀歌 文档编号:149219303 上传时间:2020-10-25 格式:PDF 页数:27 大小:1.03MB
返回 下载 相关 举报
疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)_第1页
第1页 / 共27页
疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)_第2页
第2页 / 共27页
疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)_第3页
第3页 / 共27页
疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)_第4页
第4页 / 共27页
疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)》由会员分享,可在线阅读,更多相关《疯狂者游戏——全网唯一不可伪造数据比特币原理(概述)(27页珍藏版)》请在金锄头文库上搜索。

1、疯狂者游戏全网唯一 不可伪造数据比特币原理 (概述) 中山大学计算机(研) 张小秋2014-10-70 “比特币”是什么? 2014-10-7张小秋1 比特币是一种虚拟货币虚拟货币(数字货币)。 比特币是一种由开源的P2P软件产生的电子币,数字币,是一种网络虚 拟资产。比特币也被意译为“比特金”。比特币基于一套密码编码、通过 复杂算法产生,这一规则不受任何个人或组织干扰,去中心化;任何人 都可以下载并运行比特币客户端而参与制造比特币;比特币利用电子签 名的方式来实现流通,通过P2P分布式网络来核查重复消费。每一块比 特币的产生、消费都会通过P2P分布式网络记录并告知全网,不存在伪 造的可能。

2、比特币的特点: 1.数字货币。 2.不依托于任何国家或组织而利用计算机技术独立发行。 3.通过P2P分布式技术实现,无中心点。 4.所有人均可自由的参与。 5.总量有限,不可再生。 6.本身机制开源,可以被山寨。 比特币的特点延伸 2014-10-7张小秋2 1.较大的政策风险,国家组织是否会承认? 目前德国是唯一承认比特币具有合法货币地位的国家。 美国表达了支持的态度。 2.安全性如何得到保证,被盗了谁来给你找回? 11年MyBitcoin遭遇黑客攻击,7.8W比特币至今下落不明。 3.总量有限决定了比特币极具投机色彩,价格犹如失控的过山车。 10年比特币仅为数美分一个,13年3月突破45美

3、元/个, 13年11月突破800美元/个。 4.山寨币是否对比特币的生态造成威胁? 山寨币层出不穷,目前发展的比较好的山寨币有LTC(莱特币)。 5.比特币本身机制是否存在未发现的致命漏洞? 比特币机制从目前来看似乎是“精妙绝伦、无懈可击、堪称神作”, 但它毕竟仅存在了不到5年(09-13)。 比特币的技术原理 2014-10-7张小秋3 08年,一个名为“中本聪中本聪”的人在网络上发表了一篇论文比特币:一种 点对点的电子现金系统 比特币:一种 点对点的电子现金系统(Bitcoin:A Peer-to-Peer Electronic Cash System) “中本聪”是谁?“中本聪”是个匿名

4、,无人知道其背后的真人是谁。 “中本聪”本人在完成了比特币的基本构建后就从网络上销声匿迹了,在 偶尔的时候会出来冒个泡(比如有人呼吁维基解密应当接受比特币捐款 时,“中本聪”说“不,不要这样。” 利用比特币进行的第一笔交易是在10年,一名用户通过发送10000枚 比特币购买了一个披萨。 比特币的技术原理(交易) 2014-10-7张小秋4 如何交易:每一位所有者(A)利用他的私钥私钥对前一次交易T1和下一位 所有者(B)的公钥公钥(俗称:地址)签署一个随机散列的数字签名数字签名,A将 此数据签名制作为交易单T2并将其(交易单T2)广播全网广播全网,电子货币就发 送给了下一位所有者。 要点: 1

5、.交易发起者的私钥:私钥为个人所知,他人无从知晓。 2.前一次交易:前一次交易数据说明了该次交易的货币的来源(这部分货 币是怎么到当前发起人这里来的)。 3.下一位所有者的公钥:即交易接收方的地址,此数据说明了当前交易的 目标是谁。 4.数字签名:发起方将前一次交易数据和接收方公钥连接起来并对其求 Hash值x,再利用自己的私钥对x加密,便得到了这份数字签名。 比特币的技术原理(交易) 2014-10-7张小秋5 比特币的技术原理(交易) 2014-10-7张小秋6 验证交易: 1.利用交易T2中交易的发起方A的公钥对签名进行解密,得到整数x。 2.将T1交易数据和B的公钥连接起来,用同样的H

6、ash算法计算Hash值y。 3.若x=y,说明: a.这笔交易确实是A本人发起的,因为只有A本人的私钥才可以生成此 签名(A同时也无法否认自己曾签署了此份交易)。 b.交易的目的方确实是B。 c.发起方确实是打算把交易T1中A获得的货币发送给B。 比特币的技术原理(交易单与Block) 2014-10-7张小秋7 交易单记录一笔交易的具体信息,比如付款人(交易发起方的公钥)、收款人 (交易接收方的公钥)、付款金额(上一笔交易信息)、付款人签名(加密后的 Hash值)等。 比特币虽然是电子货币,但比特币系统中并没有特定的数据结构用来单纯代表货 币。本质上,比特币的存在是通过交易单来提现。通俗的

7、来讲,现实生活中我们 有实在的纸张来代表我们的货币(比如面值10块的RMB纸张代表着10块钱 RMB),当我们去银行核对财务时银行也提供对账单来表示我们的货币去留。 比特币的提现依托于交易单,交易单类似于银行的对账单,其通过记录货币的去 留来证明你有多少货币,而不是提供给你具体的货币单元。 交易单类似于银行的对账单,其通过记录货币的去 留来证明你有多少货币,而不是提供给你具体的货币单元。 比特币的技术原理(交易单与Block) 2014-10-7张小秋8 Block(块、账簿):记录交易单的数据单元叫做Block,一个Block上会记录很多 交易单。 Block有很多份,每个每个Block只记

8、录比特币全网只记录比特币全网10分钟内的交易信息,每约分钟内的交易信息,每约10分 钟产生一个新的 分 钟产生一个新的Block。 截止2013年11月24号10:24,全网已有27192个Block被生产出来。 生产Block的过程,被形象 的称为“挖矿”,生产工也被 称为“矿工”。 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋9 Block怎么来的:通过复杂的密码学计算产生,计算过程即“挖矿”。 钱(比特币)怎么来的: 一个Block被创建后,这个Block里初始就有钱(归创建这个Block者所有) 第0个 第21万个Block,每个Block里有50个比特币 第21

9、万-第42万个Block,每个Block里有25个比特币 依次递减,最后比特币全网中只会有2100万个比特币 等比数列求和公式: 比特币总数 = 21W * Sn = 21W * 50 /0.5 = 2100W 币,(lim(1 qn)=0) 最后比特币的实际可用个数应少于2100W,因为会有 部分币随着拥有者的密钥丢失而永远的无法流通(尽 管记录这些币的交易单还在,但谁也无法使用它) 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋10 Block的产生细则: 全网每十分钟(算法动态调节至约十分钟产生一个)产生一个新的 Block,每个新的Block含有的一定数额的比特币归

10、创建者所有,此规则称为“激 励”。 比特币体系的设计要求: Block应由那些最诚实最勤劳的节点产生,因而引入工作量证明工作量证明机制。 比特币体系倾向于认为:一个节点在提供信息之前付出了巨大的工作 量,那么他可能是诚实的概率比较高(他提供的他提供的Block中数据最有可 能没有问题,当然无论如何其他节点也是会对其进行检查的 中数据最有可 能没有问题,当然无论如何其他节点也是会对其进行检查的)。 具体产生原理: 节点尝试寻找一个随机数(又称“幸运数”),使得将最后一 个Block的hash值、当前世界中尚未被加入到任何Block的交易单、随 机数三部分组织起来送入SHA256算法计算出散列值X

11、(256位),如 果X满足一定条件(比如前20位均为0),那么该节点初步获得创建 Block的权利。 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋11 SHA256简介(密码学范畴): SHA256是一种求Hash值的算法,将任何一串数据输入到SHA256将得 到一个256位的Hash值(散列值),相同的数据输入将得到相同的结果。 输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的 结果,且结果无法事先预知(雪崩效应雪崩效应)。 正向计算正向计算(由数据计算其对应的Hash值)十分容易。 逆向计算逆向计算(俗称“破解”,即由Hash值计算出其对应的数据)极其

12、困难, 以至于在当前科技条件下被视作不可能。 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋12 挖矿过程实际上就是反复去尝试寻找一个随机数挖矿过程实际上就是反复去尝试寻找一个随机数,该随机数加上其他数据 后,SHA256算法计算它们的Hash值X,该X必须满足特定条件。 矿工为寻找该随机数而付出的劳动被看成是为生产新的Block而付出的工作 量,通常需要反复尝试上亿次才能成功找到一个满足条件的随机数(小道消息: 据说全世界至少有500台超级计算机被低调的拿来干这事)。 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋13 如何破解摩尔定律摩尔定律? 比特

13、币体系要求平均10分钟才可产生新的Block,但是在计算机硬件日 新月异的今天,如何做到这点? 戈登摩尔(Inter创始人之一)指出(摩尔定律摩尔定律): 集成电路上可容纳的电晶体数目,约每隔24个月便会增加一倍。 通俗的理解是:计算机的性能,每隔18个月会提高一倍。 摩尔中本聪 比特币的技术原理(Block的产生挖矿) 2014-10-7张小秋14 工作量证明难度系数难度系数: 对于每个Block存在一个难度系数,此系数可以转换为一个256位的整 数,挖矿计算出的Hash值X必须小于该整数,此条件作为寻找随机数的附加条 件。 当某时刻网络检测到新Block的产生速度不符合约10分钟一个时,将

14、调解 该系数(加大或者缩小),从而使下一个Block的产生速度符合预期。 全网每2周检测一次Block产生速度并依此对难度系数进行调节 使得Block产生速度符合预期。 每个Block会记录其本身产生时的难度系数数值,因此每个节点 都可以根据历史Block计算出当前的难度系数。 比特币的技术原理(Block的组织方式:Block链) 2014-10-7张小秋15 Block链: 所有的Block以双向链表的方式链接起来,且每个每个Block都会保存其上一 个 都会保存其上一 个Block的的Hash值(这样值(这样Block之间的顺序一旦确定就无法更改)之间的顺序一旦确定就无法更改)。只有一个

15、 Block无上一节点,即:创世Block(第一个Block)。 Block链全网唯一,每个节点都有相同的备份。Block链一旦有更新则全 网通知。 比特币的技术原理(Block链的那些事儿) 2014-10-7张小秋16 Block链的更新: 每当节点(矿工)计算出了一个符合条件的随机数时,它仅仅获得了创 建临时 它仅仅获得了创 建临时Block的权利的权利,它立即将相关数据打包好作为一个临时Block并广播全网。 每10分钟内全网不止一个节点能计算出幸运数字,即十分钟内会有多个 节点在网络中广播它们各自打包好的临时Block(都是合法的)。通过谁先计算出 谁后计算出来决定接受谁的临时Blo

16、ck转正显然很难做到,因为所有节点的时间不 可能严格一致(而且可以任意被调节),而且网络传输有快有慢。 Block链分支: 某一节点若收到多个针对同一前续Block的后续临时Block, 则该节点会在本地Block链上建立分支,多个临时Block对应多个分 支。 比特币的技术原理(Block链的那些事儿) 2014-10-7张小秋17 全网唯一的Block链是那支付出最大计算力的分支,也即最长分支最长分支。 节点总在它认为最有可能成为最长分支的分支上继续工作(否则一旦当前工作的 分支被其他分支淘汰,那么当前做的计算工作会前功尽弃)。 节点按照以下原则决定在哪条分支(最大期望分支最大期望分支)上继续工作: 1.不同高度的分支,总是接受最高的分支。 2.相同高度,接受难度最大的。 3.否则接受先收到的。 每当Block链高度增加,则重新选取最大期望分支(以分支的实际增长速度为 准),当某分支的高度稳定的高于其他分支时,其他分支将会被网络彻底抛弃。 比特币的技术原理(Block链延伸) 2014-10-7张小秋18 按照上述原则工作的节点被称为“诚实

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号