赞
踩
前言
最近由于比特币的暴涨,导致背后的区块链技术被人给当作热点拿出来。我也不例外的对区块链技术进行了分析。至于比特币,我个人是没有过多的关注。这点见仁见智吧。
我参考了各种区块链技术的介绍以及科普,总觉得讲的有些云里雾里,并没有很好的全面的提及,以及也没有相关整合的代码demo等。于是我准备整合一下,可能会涉及很多原创。故所有参考后的原文尽量提在最后的参考文献中。
对区块链的技术还在摸索中,如果有什么不对的地方,敬请谅解。
区块链含义A blockchain,block chain,records, called blocks, which are linked and secured using cryptography.cryptographic hash of the previous block,timestamp and transaction data.distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way'.peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.
——Wiki狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
——百度百科
百度百科给出的含义定义是这样的,通过这个,我们知道了,区块链其实就是一种数据结构,和二叉树、图等一样。那么其实比特币就是基于这种数据结构搞出的一种虚拟货币罢了。
但是注意看,它提及了能够“存储数据、利用分布式节点共识...”,由此可以看出,它同时也是一个特殊的分布式数据库。
那么我们就知道了,区块链,是一种数据结构,也是一个特殊的分布式数据库。
中心化与去中心化
中心化(Centralization),与之对立的是去中心化(Decentralization)。为了简单的理解,我举一个例子。
比如大家一起做生意,总要有个账本,这个账本由账房先生管理。账房先生每次记录后,会将每次记录后数据公开给大家,这就是中心化。
中心化
那么什么是去中心化呢?很简单,就是账本不给账房先生管了,因为这个账房先生可能老是把账本丢了,或者说账本自己跑了等等借口,导致自己乱改账。于是每个人都有一个账本了,任何人改动了自己的账本都要告诉其他所有人,其他人也会在自己的账本记上一笔。但是怎么知道你是不是做假账呢?于是规定只要有人发现新的账目不对,可以拒绝接受。最后以大多数人一致的账目为准。
区块链去中心化
那么一个既是数据结构,又是一个特殊的分布式数据库有什么特别之处呢?这个特点就是所谓的“去中心化”。那么我们可以发现,去中心化是需要资源的,为什么呢?因为比如上面的例子,人人都记账了。但是有人天天记,有人偷懒不记,会产生不公平。于是大家决定每天早上掷骰子,根据点数决定谁来记当天的账,其他人核对一下,没问题就复制过来。并且,当天的记账者会获得一点点奖励(这就是挖矿)。
区块链算法
因为区块链的去中心化,所以是没有管理员,也不需要人工审核和干涉,它是彻底无中心的。那么怎么保证数据的安全呢?这时候就请出了共识算法和加密算法。
算法一听就头疼,那简单理解来概括下:
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。