区块链基本概念AndiOS工作室区块链的主要作用的存储信息,并不是新发明的一种技术,而是一系列技术的集成,包括非对称加密技术、时间戳、共识机制等,是去中心化的分布式数据库。从逻辑上可以理解为一个一个块,块里面有header,header里存储上一个块的哈希值,除创世区块外,下一个块的header把上一个块的header和数据体作为哈希存到自己的header里,这样就形成一个链,好处就是后续链存储了前一块链的所有数据,如果要改动当前区块的话,必须改动前面所有区块,一个区块要能够打败全网所有区块的51%才有可能被篡改,因此区块链是很安全,不易篡改的。一种特殊的分布式数据库什么是区块链去中心化去信任化公开透明不可篡改匿名性可溯源性区块链的特点所有节点都地位平等,没有中心服务器(它不像Hadoop那样是分布式存储的,所有节点是协作式的,100个任务,每一个map分一个,合作来运行)点对点网络什么是DApp1.运行在对等网络上2.参与者信息被安全存储,隐私保护3.通过网络节点去中心化操作去中心化应用的优点容错性好防止单一机构的干扰用户更容易相信该应用去中心化应用的缺点更新困难用户身份认证较为困难程序扩充困难DApp之间协作困难DApp中的用户身份和账号DApp中用户完全匿名,身份验证困难多以公钥-私钥对来代表一个账号如果私钥丢失,永远无法访问账户,无账号找回功能DApp开发框架Truffle:代码-编译-部署-测试-打包Solidity:智能合约编程语言Web3.js:智能合约调用区块链1.0数字货币——比特币01中本聪,2008年“比特币:点对点电子现金系统”区块链是比特币的底层技术;比特币是区块链的一个应用比特币主要功能仅为“有价代币转移”挖矿、矿工、难度系数由于节点之间必须同步,当一个节点有区块生成必须同步到全网,于是中本聪故意让添加新区块变得困难,平均每10分钟全网才能生成一个区块,也就是一小时六个。区块头包含一个难度系数,难度系数越大,目标值越小,小于目标值的哈希才有效。矿工的作用就是猜出随机值,使区块头的哈希小于目标值才能写入区块链。最高次数可达21.47亿次。区块链产出速度不是通过命令达成的,而是故意设置了海量的计算,也就是说,只有通过大量的计算才能得到当前区块的有效哈希,从而把新区块添加到区块链,这个过程叫挖矿计算哈希的难度,就像全世界的沙子里找到一粒符合条件的沙子。计算哈希的机器叫矿机,操作矿机的人叫矿工挖矿、矿工、难度系数即使区块链可靠,现在还有一个问题没有解决:如果两人同时向区块链写入数据,也就是说,同时有两个区块加入,因为他们都连着前一个区块,就形成了分叉。新节点总是采用最长的那条区块链,如果有分叉,就要看哪个分支首先达到6个区块,即”六次确认”。新区快的生成速度由算力决定,即谁的算力高谁就是正确的区块链。区块链的分叉区块链2.0以太坊02以太坊:区块链2.0以太坊是一个可编程、图灵完备的区块链开发平台(2014-2017)人人都可创建合约和去中心化应用以太坊虚拟机(EVM)运行合约以太坊虚拟机(EVM)EVM可以执行复杂的算法,开发者可以用js、python、solidity等语言在以太坊上开发出自己想要的应用通过以太坊虚拟机,可以很简单的发行数字资产、编写智能合约,建立和运行去中心化的应用以太坊基本概念以太币/Ether:以太坊中使用的数字货币,2000块左右人民币一个,除了可以买卖赚差价,主要是发布调用程序消耗以太币Gas:以太坊里对所有活动进行消耗资源计量的单位,读取免费,写入收费。0102迷恋猫(cryptoKitties):第一款区块链游戏互联网广告:所有环节数据均在区块链上,通过投票机制确定流量好坏以太坊典型应用以太坊网络Mainnet:以太坊主网Rinkeby:geth客户端组成的测试网络,使用集团共识Ropsten:以太坊主测试网络Kovan,parity:客户端组成测试网络,使用授权证明去中心化的挑战如何保证所有节点状态都同步?如何保证所有交易都广播到所有节点如何防止恶意篡改?共识机制(保证每一笔交易在所有记账节点上的一致性,即让全网达成共识)PoW:ProofofWork,工作量证明PBFT:PracticalByzantineFaultTolerance,实用拜占庭容错算法PoS:ProofofStake,权益证明DPoS:DelegatedProofofStake,委任权益证明PoW你获得多少币取决于你挖矿贡献的有效“工作”当节点拥有占全网n%的算力时,该节点即有n/100的概率找到BlockHash“工作”为BlockHash计算,计算时间取决于机器的哈希运算程度PoS根据你持有货币的量和时间,给你发利息的一个制度一个账户的余额越多,在同等算力下,就越容易发现下一个区块发现了一个pos区块,币龄会清空为0,同时发放“利息”DPoS与PoS原理相似,区别在于节点选取若干代理人,由代理人验证和记账。比如轮到代理人记账时他们没能完成则会被除名,网络会选出新的节点来取代他们。DPoS的每个客户端都有权利决定哪些节点可以被信任。相较于PoW工作量共识机制,DPoS大幅提高区块链处理数据的能力,甚至可以实现秒到账,同时大大降低维护区块链网络安全的费用。拜占庭将军问题:是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。因此对一致性的研究一般假设信道是可靠的,或不存在本问题。所谓拜占庭失效指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。拜占庭将军协议:n个将军被分隔在不同的地方,忠诚的将军希望通过某种协议达成某个命令的一致(比如一起进攻或者一起后退)。但其中一些背叛的将军会通过发送错误的消息阻挠忠诚的将军达成命令上的一致。Lamport证明了在将军总数大于3m,背叛者为m或者更少时,忠诚的将军可以达成命令上的一致。也就是说拜占庭将军协议容许1/3的错误发生。拜占庭将军协议区块链3.0EOS03EnterpriseOperationSystem,即为商用分布式应用设计的一款区块链操作系统。EOS是引入的一种新的区块链架构,旨在实现分布式应用的性能扩展。.它并不是像比特币和以太坊那样的货币,而是基于EOS软件项目之上发布的代币,被称为区块链3.0CapacityEOSEOS的特点EOS有点类似于微软的windows平台,通过创建一个对开发者友好的区块链底层平台,支持多个应用同时运行,为开发dAPP提供底层的模板EOS是没有手续费的,普通受众群体更广泛。EOS上开发dApp,需要用到的网络和计算资源是按照开发者拥有的EOS的比例分配的。EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题,EOS是每秒可以上千级别的处理量,而比特币每秒7笔左右,以太坊是每秒30-40笔谢谢您的观看!