区块链知识-普及篇(技术角度)付少庆2018-02目录CONTENTS1区块链相关介绍2中本聪论文中几个重要方面3区块链中的相关技术区块链常见问题54区块链2.0-以太坊&超级账本6区块链的应用案例7观点与讨论区块链相关介绍1区块链的起源2008年由中本聪第一次提出了区块链的概念。在论文《Bitcoin:APeer-to-PeerElectronicCashSystem》其他相关介绍,请参阅《区块链知识普及(非技术角度)》区块链的起源、什么是区块链、区块链的特点、区块链的发展阶段、区块链的主要应用场景、区块链的几种分类、比特币与区块链的关系其他199120081991年,由StuartHaber和W.ScottStornetta第一次提出关于区块的加密保护链产品,随后分别由RossJ.Anderson与BruceSchneier&JohnKelsey分别在在1996年和1998年发表。与此同时,NickSzabo在1998年进行了电子货币分散化的机制研究,他称此为比特金。2000年,StefanKonst发表了加密保护链的统一理论,并提出了一整套实施方案。稍后会讲解论文中的几个重要方面:Transaction、TimestampServer、Proof-of-Work、NetWork、Incentive、SimplifiedPaymentVerification、CombiningandSplittingValue、Privacy区块链的发展阶段1.0的区块链就是专用的区块链,专门用来承载数字货币;1.02.0的区块链,是上面有了智能合约,也就是可以开始做货币以外的事情;2.03.0的区块链是作为一个应用平台,上面有大量的去中心化应用。3.0这个说法,是在一本著名的书《区块链新经济蓝图》中定义的。区块链的几种分类私有区块链(privateBlockChains)公有区块链(PublicBlockChains)联合(行业)区块链(ConsortiumBlockChains)公有区块链是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是目前应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。现在更加时髦的叫法,应该叫PermissionedChain,叫许可链。许可链的概念是说这个链不像公链是公开的,而是需要许可的。私有区块链:仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别ICO(InitialCoinOffering)ICO是某个项目的代币(加密数字货币)作首次公开发行,也称公开出售、众筹。一般ICO项目的关键信息,比如说白皮书、项目目标、ICO时间、项目发展策略、开发团队(团队经验等)、项目的特色以及其它相关的ICO细节。史上首个明文记载的ICOs项目是万事达币(MSC),它是在Bitcointalk论坛上发起众筹的。万事达币ICO发布于2013年6月,每个人都能通过给Exodus地址发送比特币来购买MSC,共募集了5000多个比特币(100MSC/BTC)。其他非技术角度的ICO介绍,参考相关PPT。在本PPT中主要介绍ICO的两种评估模型ICO(是InitialCoinOffering缩写)ICO(InitialCoinOffering)为使得投资者可以对ICO项目做出理性的独立判断,规避投资风险,普华永道和ICOAGE利用在各自领域的经验和专业知识,开发了一套ICO项目评估体系。评估体系利用普华永道的方法论,从7大领域分析项目的质量,不同领域又会细分为几个小项,通过背景调查、调研、审核材料等方式从不同维度进行评估。7大领域:项目背景、项目白皮书、项目团队、项目代码、项目运营、ICO发行方案、财务控制在完成评估工作后,根据每个领域评分,综合评定项目的成熟度,分为三级:萌芽(Embryonic)级别、成长级别(Maturing)和成熟(Mature)级别普华永道ICO项目评估体系ICO(InitialCoinOffering)火币SMARTChain综合模型:战略定位(Strategy)、市场认知(Marketing)、流动性(Activity)、风险Risk、技术(Technology)ICO评估模型-SMARTChain模型区块链项目ICO评估模型-SMARTChain模型火币网设立创新区块链研究中心,依托于清华大学五道口金融学院互联网金融实验室、北京大学金融科技创新实验室的学术力量,深入研究区块链资产,建立区块链资产评估模型,为区块链资产进行分类和评估,帮助投资者正确认知区块链项目和区块链资产的投资价值。SMARTQuantity量化因子模型:1、战略定位、2、应用前景、3、当前进度、4、团队(实力和信誉)、5、站台人与投资人(实力和信誉)、6、市场热度(媒体报道和潜在募集对象活跃度)、7、ICO平台与代币交易平台、8、营销模式与庄家控盘能力我们将做一期ICO的专题。请关注后序专题。中本聪论文中几个重要方面2中本聪论文中几个重要方面中本聪论文中几个重要方面交易(Transaction)时钟服务器(TimestampServer)工作量证明(Proof-of-Work)网络(NetWork)激励机制(Incentive)回收硬盘空间(ReclaimingDiskSpace)价值的组合与分割(CombiningandSplittingValue)隐私(Privacy)简化的支付确认(SimplifiedPaymentVerification)中本聪论文中几个重要方面每一位所有者通过对前一次交易和下一位拥有者的公钥(Publickey)签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行检验,就能够验证该链条的所有者。交易(Transaction)中本聪论文中几个重要方面时间戳服务器通过对以区块(block)形式存在的一组数据实施随机散列而加上时间戳,并将该随机散列进行广播。每个时间戳应当将前一个时间戳纳入其随机散列值中,每一个随后的时间戳都对之前的一个时间戳进行增强(reinforcing),这样就形成了一个链条(Chain)。时钟服务器(TimestampServer)中本聪论文中几个重要方面在进行随机散列运算时,工作量证明机制引入了对某一个特定值的扫描工作,比方说SHA-256下,随机散列值以一个或多个0开始。那么随着0的数目的上升,找到这个解所需要的工作量将呈指数增长,但是检验结果仅需要一次随机散列运算。我们在区块中补增一个随机数(Nonce),这个随机数要使得该给定区块的随机散列值出现了所需的那么多个0。我们通过反复尝试来找到这个随机数,找到为止。这样我们就构建了一个工作量证明机制。工作量证明(Proof-of-Work)中本聪论文中几个重要方面1)新的交易向全网进行广播;2)每一个节点都将收到的交易信息纳入一个区块中;3)每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明;4)当一个节点找到了一个工作量证明,它就向全网进行广播;5)当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;6)其他节点表示他们接受该区块,而表示接受的方法,则是在跟随该区块的末尾,制造新的区块以延长该链条,而将被接受区块的随机散列值视为先于新区快的随机散列值。网络(NetWork)中本聪论文中几个重要方面我们约定如此:每个区块的第一笔交易进行特殊化处理,该交易产生一枚由该区块创造者拥有的新的电子货币。这样就增加了节点支持该网络的激励,并在没有中央集权机构发行货币的情况下,提供了一种将电子货币分配到流通领域的一种方法。另外一个激励的来源则是交易费(transactionfees)。如果某笔交易的输出值小于输入值,那么差额就是交易费,该交易费将被增加到该区块的激励中。只要既定数量的电子货币已经进入流通,那么激励机制就可以逐渐转换为完全依靠交易费,那么本货币系统就能够免于通货膨胀。激励系统也有助于鼓励节点保持诚实。激励机制(Incentive)中本聪论文中几个重要方面如果最近的交易已经被纳入了足够多的区块之中,那么就可以丢弃该交易之前的数据,以回收硬盘空间。为了同时确保不损害区块的随机散列值,交易信息被随机散列时,被构建成一种Merkle树(Merkletree)7的形态,使得只有根(root)被纳入了区块的随机散列值。通过将该树(tree)的分支拔除(stubbing)的方法,老区块就能被压缩。而内部的随机散列值是不必保存的。回收硬盘空间(ReclaimingDiskSpace)中本聪论文中几个重要方面在不运行完整网络节点的情况下,也能够对支付进行检验。一个用户需要保留最长的工作量证明链条的区块头的拷贝,它可以不断向网络发起询问,直到它确信自己拥有最长的链条,并能够通过merkle的分支通向它被加上时间戳并纳入区块的那次交易。节点想要自行检验该交易的有效性原本是不可能的,但通过追溯到链条的某个位置,它就能看到某个节点曾经接受过它,并且于其后追加的区块也进一步证明全网曾经接受了它。简化的支付确认(SimplifiedPaymentVerification)中本聪论文中几个重要方面虽然可以单个单个地对电子货币进行处理,但是对于每一枚电子货币单独发起一次交易将是一种笨拙的办法。为了使得价值易于组合与分割,交易被设计为可以纳入多个输入和输出。一般而言是某次价值较大的前次交易构成的单一输入,或者由某几个价值较小的前次交易共同构成的并行输入,但是输出最多只有两个:一个用于支付,另一个用于找零(如有)。需要指出的是,虽然一笔交易依赖于之前的多笔交易、这些交易又各自依赖于多笔交易,但是这并不存在任何问题。因为这个工作机制并不需要展开检验之前发生的所有交易历史。价值的组合与分割(CombiningandSplittingValue)中本聪论文中几个重要方面传统的造币厂模型为交易的参与者提供了一定程度的隐私保护,因为试图向可信任的第三方索取交易信息是严格受限的。但是如果将交易信息向全网进行广播,就意味着这样的方法失效了。但是隐私依然可以得到保护:将公钥保持为匿名。隐私(Privacy)区块链中的相关技术3区块链中的相关技术Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。哈希算法安全散列算法(SecureHashAlgorithm,缩写为SHA),是FIPS所认证的安全散列算法。且若输入的讯息不同,它们对应到不同字串的机率很高;、这些算法之所以称作“安全”是基于以下两点(根据官方标准的描述):1、由讯息摘要反推原输入讯息,从计算理论上来说是很困难的。2、想要找到两组不同的讯息对应到相同的讯息摘要,从计算理论上来说也是很困难的。任何对输入讯息的变动,都有很高的机率导致其产生的讯息摘要迥异。安全哈希算法分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512SHA家族的五个算法相关技术区块链中的相关技术对称加密•采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。非对称加密•非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)私钥一定要自己严格保管!!!是只能自己使用的。公钥是发给大家的,公开使用的。非对称加密的两种用途数据加密数字签名数据加密:用公钥加密,发给拥有私钥的人。数字签名:用私钥签名,用公钥来认证。区块链中的相关技术Merkle树(Merkletree)MerkleTree,是一种树(数据结构中所