区块链摘记
> 闲的无聊,看到区块链,大致原理是知道的,就多看一眼吧# 区块链## 简介区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说,区块链技术就指一种全民参与记账的方式。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。信息存储在所有加入到区块链
闲的无聊,看到了区块链,以前大致了解点,就多看一眼吧
简介
区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。通俗一点说,区块链技术就指一种全民参与记账的方式。
分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。信息存储在所有加入到区块链网络的节点当中,节点的数据是同步的。你要知道的是这些节点的存储的数据都是一模一样。
特性
-
去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第三方系统了(银行、支付宝、房产中介等都属于第三方)。
-
开放性:区块链的系统数据是公开透明的,每个人都可以参与进来,比如租房子,你可以知道这个房子以前的出租信息,有没出现过问题,当然这里头的一些个人私有信息是加密的。
-
自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法),然后各个节点就按照这个规范来操作,这样就是所有的东西都有机器完成,就没有人情成分。 使得对"人"的信任改成了对机器的信任,任何人为的干预不起作用。
-
信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变,至于 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 的账户上。可以看到这中间并没有银行啥事。
其他
区块链需要了解的关键技术点?
通过 Hash 与 非对称加密来保障数据无法被篡改: Hash:y = hash(x),对 x 进行哈希运算得出 y,可以隐藏原始信息 x,因为你没办法通过 y 来算出 x,从而做到匿名性。 非对称加密:公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。 共识算法:保障节点与节点之间的数据一致性。
区块链优势
- 安全性。首先没有一本中央大账本了,所以无法摧毁。每个节点都仅仅是系统的一部分,每个节点权利相等,都有着一模一样的账本。摧毁部分节点对系统一点都没有影响
- 无法作弊,因为除非你能控制系统内大多数人的电脑都进行修改,否则系统会参照多数人的意见来决定什么才是真实结果,结果会发现修改自己的账本完全没有意义(因为别人不承认)。
- 效率,由于没有中心化的中介机构存在,让所有的东西都通过预先设定的程序自动运行,不仅能够大大降低成本,也能提高效率。而由于每个人都有相同的账本,能确保账本记录过程是公开透明的。
- 区块链最重要的是解决了中介信用问题;
什么是比特币说的"挖矿"?
答:比特币中的"挖矿"实际上就是记账的过程,比特币的运算采用了一种称为"工作量证明(Proof of Work,PoW)"的机制,系统为了找出谁有更强大的计算能力,每次会出一道数学题,只有最快解出这道题目的计算机才能进行记账。而抢到记账权的计算机会获得25个比特币的奖励。通常把这个行为称为"挖矿",把获得的比特币视为挖矿成功获得的奖励。
防止篡改哈希值
每个区块都包含了一个哈希值,哈希值可以被理解成指纹是唯一的,用它来标识一个区块和它所包含的所有内容。一旦某个区块被创建,那么它的哈希值就相应的被计算出来了,改变区块中的某些内容会使得哈希值发生改变。
每个区块包含了自己哈希值以及前一个区块的哈希值。每个区块之间通过“链”关联,假设篡改了第二个区块,这将导致第二个区块的哈希值发生改变,接下去就会导致3号区块以及3号区块链接后续所有的区块都变得非法,因为它们储存的前一个区块号都是非法的。所以我们明白改变一个区块会使得其后所有连接的区块变得非法。
区块链还采用了一种技术叫做工作量证明(Proof-of-work)。这是一种减缓新区块创建过程的机制。在比特币区块链中,大概需要花费10分钟来完成所要求的工作量证明,并添加一个新的区块到区块链中。这个机制使得区块链的篡改更加困难。一旦你篡改了一个区块,你需要重新计算所有后续区块的工作量证明。所以区块链技术的安全性主要来自于哈希值以及工作量证明机制。
区块链还有一种机制保护自身的安全性,那就是分布式。相对有一个中心化的实体来管理区块链网络,区块链采用的是P2P网络(peer-to-peer network),并且所有的人都可以加入。当有人加入这个网络时,他就会得到整个区块链的复制。这个人就可以以此来验证是否所有的区块都是合法未篡改的。如果你要成功篡改一个区块链,那么你就需要篡改区块链上的所有区块,重新完成每个区块的工作量证明,并且控制区块链网络中超过50%的用户。只有这样,你篡改的区块才会被所有人承认。可以说这基本上是不可能做到的。
参考链接:
http://www.runoob.com/w3cnote/blockchain-intro.html
http://www.runoob.com/w3cnote/question-and-analysis.html
https://www.jianshu.com/p/78c0b6b8726e
更多推荐


所有评论(0)