版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
建链与应用演练课程回顾区块链哈希区块P2P时间戳非对称加密POWPOSDPOS记账方式智能合约UTXO发行机制扩容隔离见证51%攻击以太坊1.搭建区块链课程内容节点的定义节点的创建节点配置文件Nodeid定义Nodeid生成过程Nodeid作用区块链地址定义区块链地址生成过程区块链地址作用配置文件的内容配置文件的作用主节点唯一性以百度超级链为公链搭建测试链创世区块的作用创世区块包含的内容创世区块的生成过程组建P2P网络如何启动节点运行节点的作用公私钥的作用账号生成过程公私钥生成发起交易需要具备哪些条件如何在区块链上发起交易如何验证区块链搭建成功创建节点目录创建创世区块生成节点nodeid运行节点获取节点地址创建节点账号统一节点conf配置验证节点间信息是否同步掌握区块链节点的概念、作用,从区块链的角度理解节点的含义区块链公私钥、地址生成过程以及作用,掌握其在交易过程中的关键点搭建区块链的过程以及目的,能够结合实际额应用加以学习区块配置的过程,创世区块、区块头等包含的信息理解并掌握矿工、P2P网络、共识机制等技术点的配置理解整个建链的步骤,掌握每一步操作要解决的问题Nodeid、地址、账号之间的区分验证区块链搭建成功与否的过程了解了解建链过程中的每一步操作的命令了解生成公私钥的加密方法了解节点地址的生成哈希算法学习目标学习目标01建链导入建链导入-系统架构区块链系统都是有三大件:分布式账本、合约引擎、共识处理器分布式账本解决的是数据的存储问题合约引擎解决的是计算问题共识处理器解决的是一致性问题建链导入-系统架构建链导入-系统架构链内并行技术支持智能合约最大粒度并行执行,并发粒度可以做到交易粒度,并做到及时落盘一体化智能合约技术支持不同的合约虚拟机,也支持用户定义自己的虚拟机可插拔共识技术支持不同的平行链定义不同的共识支持链内共识的热插拔升级去中心化权限系统超级链有合约账号的概念,所有的智能合约都部署在具体的某个账号内部02创建节点目录节点是什么网络节点是指有独立的网络地址和具有传送或接收数据功能的设备。网络拓扑整个网络就是由这许许多多的网络节点组成的,把许多的网络节点用通信线路连接起来,形成一定的几何关系,这就是计算机网络拓扑。区块链节点是什么
区块链中的节点,通常是指下载了相关加密货币(比特币、Ethereum、Monero等)软件,以参与对等网络的计算机。配置文件夹数据文件夹日志文件夹公链的二进制文件支持Http和grpc访问的二进制文件节点的目录名称节点的作用在P2P网络中,参与网络的每一台计算机都可以接收节点的名称。在网络中,所有的节点都有责任提供网络服务。节点可以执行以下功能:路由、区块链数据库、挖掘和钱包服务节点可以是通信端点,也可以是通信的重分发点,链接到其他节点可以检查一个事务块是否有效,并接受或拒绝它主节点主节点验证保存传输事务投票协议操作同步主网区块解压命令切换目录新建文件拓展知识tar-zxvf解压程序安装包unzip(zip)tar–jxvf(tar.bz2)tar-Jxvf(tar.xz)cd切换目录mkdir新建文件夹03生成节点nodeidnodeid是什么定义:nodeid也叫节点编号,节点标识,是标识节点的唯一号。目的:生成节点nodeid的目的在于对我们上一步创建的节点做出唯一性的标识。节点分类全节点全整节点是真正支持并为比特币提供最安全网络的节点,它们是网络必不可少的侦听节点或超级节点是都可公开的全节点。它负责与其他节点建立连结并透过通讯来传递讯息采矿节点是采矿者为了能够在当前的激烈竞争中脱颖而出,首要必然投资在专业特定的采矿硬件和程序上。而这些挖掘程序(软件)跟BitcoinCore没有直接关系,但其特性是能够同时执行尝试采矿和挖掘比特币区块简化式支付验证(SPV)客户端,轻量级客户端属于充分利用比特币网络的客户端,但并不完全充当着全节点的角色。扩展知识生成节点nodeid命令:./Xchain04获取节点地址节点地址的组成获取节点地址01OPTION02OPTION03OPTION区块链地址用于节点在区块链上进行转账、交易的接收地址公钥用于节点在区块链上进行文件加密和数据传输的保密措施私钥用于节点在区块链上解锁账户、发送数据的解密措施节点地址的原理扩展知识获取节点地址的命令:-keys
./data/keys05统一节点conf配置端口号端口概念
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSLModem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。常见端口号01020304P2P网络加入nodeid本地IP地址区块链地址主节点配置主节点唯一,要和其他的节点进行区分,通过配置唯一性来标识。矿工地址矿工地址=节点地址端口号节点之间的端口号,不能冲突。统一配置06创建创世区块创建创世区块创世区块共识机制配置区块链的共识算法采用哪一种矿工地址矿工地址=节点地址创世块地址创世区块地址和主链地址保持一致区块大小定义了区块的容量大小,区块的大小决定了区块中打包的交易数量。区块时间间隔产生区块的时间间隔,规定了产生一个区块所需的时间系统奖励挖矿奖励,对于矿工的激励创建创世区块07运行节点运行节点运行节点:启动节点(主、从),主节点同步主链区块,从节点同步主节点区块目的:运行节点,才能彼此相互发现。运行节点的命令:nohup./xchain&08创建节点账号创建节点账号区块链地址公钥私钥区块链节点在区块链上与其他节点交易、业务往来的入口非对称加密产生的公私钥对,公钥用于全网发送交易时加密用的。非对称加密产生的公私钥对,私钥用于解锁账户、解密数据用的。节点账号09验证节点间信息是否同步验证节点间信息验证节点间信息:验证节点间信息是否同步,是通过发起交易进行测试,新的交易生成,会被打包到区块中。目的:验证测试链是否搭建成功,主从节点是否正常运行。调用发起转账的命令:./xchaintransfer
–to
test
–amount
1调用查询转账的命令:./xchainquerytx--txid471594ea83e6b173ae082641b2d4f1a588b20ba5f143481d12e639ad8cda9490--host:371022.区块链应用演练实训介绍实训案例人商贸企业:采购产品,进行销售,从中赚取差价制造企业:生产产品,卖给商贸企业,赚取利润财金币:作为本实训案例的交易媒介,金币的多少关乎着你的财富值多少,从而也影响你的成绩物平板电脑:本案例以平板电脑的生产销售为基本流通物,平板电脑的包含四种原材料:主板、CPU、外壳、屏幕产生产:制造企业购买原材料进行平板电脑的生产,计算生产成本。供原材料供给:原材料的价格在不断的波动,选择最优时间点进行采购,降低采购成本。销销售:将生产的平板电脑进行销售,从中赚取利润,获得金币。掌握哈希、公私钥、数字签名、激励机制、挖矿等知识点在案例中的应用区块链的技术特征解决了实际中的具体问题区块高度、区块哈希、交易哈希、时间戳在案例中的应用UTXO账户模型在案例中的实际应用理解并掌握非对称加密机制在案例中的作用打包人、记账人等基本概念分布式账本的作用以及应用体现智能合约与共识机制在案例中的体现和作用了解商贸企业、制造企业的运营流程销售订单、入库单等单据的填写矿机、算力、矿工相关知识点学习目标学习目标学习目的学以致用将学习的知识点,通过案例的方式展现出来,帮助学生理解区块链技术的应用场景。巩固知识简单的场景体验,让学生深入到案例中,扮演角色、任务交互。并融入区块链的知识点,巩固所学。激发思考区块链技术特征画布的引入,将整个实训案例进行归纳总结,激发学生对区块链技术特征的思考,并且在总结的过程中培养学生区块链思维。奠定基础本次实训案例的体验,综合了区块链知识和场景设定,让学生学习区块链的技术特征,为之后的区块链金融案例奠定基础。1%3%5%交易金额的百分比手续费5%10%15%交易金额的百分比违约金违约时间交易处理时间3min5min10min合约规则制造企业商贸企业生成公钥、私钥生成公钥、私钥谈判准备:确定各项原材料的价格区间与自己可购买的数量谈判准备:确定产品出售价格区间与自己可购买的数量商业谈判:确定出售产品的数量和单价商业谈判:确定购买产品的数量和单价购买原料:根据谈判结果,购买原材料购买产品:根据谈判结果,想制造企业发出购买申请开始生产、确认申请并发货确认制造企业发来的货品确认货款是否到账产品出售,并查看盈利金额操作流程知识点在区块链应用演练中,你使用到了前面学到的哪些区块链知识点?技术特征它们分别体现了区块链哪些技术特征?完成作业小组分享评分标准序号评分项分数1介绍组名12台风台貌自然声音洪亮逻辑清晰介绍准确23发言每组上台3人每人都有发言24内容特征标注完整特征标准准确知识点分析全面5区块链基础区块链基础记账方式POSPBFT比特币区块链结构时间戳区块链基本认知区块POW智能合约非对称加密哈希DPOS以太坊传播机制(P2P)Merkle树结构UTXO掌握区块链的定义与基本组成,并掌握其设计的目的哈希的作用与技术特征,区块链引用哈希技术的关键点POW共识机制的技术定义、作用以及经济学原理时间戳的技术定义、分类以及现实意义UTXO账户模型的设计原理以及与传统的区别和价值理解并掌握传输机制的定义与现实意义,区块链采取P2P传输的作用数字证书、数字签名的金融价值和信息价值PBFT容错机制的适用范围以及基本原理智能合约的技术定义、作用、意义以及解决的现实问题了解区块链发展过程中的人物贡献,包括中本聪、尼克萨博等比特币区块链的记账方式,其设计原因与目的比特币区块链对数字货币的发行方式区块链现存的风险与容量问题POS/DPOS其技术定义,以及解决的现实问题学习目标学习目标01区块链基本认知区块链是什么Technical
versionBProfessionalversionDDevelopment
versionCGeneralversionA区块链是什么区块链≠新技术A区块链没有交易中介区块链>记账方式C去除第三方中介记账降低了中心崩溃的风险2008年区块链产生区块链是多种技术的组合区块链的最主要的用途是分布式记账区块链不仅仅是用来记账的竞争记账保证账本的一致性把交易数据打包到区块中竞争记账(不是唯一的记账方式)DB区块链是什么哈希02哈希哈希算法的定义哈希算法是一种只能加密,不能解密的算法。把任意长度的信息通过哈希算法,可以转换成一段固定长度的字符串,这个字符串就是哈希值。哈希算法的特点1不可逆2无冲突3哈希值长度固定哈希算法作为区块链的加密算法,具备以下几个特点:哈希碰撞完整性与实体认证密码哈希函数是一类数学函数,可以在有限合理的时间内,将任意长度的消息压缩为固定长度的二进制串,其输出值称为哈希值,也称为散列值哈希碰撞碰撞是与哈希函数相关的重要概念,体现着哈希函数的安全性,所谓碰撞是指两个不同的消息在同一个哈希函数作用下,具有相同的哈希值。现在请同学们思考一个问题:为什么在区块链中要使用哈希呢?思考区块03区块区块是什么1在哈希的基础上增加了BlockID、Nonce23点击按钮后,Nonce值变化且恢复到期初颜色在体验完区块工具之后,总结一下区块是什么?在Data中输入内容后,Hash变化且区块变红版本号前一区块哈希默克尔根时间戳难度值随机数Merkle树结构04Merkle树Merkle树
MerkleTree,通常也被称作HashTree,顾名思义,就是存储hash值的一棵树。Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。Merkle树MerkleTree可以看做HashList的泛化(HashList可以看作一种特殊的MerkleTree,即树高为2的多叉MerkleTree)。在最底层,和哈希列表一样,我们把数据分成小的数据块,有相应地哈希和它对应。但是往上走,并不是直接去运算根哈希,而是把相邻的两个哈希合并成一个字符串,然后运算这个字符串的哈希,这样每两个哈希就结婚生子,得到了一个”子哈希“。如果最底层的哈希总数是单数,那到最后必然出现一个单身哈希,这种情况就直接对它进行哈希运算,所以也能得到它的子哈希。于是往上推,依然是一样的方式,可以得到数目更少的新一级哈希,最终必然形成一棵倒挂的树,到了树根的这个位置,这一代就剩下一个根哈希了,我们把它叫做MerkleRoot。Merkle树特点1MT是二叉树也可以多叉树,它都具有树结构的所有特点23非叶子节点的value是它下面所有的值,按照Hash算法算出的在体验完Merkle树工具之后,总结一下特点?MT叶子节点的value是数据集合的单元数据或单元数据HASH区块链结构05区块链区块链1在区块的基础之上增加了前区块哈希23在体验完区块链工具之后,总结一下区块链前区块哈希作为本区块加密的一部分,达到防篡改的目的创世区块、哈希指针区块链要解决的问题实物货币贝壳牛、羊……贵金属货币铁金……信用货币纸币电子货币数字货币“信用”是传统金融行业的核心交换媒介价值尺度支付手段价值储藏货币职能数字货币数字法币-基于国家信用比特币-依靠算法建立信用其他数百种货币区块链要解决的问题互联网核心解决的问题互联网未能解决的问题互联网金融体系的运作互联网金融体系的局限信息制造和传输价值转移和信用传递政府、银行或第三方提供支付系统实现价值的转移信用局限在一定的机构地区或者国家的范围之内互联网将信息快速生成并复制到全世界每一个有网络的角落根本的问题如何解决信用,而可以实现价值转移的,核心是如何达成共识目标建立一个全球性的信用共识体系,取代第三方中介,自动运行,实现“去信任”机制解决方案每个国家政治、文化、宗教不同,唯一取得共识的是数字(基础科学)数学(算法)是全球文明的最大公约数非对称加密06解密过程接收方明文M密文CM加密过程明文M发送方秘钥K(公开信道)(秘密信道)明文M密文CM明文M解密过程接收方加密过程发送方(公钥)(私钥)经典用途时间戳07时间戳的定义时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。自建时间戳可信时间戳时间戳的分类时间戳的生成
目前可信时间戳已成为确立电子数据法律效力的重要技术之一,可信时间戳的生成方法如下:1、提取用户电子数据摘要(Hash);2、用户题出时间戳请求。Hash值被传递给时间戳服务器;3、时间戳服务器采用权威时间源,由国家授时中心负责授时与守时;4、由可信第三方时间戳服务机构对电子数据摘要和权威时间记录进行数字签名生成时间戳;1需加时间戳的文件摘要23DTS收到文件的日期和时间DTS的数字签名时间戳的组成部分时间戳是一个经加密后形成的凭证文档,包括三个部分:时间戳的生成过程1防篡改2区块按照时间顺序排列时间戳在区块链中的作用3防止双花区块链时间戳现实意义杭州互联网法院电子证据平台线上提交证据线上发起诉讼时间地点人物事前事中事后证据分散不完整丢失伪造篡改时间被重新设置传播机制:P2P08去中心化思考:区块链为什么采用这种数据传输机制?传播机制:P2P什么是去中心化容错性抗攻击性抗勾结性点对点传输的作用去中心化分布式点对点易混概念记账方式09记账方式区块链哈希不可逆无冲突节省空间非对称加密文本加密时间戳防篡改区块链排序传输机制数据传输去中心化抗攻击性记账方式?什么是区块链区块链结构数字签名链上数据的存储方式链上数据的加密方式链上数据的排序方式链上数据的传输方式链上数据的记账方式记账方式-竞争记账定义目的职责使用范围全网矿工共同参与竞争,计算相应的解,争夺记账权。加密数字货币验证交易-广播交易90%以上的区块链采用竞争记账(BTC、ETH等)竞争记账思考:区块链的记账方式是为了解决什么问题?记账方式-思考记账方式-算力算力(也称哈希率)是区块链网络处理能力的度量单位。即为计算机(CPU)计算哈希函数输出的速度。区块链网络必须为了安全目的而进行密集的数学和加密相关操作。全网算力分布挖矿、矿工、矿机CPU矿机GPU矿机量子计算机ASIC矿机POW共识机制10什么是共识机制共识机制-POWPOW(ProofofWork),工作量证明机制社会主义按劳分配多劳多得 POW(Proof-of-work),工作量证明最早是一个经济学名词,它是指系统为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认你做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式 POW系统中一定有两个角色,工作者和验证者,他们需要具有以下特点:工作者需要完成的工作必须有一定的量,这个量由工作验证者给出验证者可以迅速的检验工作量是否达标工作者无法自己"创造工作",必须由验证者发布工作工作者无法找到很快完成工作的办法。共识机制-POW在进行工作量证明之前,记账节点会做进行如下准备工作:收集广播中还没有被记录账本的原始交易信息检查每个交易信息中付款地址有没有足够的余额验证交易是否有正确的签名把验证通过的交易信息进行打包记录添加一个奖励交易:给自己的地址增加X比特币
如果节点争夺记账权成功的话,就可以得到X比特币的奖励。POW机制为了保证10分钟左右只有一个人可以记账,就必须要提高记账的难度,使得Hash的结果必须以若干个0开头。同是为了满足这个条件,在进行Hash时引入一个随机数变量。共识机制-POW流程从流程图中看出,pow工作量证明的流程主要经历二步:1.生成Merkle根哈希2.组装区块头
记账在比特币平台中,中本聪就是运用的POW工作量证明来使全网节点达到51%及以上的共识记账,以下将介绍pow工作量证明共识是如何记账的?首先,客户端产生新的交易向全网广播每个节点收到请求,将交易纳入区块中每个节点通过pow工作量证明当某个节点找到了证明,向全网广播当且仅当该区块的交易是有效的且在之前中未存在的,其他节点才认同该区块的有效性接受该区块且在该区块的末尾制造新的区块1去中心化2安全性高POW的优点1挖矿造成大量的资源浪费2共识达成的周期较长POW的缺点3POW算力集中化共识机制:POS11POS:权益证明机制POS(ProofofStake),权益证明机制或者股权证明机制记账权的几率=代币数量*持有时长资本主义按钱分配钱生钱1在一定程度上缩短了共识达成的时间2不再需要大量消耗能源挖矿POS的优点3防作弊1币无法发行的问题2币龄其实就是时间POS的缺点3流通上的缺陷4离线不纳入币龄减弱计算共识机制:DPOS12DPOS:股份授权证明机制人民代表大会制度董事会议会制度1秒级的共识验证2优势资源集中DPOS的优点3合作而非竞争1去中心化程度低2积极性不高DPOS的缺点共识机制: PBFT13拜占庭将军拜占庭将军PBFT敌人很强大01作为弱者的几个人实力均等02明确弱者联合起来可以打败强大的敌人03只要有一个弱者退出合作势必失败04PBFT实用拜占庭容错(Practical
Byzantine
Fault
Tolerance)
PBFT共识机制是少数服从多数,根据信息在分布式网络中节点间相互交换后各节点列出所有得到的信息,一个节点代表一票。选择大多数的结果作为解决办法。1/32/3ABCD3节点之间通过异步网络连接,网络中的消息可能丢失、乱序并延时达到,但大部分协议假设消息在有限的时间里能传达到目的地。1拜占庭节点的行为可以是任意的,拜占庭节点之间可以共谋。4服务器之间传递的信息,第三方可以嗅探到,但是不能篡改、伪造信息的内容和验证信息的完整新。2节点之间的错误是不相关的。PBFT-拜占庭容错PBFT-拜占庭容错客户端事务请求的严格有序性性能尚可12一致性发行机制14发行机制数字货币激励方式一个热气球上有三个人,上升时遇到故障。必须舍弃一人才能安全升空,三人中一个是环保学家,一个是核专家,一个是农学家,该舍谁呢?大家讨论半天,也找不到正确答案,因为任何一个人都太重要了。这时,一个孩子喊了一句“把最胖的扔下去。”思维题转换思维,简单而直接的答案可能是最合理的,因为你得明白你要干什么发行机制2100万4年减半初始赏金5010分钟挖矿2140年极强的稀缺性智能合约15什么是智能合约智能合约:一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺协议。什么是智能合约BUYERSELLERLAWYERS、BROKERS、INSURANCEBUYERSELLER协议数字形式承诺什么是智能合约智能合约的结构区块区块区块区块区块…………状态值智能合约条件1:响应1条件2:响应2条件3:响应3……条件N:响应N预置触发条件(特定时间、事件等)预置触发条件(特定时间、事件等)思考:智能合约为什么到现在才流行起来?思考智能合约应用01物联网智能合约的去中心化特点,每个人都是一个中心,于是,有些指令可以只发送给特定的人群,而不需要上传到网络的中心02银行业务智能合约能代替银行职员的重复性工作,把这些工作流程自动化,达到触发条件就会执行。03不动产租赁整个租赁过程可以通过智能合约来执行,违约了,作恶了,智能合约都会执行处罚04交易所设定智能合约执行的触发机制,达到某个价格就自动买卖,不管是股票交易所,还是数字货币交易所,都可以用智能合约来管理05管理遗嘱智能合约设定的触发条件达到,即立嘱人死亡,就可以自动执行遗嘱06智能资产将智能合约内置到物理实体,就可以创造出智能资产。智能资产的核心是控制物体的所有权比特币、以太坊16比特币、以太坊是什么比特币是一种加密数字货币或者说是电子现金,总量恒定2100万枚,和互联网一样具有去中心化、全球化、匿名性等特性。以太坊以太坊
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第四中学高二上学期10月月考语文试题(PDF版无答案)
- 青铜峡市宁朔中学2025届高三上学期9月月考语文试题(含答案)
- 广丰洋口中学高二上学期9月考试语文试卷(含答案)
- 《寄生虫学检验总论》课件
- 年产800万套精密模具配件项目可行性研究报告模板-立项备案
- 第六单元表内乘法(二) 同步练习二年级上册数学人教版
- 2024年度商务咨询与策划承包合同3篇
- Module 5 Unit 2 I go home at 5(说课稿)-2023-2024学年外研版(一起)英语二年级上册
- 2024年技术成果孵化与转化合作协议2篇
- 2024年度食品加工厂卫生风管采购合同3篇
- 征地拆迁安置区市政配套设施工程测绘服务公开选取测绘招投标书范本
- 《我的祖国》课件
- 居家养老服务派工单表格
- 八年级历史上册 第一学期期末考试卷(人教福建版)
- 小学一年级上学期思维训练数学试题(答案)
- 听风八百遍才知是人间
- 2023年广西水利电力职业技术学院教师招聘考试笔试题库及答案
- 电梯动火施工方案
- 世界各国国家代号、区号、时差
- 工程水文学题库及题解(全)
- 南京鼓楼区某校2023-2024六年级上册英语期中试卷及答案
评论
0/150
提交评论