曾经的我以为区块链遥不可及,可当误打误撞入了一家区块链技术公司之后,才发现研究区块链项目是如此有意思的一件事情(虽然不会写代码。。。。。。)
还记得入职第一周同事推荐的第一本入门级书籍《图说区块链》,带我进入了美妙的世界。这本书不仅框架清晰简单,加上配图,对于初学者来说算是非常友好了。今天就和大家分享部分入门的专业名词及架构,主要集中在前2章的起源篇和原理篇。
众所周知,互联网很善于处理信息分享,却无法直接解决价值转移。目前的互联网协议是不支持价值转移功能的,现在的价值转移往往不是直接传输,而是由一个去中心化的第三方做背书。而区块链给了我们最新的选择,它是账本演变史上最新的一个高可行性的形态。区块链技术可以在没有第三方信用背书的情况下,在一个开放式的平台上进行远距离的安全支付,构建了一种纯粹的点对点的价值转移体系。
今天想为刚进入区块链的朋友们分享自己最开始通过这本书学习的一些简要知识点。
一、区块链的核心概念
1.区块
区块作为区块链的基本结构单元,是由区块头和区块主体组成。
(1).区块主体:包含交易数据
(2).区块头:
*数据:用于连接前面区块、索引自父区哈希值
*挖矿难度、Nonce、时间戳
*Merkle Root:归纳校验区块中的所有交易数据
2.哈希算法
哈希算法是区块链中保证交易信息不被篡改的单向密码机制。它有两个特点:
(1).加密过程不可逆
(2).输入的明文与输出的散列数据一一对应
3.公钥和私钥
(1).公钥:用来加密/验章
(2).私钥:解密/签章
(3).私钥花费比特币的方式就是对这个私钥所对应的未花费的交易进行签名
4.时间戳
时间戳对应的是每一次交易记录的认证,证明交易记录的真实性。
5.Merkle树结构
区块链利用Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。
(1).叶子节点:储存数据信息的哈希值
(2).非叶子节点:对其下面所有的叶子节点的组合进行哈希计算后得出的哈希值
二、区块链的分叉
1.硬分叉
比特币的区块格式或交易格式(即广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。
2.软分叉
比特币交易的数据结构发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点产生的区块
三、区块链的四大特点
1.去中心化:在一个去中心化的系统中,没有中介机构,所有节点的权利和义务都相等,任意节点停止工作都不会影响系统整体的运作。
2.去信任:系统中所有节点之间无须信任也可以进行交易,因为数据库和整个系统的运作是公开透明的,在系统的规则和时间范围内,节点之间无法欺骗彼此。
3.集体维护:系统是由其中具有维护功能的所有节点共同维护的,系统中所有人共同参与维护工作。
4.可靠的数据库:系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。
四、区块链的模型架构
1.数据层:数据区块、链式结构、时间戳、哈希函数、Merkle 树、非对称加密
2.网络层:P2P 网络、传播机制、验证机制(主要目的是实现网络节点之间的信息交流)
3.共识层:POW、POS、DPOS......
4.激励层:发行机制、分配机制
5.合约层:脚本代码、算法机制、智能合约
6.应用层:可编程货币、可编程金融、可编程社会
五、区块链的基本类型
1.公有链:世界任何人都可以读取、任何人都能发送交易且交易能获得有效确认,任何人都能参与共识过程的区块链。
2.私有链:其写入权限仅在一个组织手里的区块链,目的是对读取权限或者对外开放权限进行限制。
3.联盟链:其共识过程受到预选节点控制的区块链,可视为“部分去中心化”。
六、共识机制
1.POW:Proof of work(工作量证明)
使用此机制的项目有:比特币、以太坊(前三个阶段):Frontier(前沿)、Homestead(家园)、Metropolis(大都会)
2.POS:Proof of stake(权益证明)
使用此机制的项目有:以太坊的第四阶段-Serenity(宁静)
3.DPOS:股份授权证明
类似于董事会投票,节点选举若干代理人,由代理人验证和记账。
投票模式:注册公钥—成为代表—授权投票—保持代表诚实和抵抗攻击
4.投注共识
Casper(鬼马小精灵) 有了惩罚机制
Casper 协议下的验证人需要完成出块和投注两个活动
5.瑞波共识机制
新成员想加入—全员投票—超过51%成员通过,允许加入;反之,无法加入。
6.Pool验证池
7.实用拜占庭容错
N(计算机总数)≥3F(有问题的计算机总数)+1
2/3许可投票,少数服从多数
8.授权拜占庭容错(实用拜占庭容错的升级)
9.帕克索斯算法(基于选举领导者的共识机制)
七、智能合约的三大条件:
1.必须有货币参与
2.资产必须数字化
3.资产必须互联网且绝对信任某个数据库
以上基本是本书的硬性知识点,实际上,每一块展开研究都会很有意思很有价值。期待和大家一起学习研究区块链背后的那些知识和原理,一起成长!
记---在区块链的后花园的第一篇笔记。