主页 > imtoken苹果钱包app > 另见区块链

另见区块链

imtoken苹果钱包app 2023-01-26 05:23:16

1. 区块链

1.1 什么是区块链

区块链有不同的定义比特币系统地址理解为,有的是技术应用层面的,有的是技术层面的,这里我根据不同的解释总结一个技术层面的定义

区块链的本质是分布式数据库。 每个节点的数据由若干个数据块组成。 每个数据都与前一个块的哈希值相关联,并首尾相连。

作为分布式数据库,具有多副本、去中心化、数据不可篡改、可信等特点

在详细了解区块链之前,我们先了解一下中心化系统和分布式系统。 通过这些知识,会更容易理解区块链的工作过程

1.2 集中式分布式系统知识

集中式系统

集中式系统是指由一台主机集中处理数据

优点是结构比较简单,

缺点是当单点发生故障时,会牵扯到整个系统或网络,扩展性差

分布式系统

分布式系统由一组主机功能提供。 这些主机不分主从,彼此之间可以交换信息。

优点是系统可靠,可扩展

缺点是需要处理数据一致性问题比特币系统地址理解为

为什么要处理数据一致性问题?

在分布式系统中,由于网络延迟等原因,不同数据节点之间很可能会出现数据不一致的情况。因此,需要保证不同节点数据的完整性和正确性

数据一致性分为3个等级

强一致性可以理解为在任何时刻,所有节点中的数据都是相同的。 在同一时间点,你在A节点获取的key1的值应该和B节点获取的key1的值相同。当弱一致性系统返回写入数据成功时,并不承诺读取最新写入的立即值,也不保证将读取多长时间。 但它会尽量保证数据在一定的时间级别(比如秒级别)之后能够达到一致的状态。 最终一致性是弱一致性的一种特殊形式。 保证在没有新的数据更新的情况下,所有的访问最终都是最后更新的值。

从广义上讲,凡是把数据限制在一定范围内的,都可以认为是中心化系统,比如微信、支付宝、xx机构等。

在中心化系统中,我们必须无条件地相信它能够正确处理我们的请求。 中心化系统一旦崩溃,将造成严重损失

1.3 区块链的概念

区块链发展史

区块链1.0是以比特币为代表的数字货币应用,其场景包括支付、流通等货币功能; 区块链2.0是数字货币与智能合约的结合,优化了金融领域应用中更广泛的场景和流程; 区块链3.0超越金融领域,为各行各业提供去中心化的解决方案。

区块链的分类

公共区块链,

任何用户都可以读取、写入和参与共识区块链,如比特币、以太坊等。

联盟链

只有被允许的用户才能参与,或其他用户只能查询或写入信息

私人区块链

只允许特定用户参与

一般来说,在私有链和联盟链的情况下,对一致性和正确性有很强的要求。 一般来说,应该采用一致性强的共识算法。 在公链的情况下,通常不可能做到100%的一致性和正确性,通常会采用最终一致性的共识算法。

2. 区块链工作流程

2.1 写入新数据的过程:

1. 发送节点向全网广播新的数据记录

2、接收节点验证记录的数据记录,如记录信息是否合法。 通过验证后,数据记录将被包含在一个块中

3. 全网所有接收节点对区块执行共识算法(工作量证明、权利证明等),实现数据一致性

4. 区块通过共识算法流程后,将被正式纳入区块链进行存储。 全网所有节点都会接受改变后的节点值,该区块的哈希值将被视为最新的区块哈希值。 新区块将在区块链的基础上继续延伸

目前主流的共识机制包括工作量证明、权益证明、工作量和权益混合证明、瑞波共识协议等。

以比特币交易为例:为你讲解区块链的工作流程

消费者甲、乙

矿工C、D

目前每成功创建一个区块,创建的矿工可以获得1个比特币的奖励

1. A支付1个比特币给B,说明他将把这1个比特币交给B,并向全网广播数据。 支付0.01比特币作为手续费

2、矿工C和D收到交易后,验证交易的合法性,即A支付给B的比特币存在且未被消费。 这时,矿工可能会收到别人发送的交易,矿工会选择那些优先级高的交易来构建区块。 选择那些交易并放入区块后,矿工将计算这些交易支付的总交易费用+当前创建区块的成本奖励1比特币,作为区块的第一笔交易,作为对自己的奖励,记录下来在区块中,然后是剩余的交易。手续费低的交易可能不会立即被确认,需要等待下一个区块的构建被确认

3. 为了保证大家确认的交易是一致的,每个节点不会将选中的交易记录到自己的区块中。 需要一种算法来达成共识。

比特币采用POW工作量证明方式达成共识

在POW工作量证明机制下:矿工C和矿工D分别使用一个幸运数字+区块中的所有交易计算哈希值。 通过改变不同的幸运数字,计算出的哈希值小于目标值。 当矿工C成功计算出满足条件的哈希值时,他会将区块广播给其他节点

4、矿工D在构建这个区块时发现了D的广播,计算结果正确。 在自己当前节点记录后,放弃当前区块的构建,开始下一个区块的构建

2.2 比特币区块结构

块结构如下

区块头结构如下

新难度值=旧难度值*(过去2016个区块花费的时间/20160分钟) 工作量证明需要有一个目标值。 比特币工作量证明的目标值(Target)计算公式如下:

目标值=最大目标值/难度值 其中最大目标值为常数值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

3. 常见的共识算法

3.1 工作证明 POW

通过不断尝试计算满足目标的哈希值达成共识,算力越强,获得记账权的机会就越大

优点: 1. 完全去中心化,节点自由进出,避免了建立和维护中心化信用机构的成本。 2、只要网络破坏者的算力不超过全网总算力的50%,网络的交易状态就不会被破坏。

缺点: 1、目前比特币挖矿造成大量资源浪费; 《尽量避免这个问题的解决方案:Prime Coin》 2、挖矿的激励机制也造成了矿池算力的高度集中,背离了最初去中心化设计的初衷。 3、PoW机制的共识较长,太短容易受到网络因素和商业应用的影响。

3.2 权益证明 POS

根据持有的币种和持有时间进行共识。 消耗的币越老,获得记账权的几率越大

优势

1. 缩短达成共识的时间,减少资源浪费

缺点: 1. 破坏者进行网络攻击的成本低,需要验证网络的安全性。 2. 拥有大量代币的节点有更大的机会获得记账权,这将使网络的共识被少数富裕​​账户所支配,从而失去公平性。

3.3 分享授权证明DPoS

DPoS(Delegated Proof of Share)机制,类似于董事会投票。

股东投票选出一定数量的见证人,每个见证人按照授权时间依次生成区块。 如果见证人不能在给定的时间片内生成区块,则将区块生成权限分配给下一个时间片。 证人。 利益相关者可以随时投票更换这些见证人。 DPoS 的这种设计使得块生成更快、更节能。

优点: 1.大幅减少参与验证和记账节点数量,可实现秒级共识验证。

缺点:

1. 选举固定数量的见证人作为记账候选人可能不适合完全去中心化的场景。 2.在网络节点数量很少的情况下,民选证人的代表性并不强。

3.4 dBFT:蚂蚁区块链(委托BFT,授权拜占庭容错机制)使用权益选择记账人,然后记账人通过拜占庭容错算法达成共识。

优势:

1. 专业的记账人 2. 可以容忍任何类型的错误 3. 记账由多人完成,每个区块具有最终性,不会分叉 3. 算法的可靠性有严格的数学证明 缺点:

1、当三分之一以上的记账员停止工作时,系统将无法提供服务。 2. 当三分之一以上的记账人共同作案,而其他所有记账人刚好分成两个网络孤岛时,恶意记账人可以导致系统分叉,但会留下密码证据

3.5 PBFT:Fabric使用的经典算法(拜占庭容错)。 中央银行推荐基于消息传递的共识算法。 该算法通过三个阶段达成共识,这些阶段可能因失败而重复。 优势:

1. 共识高效,可实现高频交易。 缺点:

2、当系统只有33%的节点在运行时,系统将停止运行。

3.6 其他分布式共识算法分布式共识算法是在传统的分布式共识技术的基础上发展起来的。 其中又分为解决拜占庭一般问题的拜占庭容错算法,如PBFT等解决非拜占庭问题的分布式共识算法(Pasox、Raft)。 这类算法是目前联盟链和私有链场景中常用的共识机制。 .

优势:

1、实现秒级快速共识机制,保证一致性。 缺点:

2、去中心化程度不如公链上的共识机制; 更适合多方参与的多中心商业模式。

4. 智能合约

一个智能合约由一组代码(合约的函数)和里面的数据(合约的状态)组成

区块链本身无法运行这些代码,而是由节点本地环境运行

部署合约代码时,代码会被部署到区块链中的一个区块,所有节点都知道并记录

调用合约时,每个节点会根据输入运行相应的代码,然后达成共识,保证结果的正确性和一致性

5. 区块链应用

1、分布式记账,将T+n缩短为T+0甚至更短

在每个中心机构中,每个中心都有自己独立的会计数据系统

每个中心都需要保证自己的数据是正确的,并且与其他中心的数据交互没有问题。 为此,需要进行大量的内外对账,无法立即确认数据是否正确。

通过区块链技术,不同的中心成为区块链中的一个节点。 任何交易只有在所有节点达成共识后才能确认,减少了等待时间。

成为能够有效解决数据隐私问题的环签名技术(零知识证明)

2.数据存储和知识产权保护

常规的数据存在和知识产权保护往往由相应的中心控制,用户必须无条件信任,而且由于中心化系统,数据过多意味着更多的管理成本和工作量,记录速度也很慢。 会受到影响

并且依托区块链的可信性和数据不可篡改的特性,我们可以将数据的记录时间和数据的电子形式存储在区块链中

区块链的开放性使得用户更容易参与到相应的数据存储或知识产权保护中

区块链信息一旦写入,对应时间戳下的数据不可篡改,修改后的数据后续修改也能查到

6.区块链部分项目

以太坊和以太坊迷雾

一个新的开放区块链平台,允许任何人在公共和内部平台上构建和使用在区块链技术上运行的去中心化应用程序

安装和文档

与Hyberledger-Fabric相比,通过以太坊更容易理解区块链的一些工作原理

命令行界面以太坊

图形界面迷雾

IBM 的 Hyberledger-Fabric

ibm推出的分布式账本解决方案平台,支持模块化架构,提供高度的保密性、弹性、灵活性和可扩展性

安装和介绍文档

官方例子

7.其他关键词

1. 51%攻击 33%攻击 2. 零知识证明(环签名) 3. 非对称加密 4. 布雷顿森林体系 5. 黄金标准