时间:2023-06-12|浏览:182
什么是区块链? 简单来说,区块链就是一种特殊的分布式数据库。它的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,并且也可以从中读取数据,因此它就是一个数据库。任何人都可以架设服务器,加入到区块链网络中成为其中一个节点。在区块链的世界里面,不存在中心节点,每个节点都是平等的,都保存这整个数据库。节点可以是一台服务器、一台笔记本电脑或一部手机。你可以向任何一个节点中写入和读取数据,因为最终所有节点的信息都会同步,以保证区块链的一致性。
区块链的特点 分布式数据库并不是最新的发明,市场上早就有类似的产品。但是,区块链有几个革命性的特点:
1. 去中心化:由于区块链是分布式存储的,并不存在中心节点,也可以说各个节点都是中心节点。因此,它可以实现直接点对点的转账等功能。
2. 开放性:区块链的系统数据是公开透明的,每一个人都可以参与其内部运行。
3. 信息不可篡改:区块链使用了密码学技术来保证区块链上的信息不被篡改。一旦信息存储到区块链上,就永久保存,并无法更改。即使是 51% 攻击,也基本不可能实现。
4. 可追溯性:区块链形式上保存了从第一个区块开始的所有历史数据,每个区块拥有前一个区块的 HASH 值,任何一条记录都可通过链式结构追溯本源。
5. 匿名性:区块链上面没有个人的信息,因为这些都是加密的,是一堆数字字母组成的字符串,这样就不会出现各种身份证信息、电话号码被倒卖的情况。
6. 自治性:区块链采用基于协商一致的规范和协议,整个系统中的所有节点能够在去信任的环境自由安全地交换数据。由此,对用户的信任改变成了对机器的信任,而任何人为的干预都不起作用。
区块的结构 区块链由一个个 “区块”(block)组成。每个区块类似于数据库中的一条记录,每次写入数据就是创建了一个区块。每个区块包含两个部分:
1. 区块头(Head):记录当前区块的元信息。
2. 区块体(Body):实际储存的数据。
区块头包含了当前区块的多项元信息,例如生成时间、实际数据的 HASH 值等。在这里,你需要知道 HASH 的概念,因为它对于理解区块链是必要的。HASH 是计算机可以对任意内容计算出一个长度相同的特征值。在区块链中,HASH 长度为 256 位,不管原始内容是什么,最后都会计算出一个 256 位的二进制数字。值得一提的是,只要原始内容不同,对应的 HASH 一定是不同的。
因此,我们得出了两个重要的结论:
1. 每个区块的 HASH 都是不同的,可用于识别区块。
2. 如果区块的内容发生变化,或者是上一个区块的 HASH 值发生变化,当前区块的 HASH 值也会发生改变。
区块链是如何运作的? 以转账为例,我们可以简单地介绍一下区块链运作的过程:
现在要进行转账,我们通常需要去银行,因为银行就是一个中心化的账本。例如小明的账号里有四百块,而小红的账号里只有一百块。当小明要转 100 块给小红时,他要通过银行提交转账申请。银行验证通过后,就从小明的账户上扣除 100 块,小红的账号增加 100 块。最后银行计算后,小明的账户扣除 100 后余额为 300,小红的账户加上 100 后余额为 200。
而在区块链上,转账的过程是这样的:小明要转账给小红 100 块,他就会在区块链网络上告诉大家这个消息。大家会去查看小明的账户,看他是否有足够的钱去完成这笔转账。如果验证通过后,大家就会把这个信息都同步到各自的账本上,以保证数据的全局一致性。这样的方式中,银行或其他类似的机构则没有什么作用了。
区块链与比特币的关系 比特币是在 2009 年被中本聪提出的,之后参考了比特币的实现,才提炼出了区块链的技术。如果比特币是类似面条的东西,那么区块链就是面粉,让大家可以尝试不同的制作方式,例如制作馒头、包子等