还剩2页未读,继续阅读
文本内容:
【区块链】一系列数据块(即区块)连接而成的链条,连接的方式是其中第N+1个区块中,包含第N个区块的哈希值而且这样的数据块的链条,同时被分布广泛、数量巨大的服务器节点所存储和维护,每个服务器节点都拥有一份区块链的完整拷贝(即区块链数据的存储是高度冗余的)【哈希值】哈希值又叫“数字指纹”,无论多大的数据,经过一番计算后,都可以得到一个固定长度(例如256比特)的哈希值;数据的内容不同,哈希值必然不同,就像人和人不会有相同的指纹【去中心化(服务器)系统】数量巨大的服务器节点彼此平等,靠某种事先达成的协议来保证大家拥有数据是完全相同的拷贝,它们就构成了一个去中心化系统而在一个中心化系统中,某个中心节点拥有更高的权力,它负责更新数据,所有其它节点从它那里获得更新后的数据【哈希碰撞】计算哈希值的过程是不可逆的,预先给定一个值,如果请你构造出一段数据,希望它的哈希值正好是这个给定值,那么就算你拿最强大的计算机算到天荒地老,也构造不出来哪怕退一步,只要求你构造一段数据让它的哈希值小于给定值,都需要算很久很久而且这个构造过程没有任何巧妙的算法可以利用,只能傻傻地去尝试所有可能的数据这是一个“瞎猫撞到死耗子”的过程,因此被叫做哈希碰撞【工作量证明】区块链上的区块,除了包含上一个区块的哈希值(数字指纹)之外,还至少要包括一串无意义的数字,它被称为nonce改变nonce的值,就可以改变本区块的哈希值服务器节点尝试不同nonce的值,碰撞出一个足够小的哈希值,这个过程被称为工作量证明哈希值有多小,就证明你大致尝试过多少个不同nonce【共识协议】维护同一个区块链的服务器数量众多,要维护数据的一致性,它们就必须在“谁来决定下一个区块内容”这一问题上达成共识目前所广泛采用的共识协议是,谁先给自己的区块找到足够小的哈希值来完成工作量证明,谁的区块就是下一个区块【孤块】由于服务器的数量太多了,彼此通讯的延迟有大有小,有时候会产生区块链的分叉,比如说甲、乙两台服务器几乎同时找到了工作量证明,那么会导致有的服务器把甲的区块追加到自己所存储的区块链上,其它则追加乙的这个时候,区块链就出现了甲乙两个分支,在两个分支上都有服务器在持续追加块为了解决这个问题,共识协议约定,以最长的链为准,即经过一段时间之后,如果在甲分支上追加了的区块的数量大于乙分支,就以甲为准,这个时候乙分支上的块,就成为了孤块,不被系统所承认【51%攻击】“以最长链为准”,其合理性在于,最长链上累计的哈希碰撞的工作量最大,相当于服务器之间用哈希碰撞的算力来进行投票,投票选出的链,必然是最长链只要系统中作恶的坏节点的算力不超过50%,它们就无法累积出最长链但反过来讲,如果有51%的节点都是坏节点,它们联合起来,能任意决定区块中的内容,破坏整个系统,这就是51%攻击【确认数】某一笔交易被加入区块链的某个区块中,称为得到了一次确认这个区块之后,区块链每被追加一个区块,就增加了一次确认确认的数量越多,这笔交易所在的块成为孤块的可能性就越低【非对称加密】用户生成一对公私密钥,用公钥加密的数据,只能用私钥才能解密;用私钥加密的数据,用公钥才能解密用户把自己的公钥公之于众,想给他发送秘密信息的人,只需用公钥把信息加密,就不怕信息传递过程中被窃听私钥必须严格保护起来,不得泄漏【数字签名】我希望对外发布一个文件,怎样避免这个文件在传输中被篡改只需把文件的哈希值用私钥加密,和文件一起对外发布即可接受者用公钥解密,得到了正确的哈希值,就证明文件的确是我所发布的,因为,
一、文件一旦改变,哈希值就会变;
二、天下只有我拥有私钥这个被私钥加密的哈希值,称为数字签名【比特币】与区块链一同诞生的现金记账系统,区块链的第一个应用它的区块中的内容,简单但不准确地说,就是一些这样的记录“我是公钥为X的账户,我把我拥有的Y个比特币,转给公钥为Z的账户”,以及用X对应的私钥为这条记录加上的数字签名中本聪于2008年发明比特币,2009年完成比特币的开源代码,2010年后逐渐销声匿迹很多人怀疑中本聪是某个匿名团体的笔名【钱包】数字货币让人真正拥有了财富,只要你保存好私钥,任何暴力机关都无法剥夺你拥有的币但是,一旦丢失了私钥,你就丢失了这个私钥所对应的所有币,而且无法找回钱包就是帮助你保存私钥的工具,它可以是软件app,也可以是专门的硬件设备当你需要给其它人支付数字货币时,钱包帮助你生成支付的记录、对应的数字签名,它还帮你把这些信息广播给负责维护区块链的节点们,请他们把这笔交易记录在区块中【挖矿】挖矿是一种发行数字货币的机制,也是对维护区块链的节点们的奖励机制节点们需要接受用户发送来的交易记录,验证其数字签名,验证用户是否真的有他所声称的币,然后把很多的交易记录打包成一个区块,最后还得进行哈希碰撞以获得工作量证明它们为系统付出了很多劳动,应该得到奖励以比特币为例,它开始运作时,每当节点为系统追加一个新的区块(或者说“挖”出了一个新的块),节点就会“凭空”获得50个比特币的奖励,这些币是新发行的或者说新“印刷”出来的之后,每过大约三年半,奖励就会减半,最终在100多年后会减到0整个过程中,总共将发行2100个比特币挖出新块、得到奖励的过程,被形象地称为挖矿【矿池和矿工】挖到新区块的关键在于能不能以很高的并行度来进行哈希碰撞,于是有些服务器节点把哈希碰撞的工作“外包”给专门的矿工,自己只负责“接受交易、验证交易、打包交易”这三项任务,这样的服务器就是矿池矿工专门负责哈希碰撞,一旦矿池挖到了新块,不论这个块究竟是哪个矿工找到工作量证明的,一律和所有的合作矿工按算力大小成比例地分享新块的收益【矿场】个人矿工用电脑、手机等设备来进行哈希碰撞,效率很差为了利用规模效益提升效率,在一些电力廉价的地区,有人投资兴建起了专门的矿场,利用专门定制的硬件设备来进行哈希碰撞,并且聘请专门的工程师来管理众多的设备【智能合约】智能合约类似于数据库中的trigger触发器,即特定事件出现的时候,自动执行的代码块通俗地讲,它使得“钱自己会动”比如说老公账目上的钱如果超过一定限额,多出来的钱就会流到老婆账目上;公司的员工向某慈善组织捐一定数目的钱,公司会自动捐同样数额的钱[Token]这个词很难翻译,有人把它翻译成“代币”,感觉不是很全面,所以还是保留英文原文它是某种资源、资产、股份在区块链上的表示笼统地讲一下它的具体实现方法资源、资产、股份的拥有者,使用自己的密钥为一些数据片段加上签名,这些数据片段就变成了Token,借助智能合约,Token可以被拆分成很多份,分配给很多个账户,以及在账户之间流动[ICO InitialCoin Offering]一家公司准备新创一种区块链来改变世界,但它没有钱,于是就号召大家给它捐助数字货币如比特币,以太币同时承诺说,这些捐助的币,将会按比例折换成这个新创链上的数字代币送给大家,等有朝一日这个新链真的改变世界了,新创链上的币将暴涨,大家一起发财,[IFO InitialFork Offering】和ICO很类似,但不是新创一个链,而是说:我们是某个数字货币社区里的用户,我们觉得它不好,现在要分叉这个币、分裂它的社区了!我们分叉很辛苦,因此分叉后的链上,会凭空给我们记录一大笔数字货币的收益请大家支持我们,支持的方式就是拿比特币,以太币这些硬通货来交换我们手头凭空多出来的收益[IMO InitialMiner Offering]和ICO很类似,但不是号召大家来换这个新链上的代币,而是号召大家来买这个新链上专用的矿机大家用矿机挖代币,等代币暴涨,大家就发财了【去中心化自治组织】简称DAO DecentralizedAutonomous Organization试想,如果在一个组织中,货币、资源、资产、股份都变成了区块链上的Token,被链上的智能合约所管理,那么这个组织就可以不依赖于任何中心化的管理机构来运转这个区块链的底层源代码即为这个组织的法律,冰冷的机器严格无误地执行法律和合约,实现彻底的法制。