从字面上看:区块链是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。
从计算机上看:区块链是一种比较特殊的分布式数据库。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。
区块链是一种分布式的,所以它是没有中心点的,信息存储在所有加入到区块链网络的节点当中,节点的数据是同步的。节点可以是一台服务器,笔记本电脑,手机等。
你要知道的是这些节点的存储的数据都是一模一样。
去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第三方系统了(银行、支付宝、房产中介等都属于第三方)。
开放性:区块链的系统数据是公开透明的,每个人都可以参与进来,比如租房子,你可以知道这个房子以前的出租信息,有没出现过问题,当然这里头的一些个人私有信息是加密的。
自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法),然后各个节点就按照这个规范来操作,这样就是所有的东西都有机器完成,就没有人情成分。 使得对"人"的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变,至于 51% 攻击,基本不可能实现。
匿名性:区块链上面没有个人的信息,因为这些都是加密的,是一堆数字字母组成的字符串,这样就不会出现你的各种身份证信息、电话号码被倒卖的现象。
区块包含两个部分:
1、区块头(Head):记录当前区块的元信息
2、区块体(Body):实际数据
包含数据如下图所示:
我们以转账为例:
目前我们转账都是中心化的,银行是一个中心化账本,例如 A 账号里有 400 块钱,B 账号里有 100 块钱。
当 A 要转 100 块钱给 B 时,A 要通过银行提交转账申请,银行验证通过后,就从 A 账号上扣除 100 块,B 账号增加 100 块。
计算后 A 账号扣除 100 后余额为300元,B 账号加上 100 后余额为 200 元。
区块链上转账的步骤则是:A 要转账给 B 100 块钱,A 就会在网络上把要转账的这个信息告诉大家,大家会去查看 A 的账户上是否有足够的钱去完成这个转账,如果验证通过后,大家就把这个信息都记录到自己的电脑上区块链中,且每个人记入的信息都是同步一致的,这样 A 就顺利将 100 块钱转移到了 B 的账户上。可以看到这中间并没有银行啥事。
比特币2009年被中本聪提出,然后参考了比特币的实现提炼出了区块链的技术。
如果说比特币是面条,那么区块链就是面粉,后面大家发现面粉除了能做面条还可以做馒头跟包子。
无利不起早,简单说就是你帮我存储信息,我给你相应的报酬。
通过 Hash 与 非对称加密来保障数据无法被篡改:
共识算法:保障节点与节点之间的数据一致性。
有的。
麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。
链小鱼同学的补充
自从区块链被推上前所未有的高度,越来越多的人关注到这一领域。但是由于区块链涉及到很多专业领域的知识,让很多人对它望而却步,今天的这篇文章,小鱼儿试图用简单直白的语言解释一下区块链。
简单来说,区块链就是一种去中心化的分布式账本数据库。
区块链根据应用场景和设计不同,主要分为公有链、私有链和联盟链。
(1)公有链
它是指对全世界所有人开放的,任何人都可以读取数据、发送交易且交易能够获得有效确认的共识区块链。在公有链上,各个节点均可自由加入和退出网络,并参加链上数据的读写,并且,网络中不存在任何中心化的服务端节点。
比特币和以太坊均采取公有链。
(2)私有链
也称专有链,它是一条非公开的“链”,通常情况,需要授权才能加入节点。而且私有链中各个节点的写入权限皆被严格控制,读取权限则可视需求有选择性地对外开放。
蚂蚁金服是应用私有链的典型代表。
(3)联盟链
是由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。
目前国内比较有影响力的联盟链有中国分布式总账基础协议联盟(ChinaLedger)、中国区块链研究联盟(CBRA)和微众银行等。
区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。每个区块包括两部分:
(1)区块头
区块头用于记录当前区块特征值,包含了生成时间、区块体的哈希值、上一个区块的哈希等信息。
(2)区块体
区块体用于记录实际数据
*哈希:计算机对任意内容,计算出一个256位的特征值。