• 简介


      区块链本质是一个去中心化的数据库,是一连串使用密码学方法产生相关联的数据块,每一个数据块中包含了一段时间内全网交易的信息,用于验证其信息的有效性和生成下一个块。

      一个区块链系统由许多节点构成,这些节点一般就是一台计算机。在该系统中,每个参与的节点都有机会去竞争记账,即更新数据库信息。系统会在一段时间内,选出其中记账最快最好的节点,让它在这段时间里记账。它会把这段时间内数据的变化记录在一个数据区块中。在记完账以后,该节点会把这一页的账本发给其他节点。其他节点会核实这页账本是否无误,若没有问题,则会放入自己的账本中。在系统中,这一页账本的数据表现形式,称为区块,该区块中就记录了整个账本数据在这段时间里的改变。然后把这个更新结果发给系统里的每一个节点。因此,整个系统中的每个节点都有着完全一模一样的账本。我们把这种记账方式称为区块链技术活分布式总账技术。

      区块链中每个节点的权利都是一样的,任意节点被摧毁都不会影响整个系统的安全性,也不会造成数据的丢失。每个节点在系统中的权重都是一致的,系统每次都在链入这个系统的节点中选择记账者,因此某个或某部分的节点被摧毁,宕机都不会影响整个系统的运作

      每个节点的账本数据都是一模一样的,也就意味着单个节点的篡改串改是没有意义的。如系统发现两个账本对不上,则就认为拥有相同账本数量较多的节点版本才是真实的账本数据。对于被篡改的数据账本,系统会自动舍弃。·

      每个区块包括了三种要素:一是本区块的ID,二是若干交易单,三是前一个区块的ID。

      每个人在对交易的有效性进行验证后都可以根据这些交易数据生成新区快。为避免虚假交易或重复交易,需要构建工作量机制证明。

        区块链系统由自下而上的数据层,网络层,共识层,激励层,合约层和应用层组成。  

      数据层封装了底层数据区块的链式结构,以及相关的非对称公钥数据加密技术和时间戳等技术。

      网络层包括分布式组网机制,数据传播机制和数据验证机制等。由于采用了P2P的组网技术,也就意味着区块链是具有自动组网功能的。

      共识层主要封装网络节点的各类共识机制算法。共识机制算法是区块链技术的核心技术,决定了到底该由谁来记账,记账者的选择方式将会影响到整个系统的安全性和可靠性。

      激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制。该层主要出现在公有链中,因为公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。

      合约层主要封装各类的脚本,算法和智能合约,是区块链可编程特性的基础。

      应用层封装了区块链的各种应用场景和案例。在该模型中,基于时间戳的链式区块结构,分布式节点的共识机制,基于共识机制的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。

      区块链通过数学共识机制是非对称加密算法,即在加密和解密的过程中使用一个“密钥对”,“密钥对”中的两个秘钥具有非对称的特点:一是用其中一个密钥加密后,只有另一个密钥才能解开;二是其中一个密钥公开后,根据公开的密钥也没办法计算出另一个密钥。

      工作量证明机制

        一方提交已知难以计算但易于验证的计算结构,而其他任何人都能够通过验证这个答案就确信证明着为了求得结果已经完成了大量的计算工作。

        一个符合要求的Block Hash由前N个前导零构成。零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量的尝试计算,计算时间取决于及其的哈希运算速度。当某个节点提出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算。寻找合理的Hash是一个低概率事件,当节点拥有占全网的n%的算力时,该节点即有n/100的概率找到Block Hash。

      权益证明机制

        权益证明机制是一种SHA256的替代办法,从根本上结局了PoW计算浪费的问题,他不要求证明者完成一定数量的计算工作,而是要求证明者对某些数量的钱展示所有权,通过每一笔交易销毁的币天数来实现。币天数代表一个特定的币,距离最后一次在网络上交易的时间。在给定的时间点内,只存在有限币天数,它们在那些长期持有大量货币结余的人手中持续增加。所以币天数可以被视为在网络中权益的代表。每当这些币有交易时,币天数即被销毁,因为不能被重复使用。

        PoS就是把PoW由算力决定记账权变成由持有币数来决定记账权。在PoW中是按照算力占总算力的百分比,从而决定你活的本次记账权的概率。在PoS中持有币数占系统总币数的百分比,决定着获得本次记账权的概率。

      股份授权证明机制

        DPoS是一种新的保障区块链网络安全的算法。在系统中,每个币就等于一张选票,持有币的人可以根据自己持有币的数量,来投出自己的若干张选票给自己信任的受托人。这些受托人可以是对系统有贡献的,也可以是投票者所信赖的,并且受托者可以不需要拥有最多的系统资源。投票可以在任意时间进行,而系统会选出获得投票数最多的n人作为系统受托人,他们的工作是签署区块,且在每个区块被签署之前,必须验证前一个区块已经被受信任节点所签署。  

        由于受托人进行记账也能够获得新币的奖励,他们会努力拉票,并且维护好与投票者的关系及试图通过参与系统的发展,从而吸引更多人给他们投票。PoW中,持有比特币的人对系统没有发言权,他们不能参与记账决定权,也不能左右系统发展,因为系统发言权主要掌握在矿工和开发者手中。DPoS的另一个优势是由于记账人数可控,并且轮流进行记账,能够通过提供更好的软硬件环境来构建效率极高的区块链系统。

      区块链的类型:公有链,私有链,联盟链,许可链和混合链和复杂链。

        公有链:全世界任何人都可以在任何时候加入,任意读取数据,任何人都能发送交易且交易能获得有效确认,任何人都能参与其中共识过程的区块链。共识过程决定哪个区块可被添加到区块链中和明确当前状态。共识过程遵循着一般原则:每个人从中可获得的经济奖励对共识过程做出的贡献成正比。

        私有链:写入权限由某个组织和机构控制的区块链。读取权限或对外开放或被进行了任意程度的限制。私有链的优势在于系统内部的处理速度往往取决于最弱的节点,而私有链的所有节点和网络环境都是完全可以控制的,因此能确保私有链在处理速度方面远远优于公有链。私有链和公有链对比的另一个优势是公有链会发行某种代币来让每个节点参与竞争记账。对于私有链中的节点来说,记账本身就是工作的一部分,因为不需要发行代币对其进行奖励。

        联盟链:共识过程收到预选节点控制的区块链。

        许可链:每个节点都是需要许可才能加入到区块链系统,私有链和联盟链都属于许可链。  

      智能合约:自动执行合约的条款的计算机程序。智能合约有三个因素:自治,自足和去中心化。自治表示合约一旦启动就回自动运行,而不需要它的发起者进行任何的干预。智能合约通过自足以获取资源,即通过提供服务或发行资产来获取资金。智能合约是去中心化的,他们并不依赖单个中心化服务器,而是分布式的,通过网络节点来自动运行。

      

      DAO(Distributed Autonomous Organization, 分布式自治组织)和DAC(Distrubted Autonomous Corpoation, 分布式自治机构)通过一系列公开公正的规则,可以在无人干预和管理的情况下自主运行的组织机构。DAO和DAC有三条定律:诚信机制,不可侵犯机制和自我保护。

        诚信机制:靠多个DAO和DAC节点来对每一个DAO和DAC节点的行为进行互相审查,来确保所有的规则能够被强制实施。而单个节点的无赖行为则会被集体简单封锁。即使是系统的制造者不遵守规则也是无效的,而有敌意的高压控制也是无效的。

        不可侵犯机制:能够确保没有多数股东的同意的情况下,对任何DAO和DAC规则的更改都是不被执行的,没有集体一半以上的投票来同意采纳,对极少数节点的侵犯也是不会成功的。

        自我保护:能够让整个系统采取更多的手段,以抵挡对DAO和DAC生存造成任何威胁因素的能力。

  • 相关阅读:
    网易163邮箱被盗号找回经历
    C++中基类的析构函数为什么要用virtual虚析构函数
    像linux ls命令一样优雅地打印
    【Linux】- 六个超赞的字符画生成器
    linux欢迎界面 /etc/motd
    Linux 的 FIGlet 指令产生 ASCII Art 大型文字教学
    趣玩 Linux:四个生成字符图案(字符画)的命令
    案例参考手册-第四章 Curses字符界面.docx
    读取键盘输入流改为原始模式
    centos 7配置系统调度isolcpus(软中断绑定)
  • 原文地址:https://www.cnblogs.com/forerver-elf/p/8038271.html
Copyright © 2020-2023  润新知