概述
区块链分类
区块链主要分为三类
- 共有链 任何人都可以读取的链比如以太坊和EOS
- 私有链 开发节点 测试节点等
- 联盟链 Fabric R3联盟 以太坊EEA 轻松筹的阳光链等
区块链的认知
- 区块链可以认为是一种特殊的分布式数据库,主要作用是存储数据,任何人都可以架设节点,所有节点都是平等的,我们可以向任何节点写入数据,以为数据最后都是要同步到各个节点的
- 区块链是去中心化的,即没有中心节点没有管理员,全民记账
- 区块链的最大特性是只能增查不能改删,这一特性使它有别与其他数据库
- 区块链的特点分为三点:不可篡改、可追溯、去中心化
区块链的架构模型
- 区块链6层(自下而上):
- 数据层 封装了底层的数据链式结构以及非对称公私钥数据加密技术和时间戳技术等,是最底层的技术
- 网络层 包括p2p组网机制、数据传播机制、和数据验证机制等
- 共识层 封装了网络节点的各类共识机制算法,共识机制算法是区块链的核心技术,因为这决定了到底是谁来进行记账,而记账决定方式将会影响整个系统的安全性和可靠性。目前已经出现了十余种共识机制算法,其中比较最为知名的有工作量证明机制(PoW,Proof of Work)、权益证明机制(PoS,Proof ofStake)、股份授权证明机制(DPoS,Delegated ProofofStake)等。数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都将不能称之为真正意义上的区块链技术。
- 激励层 将经济因素集成到区块链技术体系中来,包括经济激励的发行机制和分配机制等,主要出现在公有链当中。在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。而在私有链当中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,通过强制力或自愿来要求参与记账。
- 合约层 封装各类脚本、算法和智能合约,是区块链可编程特性的基础。比特币本身就具有简单脚本的编写功能,而以太坊极大的强化了编程语言协议,理论上可以编写实现任何功能的应用。如果把比特币看成是全球账本的话,以太坊可以看作是一台“全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能得到保证。(refer:https://blog.csdn.net/qq_35624642/article/details/78138077)
- 应用层 封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用即部署在应用层,而未来的可编程金融和可编程社会也将会是搭建在应用层。
- 激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完整的包含后三层结构,但是前三层为区块链的基础是必须要有的,缺少前三层的任何一层都不能成为区块链
- 数据层中最重要的就是链式结构:链式结构的基本构成单元是区块,而区块中分为两部分,区块头和区块体。
- 区块头:存储了父区块hash(每条区块链第一个节点称为创世区块,创世区块头中没有父区块hash)
- 区块体:存储数据
简单实现了区块链的区块头加密算法https://github.com/PHPerJiang/Golang
最后
以上就是体贴八宝粥为你收集整理的区块链(初识)的全部内容,希望文章能够帮你解决区块链(初识)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复