首先,区块链是个有门槛的技术,需要了解大量的理论。
罗列一些知识点:
数字货币,比特币,以太坊,ICO,Hash算法,加密算法(tips:密钥,读yao,yao,yao),PKI体系,数字证书,Merkle树,智能合约,分布式系统理论(CAP,公式算法,PAXOS,RAFT,拜占庭算法)
有了这些基本知识,基本上就知道区块链为哈有他独特的有点和怎么实现的了。
简单的解释一些知识点。
数字货币,很老,这东西1983年就有了。e-Cash,HashCash。用一系列算法来讲货币数字化。都数字化了,那么就会产生容易复制,导致双重支付攻击(10块钱,复制以后,花两边)。
比特币,一种数字货币的实现,这东西有一个缺点,就是费点,除了只记录来往交易账目和费电,没有其他实际用途,但是这从社会实践的角度证明了区块链的可行性。话说,中本聪可能确实是一个虚拟人物。
来开一下日常生活中的商业的典型模式:多方,协商,执行合约===》而区块链擅长的确实多方合作,达成合约,确保顺利执行。(商业前景,有目共睹)
再来看看区块链的特点是不是满足商业:
分布式容错: 分布式网络极其鲁棒,能容忍一定数量的异常节点,拜占庭算法相关。理论上没有人能控制这个网络。
不可篡改: 数学算法保证,这东西改不了。分布式的嘛,你改的了自己,改不了别人
隐私保护:信息都密码加密,没有授权不能让其他人看到。(比特币这部分实现比较简单,由于是共有链,你能看到每一笔交易。但是你不能知道交易上方是谁)
技术角度定义区块链:拥有上述优点的分布式记账系统;状态机快照的线性链表“数据库”
形象点就是,交易组成区块,区块再连成链条。他真的不是传统的数据库,他是为达成多方共识而设计。
交易,transaction,一次对账本的操作,会导致账本状态改变
区块,block,记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识
链,chain,由区块按照发生顺序串联
每一块都会有一个 pre hash 指向上一节点。比特币是通过加随机数来计算一个满足特定要求的hash(例如前几位必须是00,必须小于某个值),矿工不停的靠产生随机数来算这个hash(大约10分钟),谁先算到这个符合规则的hash,谁就广播给大家说我算好了。矿工就是通过这种POW(工作证明,通俗点就是费电证明)来获取报酬。
大家都知道比特币的缺点了,费电,只是记账。 针对这个问题,小神童发明了ICO。简单讲ICO就是在比特币基础上,加入了一些智能合约(不是只记账了,可以计算1+1=?),旷工帮你计算了1+1等于几,同事帮你把结果记录起来,你是不是要给点电费呢,电费的支付,就是通过ICO来完成的(代币)。
比特币,以太坊这些都是这些都是公有链技术,企业功能落地难。企业中,私有链和联盟链更具有吸引力。Fabric 可以创建私有连或者联盟链,目的是为了在企业的技术落地(隐私但是又要被监管)
玩区块链的人分两拨,币圈(比特币,山寨币,ICO)和链圈
现在已知的区块链技术缺点: 慢,由于一致性算法导致的,不是你多加几台机器就能搞定的,场景优化和硬件优化后,能到到千tps,