共识机制
- 由于区块链是去中心化的,结点是各处分散且平行的,所以必须设计一套制度,来维护系统的运作顺序与公平性,统一区块链的版本,并奖励提供资源维护区块链运行的使用者,惩罚危害区块链运行的恶意使用者。这样的制度必须依赖某种方式来证明,是谁取得了一个区块链的记账权,可以获得生成这一个区块的奖励;又是谁意图进行破坏,就会受到一定的惩罚,这就是共识机制。
- 拜占庭将军问题
工作量证明pow
- 工作原理:
- 取得一些公开的数据,并加上一个随机值(Nonce)
- 以数据和随机数作为输入值计算hash值。
- 检查生成的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是一个没有有向循环的、有限的有向图。
- 具体来说,它由有限个顶点和有向边组成,每条有向边都从一个顶点指向另一个顶点;从任意一个顶点出发都不能通过这些有向边回到原来的顶点。
账户
钱包
- 在区块链中,一个钱包可以存放多个账户,本质上来说,钱包存放的是用户的密钥对,也就是说,钱包是密钥的管理工具,钱包中包含的是几个成对的私钥和公钥,用户用私钥来签名交易,用公钥来生成账户地址。
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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)] -
交易过程:
-
某人发起交易,输入交易对象和交易数量,并用私钥对交易进行签名,请求的内容包括交易数量、对方的地址、签名和公钥 -
交易被广播到去中心化网络,网络中的其他结点都知道了这笔新生成的交易。 -
其他结点收到这笔交易信息开始验证交易的正确性,验证通过交易信息中的交易数量、地址、签名和公钥计算是否匹配。 -
多个交易组成一个区块,即前面说的挖矿过程。 -
新生成的区块加入到一个区块链的末端。 -
至此,一个交易完成 -
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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)] -
|