当前位置: 首页 > news >正文

区块链基础机制

共识机制

  • 由于区块链是去中心化的,结点是各处分散且平行的,所以必须设计一套制度,来维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链运行的使用者,惩罚危害区块链运行的恶意使用者。这样的制度必须依赖某种方式来证明,是谁取得了一个区块链的记账权,可以获得生成这一个区块的奖励;又是谁意图进行破坏,就会受到一定的惩罚,这就是共识机制。
  • 拜占庭将军问题

工作量证明pow

  • 工作原理:
    1. 取得一些公开的数据,并加上一个随机值(Nonce)
    2. 以数据和随机数作为输入值计算hash值。
    3. 检查生成的hash值是否符合条件,若符合就记下,不符合就重新计算。
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GTGLPZei-1661956995040)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220128141912168.png)]
  • 这个工程找到随机数107105时才有匹配结果。需要暴力计算。
  • 由于工作量证明机制需要消耗巨大的算力,如果有人尝试恶意破坏,需要付出巨大的经济成本,这就防止了恶意的数据修改
  • 但是只有第一个获取有效hash值的结点能获得奖励,其他结点算力将被浪费掉。
  • 一般来说谁的算力强,谁最先解决问题并生成区块,获取奖励的概率就越大。当掌握超过整个区块链中的一半算力时,从理论上讲就能控制整条链的走向,这也就是所谓51%攻击的由来。

PoS机制

  • 权益证明机制(Proof of Stake,PoS),不同于PoW机制要求进行一定量的计算,PoS机制要求提供的是保证金,或者说是一定数量数字货币的拥有权。
  • PoS工作原理:
    • 通过保证金来确认一个合法的块称为新的区块,收益为保证金的利息和交易服务费。
    • 提供证明的保证金越多,则获得记账权的概率就越大。

DPoS机制

  • 股份授权证明机制(Delegated Proof of Stake,DPoS),与PoS机制基本原理相同,只是选举了若干代理人,由代理人执行验证和记账功能
  • 网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造该区块前后区块的代表建立直接连接(建立这种直接连接是为了确保制造区块的代表能得到报酬)
  • DPoS的好处是大幅缩小了参与验证和记账结点的数量,可以达到秒级的共识验证。

DAG机制

  • 有向无环图(Direct Acyclic Graph,DAG),从定义上讲,DAG是一个没有有向循环的、有限的有向图。
  • 具体来说,它由有限个顶点和有向边组成,每条有向边都从一个顶点指向另一个顶点;从任意一个顶点出发都不能通过这些有向边回到原来的顶点。

账户

  • 在区块链技术中,账户是一个实体在区块链中代表自己的一串二进制数字。

  • 区块链中账户的地址是利用非对称加密算法从个人的私钥计算得到的,不能由账户地址反推出私钥。

  • 比特币地址生成原理:

  • 以太坊网络由两种类型的账户:

    1. 外部账户
      • 外部账户和比特币账户类似,由私钥生成的账户
    2. 合约账户
      • 合约账户是指只能合约的账户地址,是在创建合约时确定的,由代码进行控制。
      • 每当合约账户收到一条消息,合约内部的代码就会被激活,允许它对内部存储进行读取和写入,发送其他消息或者创建合约

钱包

  • 在区块链中,一个钱包可以存放多个账户,本质上来说,钱包存放的是用户的密钥对,也就是说,钱包是密钥的管理工具,钱包中包含的是几个成对的私钥和公钥,用户用私钥来签名交易,用公钥来生成账户地址。
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T2e7INyG-1661956995042)(https://cdn.jsdelivr.net/gh/Cltlient/PiGoCDN/img/20220128152311.png)]

交易

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9CN8I2vW-1661956995042)(https://cdn.jsdelivr.net/gh/Cltlient/PiGoCDN/img/20220128153616.png)]

  • 交易过程:

    1. 某人发起交易,输入交易对象和交易数量,并用私钥对交易进行签名,请求的内容包括交易数量、对方的地址、签名和公钥

    2. 交易被广播到去中心化网络,网络中的其他结点都知道了这笔新生成的交易。

    3. 其他结点收到这笔交易信息开始验证交易的正确性,验证通过交易信息中的交易数量、地址、签名和公钥计算是否匹配。

    4. 多个交易组成一个区块,即前面说的挖矿过程。

    5. 新生成的区块加入到一个区块链的末端。

    6. 至此,一个交易完成

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fqhz0ZFY-1661956995042)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220128153058859.png)]

智能合约

  • 智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,不可篡改,分布式。

  • 智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪但不可逆转。

  • 制能合约不知是一个可以自动执行的计算机程序,它还是一个基于区块链的参与者。

  • 它可以对接收到的信息进行回应,可以接收和存储价值,也可以向外发送信息和价值。

  • 智能合约具体是指运行在可复制、共享的账本上的计算机程序,可以处理信息,接收、储存和发送价值的脚本。

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qU8AzFV6-1661956995043)(https://cdn.jsdelivr.net/gh/Cltlient/PiGoCDN/img/20220128153453.png)]

相关文章:

  • [项目管理-7]:软硬件项目管理 - 项目采购管理 (物)
  • 【面试题】
  • 快速读论文----异质图神经网络(写文章帮助总结异质图神经网络的文章)
  • 数学建模常用方法讲解(一)
  • K8s简介
  • pat练习
  • 计算建模之EM算法
  • Django-(2)
  • opencv remap inverse 这里的x,y是dst下的,所以我没法在知道src的x,y下得到该点在dst的位置.
  • 温故知新(十三)——CAN
  • 如何跳出forEach循环
  • 大咖论道|银行核心系统国产分布式数据库选型思考
  • 简单5分钟,将lowcode低代码融入到你的中后台管理系统
  • token、cookie、session
  • 强大多云混合多K8S集群管理平台Rancher入门实战
  • JS 中的深拷贝与浅拷贝
  • Angularjs之国际化
  • C++11: atomic 头文件
  • github指令
  • Java IO学习笔记一
  • Java的Interrupt与线程中断
  • JSONP原理
  • markdown编辑器简评
  • Mocha测试初探
  • PHP的类修饰符与访问修饰符
  • Python 反序列化安全问题(二)
  • QQ浏览器x5内核的兼容性问题
  • SpiderData 2019年2月23日 DApp数据排行榜
  • SpriteKit 技巧之添加背景图片
  • 闭包,sync使用细节
  • 仿天猫超市收藏抛物线动画工具库
  • 复习Javascript专题(四):js中的深浅拷贝
  • 利用jquery编写加法运算验证码
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端js -- this指向总结。
  • 人脸识别最新开发经验demo
  • 深度解析利用ES6进行Promise封装总结
  • 延迟脚本的方式
  • elasticsearch-head插件安装
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #1015 : KMP算法
  • #define
  • #Ubuntu(修改root信息)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (39)STM32——FLASH闪存
  • (6)设计一个TimeMap
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (solr系列:一)使用tomcat部署solr服务
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (南京观海微电子)——I3C协议介绍
  • (三)mysql_MYSQL(三)
  • (新)网络工程师考点串讲与真题详解
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)