请收下这篇区块链初学者指南
普通人们会觉得要理解区块链会有点难,而我也想知道为什么自己并没有。那是在2013年,第一次知道还是听同事说有比特币这个东西。无论能不能买得起,可以先了解一下它所依赖的底层技术,也就区块链。
那么“区块链”到底是什么呢?
其实是两个东西:一个是区块一个是链。说玄虚一点,就是一链子的区块。因为它是存在于计算机中的东西,所以我们可以厘定它的一个物理形态是啥样子的,就是数字信息被分成一个一个区块然后把这些区块链接起来。举个例子,下图中的方块,每一个都表示一个国家,而且每一个都包含了对应国家的城市名称。
等等,其实还有更多东西来着。这里的每一个方块都一个叫做哈希的东西。一个哈希就是一串字符(比如 “1hi515AHA5H” )。哈希是根据方块里面所包含的信息来得到的。 U.S.A 的方块拥有 New York, Los Angeles, 还有 Chicago 这几个城市,所以它的哈希就是像 “NYLAC” 的东西了 (技术上其实远非如此,但你理会精要就行了)。
每一个接续的方块都会包含前一个方块的哈希,所以这个就是(强制性的)将它们绑到一起的纽带。如果有人擅自篡改了第一个方块,加入了城市Boston,那么新的哈希就会是 “NYLACB”,然而后面接续的 India 这个方块已经存着的哈希还是 “NYLAC”,这种不匹配就会把链条打断。所以哈希的目的就是确保没有人可以篡改区块。
那如果有人修改了一个方块的内容,然后把后面的接续方块的哈希也一并更新会如何呢?这也是有可能的,不过有一件事情我还没有告诉你。区块链的数据并不只是存在于仅仅一台计算机里面。一台计算机里面的区块链数据并不能骗到人,因为它会被复制到网络中每一个用户的计算机里面去。
如果你加入了一个区块链网络,那么你的计算机就会去下载这些区块数据,如果有人篡改了他拥有的版本,整个网络也会考虑占多数的人的计算机上所拥有的版本才是正确的。
还有一件事,在一个区块链网络中,不仅是数据,就连整个系统的程序都被复制到了所有的电脑中。大多数互联网应用都是集中化的,比如Facebook,它的数据和程序都被放在了它的服务器上,你的计算机会从 Facebook 的服务器上获取到你一个人需要知道的信息。但在区块链的世界理,就没有存在于中心的东西,它依赖的是用户的计算机来容纳自己的程序。是的,这就意味着,如果整个区块链网络中的每一台电脑都关机了,那么这个区块链系统就死翘翘了。
公共区块链
这是不是就意味着区块链系统其实就是由一群心怀善意自愿让他们的计算机保持运行的人来组成的呢?还有这些防篡改的区块是用来干嘛的呢?
区块链网络的功效不胜枚举。比特币是一种数据货币和一个支付系统。它所有的防篡改区块中所保存的就是全部交易的分类账。那些贡献了他们自己的计算机的人被称为矿工。系统会给他们提供比特币作为奖励。
Ethereum有意向附加功能。它可以承载你的代码,从头开始发展出一个区块链系统,而要构建一个属于你自己的系统也许会非常地困难(记住这得看有人为你牺牲他们的计算机运行能力才行哦)。Ethereum 就维护着这些耗损巨大的运算能力,而你则需要为这些计算消耗买单。
区块链应用并不非得是支付系统或者加密货币。它可以任何东西,像是一个社交网络,一个像LiveEdu这样的学习平台,等等。
私有区块链
私有链节点不对外公开,只有被特殊允许的节点可以加入,所有节点均被保密且信任。私有链可以分为全封闭和半公开私有链。全封闭私有链意味着只有加入节点的才可以查询相关信息,主要应用于金融公司、银行等领域。
公共区块链针对的是面向应用的用户,已经正式有了一个可信任第三方。私有区块链针对的是单一实体内的用户,或者在同一个行业联盟内的用户,他们彼此之间需要透明,但没必要对公众透明。
责任编辑:售电衡衡