什么是数据区块链(BlockChain)

什么是数据区块链(BlockChain),第1张

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,

它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

扩展资料

大多区块链公链受到了扩展性的限制。区块链技术最大的特征就是去中心化,这就要求网络中的所有账本都需要处理记账流程。分布式记账的安全性高,误 *** 作率低,还具有政治中立性和正确性。

但是区块链技术在拥抱了这些特性的同时,牺牲掉了扩展性,无法满足个性化监管,在保护数据隐私方面略显不足。而且,随着的账本数量的增长,交互延迟会呈指数式增长,也就是说区块链网络中的账本越多延迟就会越高。

参考资料来源:百度百科-区块链 (数据结构)

一、区块链共识机制的目标

区块链是什么?简单而言,区块链是一种去中心化的数据库,或可以叫作分布式账本(distributed ledger)。传统上所有的数据库都是中心化的,例如一间银行的账本就储存在银行的中心服务器里。中心化数据库的弊端是数据的安全及正确性全系于数据库运营方(即银行),因为任何能够访问中心化数据库的人(如银行职员或黑客)都可以破坏或修改其中的数据。

而区块链技术则容许数据库存放在全球成千上万的电脑上,每个人的账本通过点对点网络进行同步,网络中任何用户一旦增加一笔交易,交易信息将通过网络通知其他用户验证,记录到各自的账本中。区块链之所以得其名是因为它是由一个个包含交易信息的区块(block)从后向前有序链接起来的数据结构。

很多人对区块链的疑问是,如果每一个用户都拥有一个独立的账本,那么是否意味着可以在自己的账本上添加任意的交易信息,而成千上万个账本又如何保证记账的一致性? 解决记账一致性问题正是区块链共识机制的目标 。区块链共识机制旨在保证分布式系统里所有节点中的数据完全相同并且能够对某个提案(proposal)(例如是一项交易纪录)达成一致。然而分布式系统由于引入了多个节点,所以系统中会出现各种非常复杂的情况;随着节点数量的增加,节点失效或故障、节点之间的网络通信受到干扰甚至阻断等就变成了常见的问题,解决分布式系统中的各种边界条件和意外情况也增加了解决分布式一致性问题的难度。

区块链又可分为三种:

公有链:全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化“的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。

联盟链:联盟链是指有若干个机构共同参与管理的区块链。每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。这类区块链被认为是“部分去中心化”。

私有链:指其写入权限是由某个组织和机构控制的区块链。参与节点的资格会被严格的限制,由于参与的节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击、并且能够做到身份认证等金融行业必须的要求。相比中心化数据库,私有链能够防止机构内单节点故意隐瞒或篡改数据。即使发生错误,也能够迅速发现来源,因此许多大型金融机构在目前更加倾向于使用私有链技术。

二、区块链共识机制的分类

解决分布式一致性问题的难度催生了数种共识机制,它们各有其优缺点,亦适用于不同的环境及问题。被众人常识的共识机制有:

l PoW(Proof of Work)工作量证明机制

l PoS(Proof of Stake)股权/权益证明机制

l DPoS(Delegated Proof of Stake)股份授权证明机制

l PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法

l DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法

l SCP (Stellar Consensus Protocol ) 恒星共识协议

l RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法

l Pool验证池共识机制

(一)PoW(Proof of Work)工作量证明机制

1 基本介绍

在该机制中,网络上的每一个节点都在使用SHA256哈希函数(hash function) 运算一个不断变化的区块头的哈希值 (hash sum)。 共识要求算出的值必须等于或小于某个给定的值。 在分布式网络中,所有的参与者都需要使用不同的随机数来持续计算该哈希值,直至达到目标为止。当一个节点的算出确切的值,其他所有的节点必须相互确认该值的正确性。之后新区块中的交易将被验证以防欺诈。

在比特币中,以上运算哈希值的节点被称作“矿工”,而PoW的过程被称为“挖矿”。挖矿是一个耗时的过程,所以也提出了相应的激励机制(例如向矿工授予一小部分比特币)。PoW的优点是完全的去中心化,其缺点是消耗大量算力造成了的资源浪费,达成共识的周期也比较长,共识效率低下,因此其不是很适合商业使用。

2 加密货币的应用实例

比特币(Bitcoin) 及莱特币(Litecoin)。以太坊(Ethereum) 的前三个阶段(Frontier前沿、Homestead家园、Metropolis大都会)皆采用PoW机制,其第四个阶段 (Serenity宁静) 将采用权益证明机制。PoW适用于公有链。

PoW机制虽然已经成功证明了其长期稳定和相对公平,但在现有框架下,采用PoW的“挖矿”形式,将消耗大量的能源。其消耗的能源只是不停的去做SHA256的运算来保证工作量公平,并没有其他的存在意义。而目前BTC所能达到的交易效率为约5TPS(5笔/秒),以太坊目前受到单区块GAS总额的上限,所能达到的交易频率大约是25TPS,与平均千次每秒、峰值能达到万次每秒处理效率的VISA和MASTERCARD相差甚远。

3 简图理解模式

(ps:其中A、B、C、D计算哈希值的过程即为“挖矿”,为了犒劳时间成本的付出,机制会以一定数量的比特币作为激励。)

(Ps:PoS模式下,你的“挖矿”收益正比于你的币龄(币的数量天数),而与电脑的计算性能无关。我们可以认为任何具有概率性事件的累计都是工作量证明,如淘金。假设矿石含金量为p% 质量, 当你得到一定量黄金时,我们可以认为你一定挖掘了1/p 质量的矿石。而且得到的黄金数量越多,这个证明越可靠。)

(二)PoS(Proof of Stake)股权/权益证明机制

1基本介绍

PoS要求人们证明货币数量的所有权,其相信拥有货币数量多的人攻击网络的可能性低。基于账户余额的选择是非常不公平的,因为单一最富有的人势必在网络中占主导地位,所以提出了许多解决方案。

在股权证明机制中,每当创建一个区块时,矿工需要创建一个称为“币权”的交易,这个交易会按照一定比例预先将一些币发给矿工。然后股权证明机制根据每个节点持有代币的比例和时间(币龄), 依据算法等比例地降低节点的挖矿难度,以加快节点寻找随机数的速度,缩短达成共识所需的时间。

与PoW相比,PoS可以节省更多的能源,更有效率。但是由于挖矿成本接近于0,因此可能会遭受攻击。且PoS在本质上仍然需要网络中的节点进行挖矿运算,所以它同样难以应用于商业领域。

2数字货币的应用实例

PoS机制下较为成熟的数字货币是点点币(Peercoin)和未来币(NXT),相比于PoW,PoS机制节省了能源,引入了" 币天 "这个概念来参与随机运算。PoS机制能够让更多的持币人参与到记账这个工作中去,而不需要额外购买设备(矿机、显卡等)。每个单位代币的运算能力与其持有的时间长成正相关,即持有人持有的代币数量越多、时间越长,其所能签署、生产下一个区块的概率越大。一旦其签署了下一个区块,持币人持有的币天即清零,重新进入新的循环。

PoS适用于公有链。

3区块签署人的产生方式

在PoS机制下,因为区块的签署人由随机产生,则一些持币人会长期、大额持有代币以获得更大概率地产生区块,尽可能多的去清零他的"币天"。因此整个网络中的流通代币会减少,从而不利于代币在链上的流通,价格也更容易受到波动。由于可能会存在少量大户持有整个网络中大多数代币的情况,整个网络有可能会随着运行时间的增长而越来越趋向于中心化。相对于PoW而言,PoS机制下作恶的成本很低,因此对于分叉或是双重支付的攻击,需要更多的机制来保证共识。稳定情况下,每秒大约能产生12笔交易,但因为网络延迟及共识问题,需要约60秒才能完整广播共识区块。长期来看,生成区块(即清零"币天")的速度远低于网络传播和广播的速度,因此在PoS机制下需要对生成区块进行"限速",来保证主网的稳定运行。

4简图理解模式

(PS:拥有越多“股份”权益的人越容易获取账权。是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多。)

(在纯POS体系中,如NXT,没有挖矿过程,初始的股权分配已经固定,之后只是股权在交易者之中流转,非常类似于现实世界的股票。)

(三)DPoS(Delegated Proof of Stake)股份授权证明机制

1基本介绍

由于PoS的种种弊端,由此比特股首创的权益代表证明机制 DPoS(Delegated Proof of Stake)应运而生。DPoS 机制中的核心的要素是选举,每个系统原生代币的持有者在区块链里面都可以参与选举,所持有的代币余额即为投票权重。通过投票,股东可以选举出理事会成员,也可以就关系平台发展方向的议题表明态度,这一切构成了社区自治的基础。股东除了自己投票参与选举外,还可以通过将自己的选举票数授权给自己信任的其它账户来代表自己投票。

具体来说, DPoS由比特股(Bitshares)项目组发明。股权拥有着选举他们的代表来进行区块的生成和验证。DPoS类似于现代企业董事会制度,比特股系统将代币持有者称为股东,由股东投票选出101名代表, 然后由这些代表负责生成和验证区块。 持币者若想称为一名代表,需先用自己的公钥去区块链注册,获得一个长度为32位的特有身份标识符,股东可以对这个标识符以交易的形式进行投票,得票数前101位被选为代表。

代表们轮流产生区块,收益(交易手续费)平分。DPoS的优点在于大幅减少了参与区块验证和记账的节点数量,从而缩短了共识验证所需要的时间,大幅提高了交易效率。从某种角度来说,DPoS可以理解为多中心系统,兼具去中心化和中心化优势。优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:投票积极性不高,绝大部分代币持有者未参与投票;另整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。

DPoS机制要求在产生下一个区块之前,必须验证上一个区块已经被受信任节点所签署。相比于PoS的" 全民挖矿 ",DPoS则是利用类似" 代表大会 "的制度来直接选取可信任节点,由这些可信任节点(即见证人)来代替其他持币人行使权力,见证人节点要求长期在线,从而解决了因为PoS签署区块人不是经常在线而可能导致的产块延误等一系列问题。 DPoS机制通常能达到万次每秒的交易速度,在网络延迟低的情况下可以达到十万秒级别,非常适合企业级的应用。 因为公信宝数据交易所对于数据交易频率要求高,更要求长期稳定性,因此DPoS是非常不错的选择。

2 股份授权证明机制下的机构与系统

理事会是区块链网络的权力机构,理事会的人选由系统股东(即持币人)选举产生,理事会成员有权发起议案和对议案进行投票表决。

理事会的重要职责之一是根据需要调整系统的可变参数,这些参数包括:

l 费用相关:各种交易类型的费率。

l 授权相关:对接入网络的第三方平台收费及补贴相关参数。

l 区块生产相关:区块生产间隔时间,区块奖励。

l 身份审核相关:审核验证异常机构账户的信息情况。

l 同时,关系到理事会利益的事项将不通过理事会设定。

在Finchain系统中,见证人负责收集网络运行时广播出来的各种交易并打包到区块中,其工作类似于比特币网络中的矿工,在采用 PoW(工作量证明)的比特币网络中,由一种获奖概率取决于哈希算力的抽**方式来决定哪个矿工节点产生下一个区块。而在采用 DPoS 机制的金融链网络中,通过理事会投票决定见证人的数量,由持币人投票来决定见证人人选。入选的活跃见证人按顺序打包交易并生产区块,在每一轮区块生产之后,见证人会在随机洗牌决定新的顺序后进入下一轮的区块生产。

3 DPoS的应用实例

比特股(bitshares) 采用DPoS。DPoS主要适用于联盟链。

4简图理解模式

(四)PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法

1 基本介绍

PBFT是一种基于严格数学证明的算法,需要经过三个阶段的信息交互和局部共识来达成最终的一致输出。三个阶段分别为预备 (pre-prepare)、准备 (prepare)、落实 (commit)。PBFT算法证明系统中只要有2/3比例以上的正常节点,就能保证最终一定可以输出一致的共识结果。换言之,在使用PBFT算法的系统中,至多可以容忍不超过系统全部节点数量1/3的失效节点 (包括有意误导、故意破坏系统、超时、重复发送消息、伪造签名等的节点,又称为”拜占庭”节点)。

2 PBFT的应用实例

著名联盟链Hyperledger Fabric v06采用的是PBFT,v10又推出PBFT的改进版本SBFT。PBFT主要适用于私有链和联盟链。

3 简图理解模式

上图显示了一个简化的PBFT的协议通信模式,其中C为客户端,0 – 3表示服务节点,其中0为主节点,3为故障节点。整个协议的基本过程如下:

(1) 客户端发送请求,激活主节点的服务 *** 作;

(2) 当主节点接收请求后,启动三阶段的协议以向各从节点广播请求;

(a) 序号分配阶段,主节点给请求赋值一个序号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各从节点;

(b) 交互阶段,从节点接收pre-prepare消息,向其他服务节点广播prepare消息;

(c) 序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端响应。

(3) 客户端等待来自不同节点的响应,若有m+1个响应相同,则该响应即为运算的结果;

(五)DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法

1 基本介绍

DBFT建基于PBFT的基础上,在这个机制当中,存在两种参与者,一种是专业记账的“超级节点”,一种是系统当中不参与记账的普通用户。普通用户基于持有权益的比例来投票选出超级节点,当需要通过一项共识(记账)时,在这些超级节点中随机推选出一名发言人拟定方案,然后由其他超级节点根据拜占庭容错算法(见上文),即少数服从多数的原则进行表态。如果超过2/3的超级节点表示同意发言人方案,则共识达成。这个提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分之百确认的。如果在一定时间内还未达成一致的提案,或者发现有非法交易的话,可以由其他超级节点重新发起提案,重复投票过程,直至达成共识。

2 DBFT的应用实例

国内加密货币及区块链平台NEO是 DBFT算法的研发者及采用者。

3 简图理解模式

假设系统中只有四个由普通用户投票选出的超级节点,当需要通过一项共识时,系统就会从代表中随机选出一名发言人拟定方案。发言人会将拟好的方案交给每位代表,每位代表先判断发言人的计算结果与它们自身纪录的是否一致,再与其它代表商讨验证计算结果是否正确。如果2/3的代表一致表示发言人方案的计算结果是正确的,那么方案就此通过。

如果只有不到2/3的代表达成共识,将随机选出一名新的发言人,再重复上述流程。这个体系旨在保护系统不受无法行使职能的领袖影响。

上图假设全体节点都是诚实的,达成100%共识,将对方案A(区块)进行验证。

鉴于发言人是随机选出的一名代表,因此他可能会不诚实或出现故障。上图假设发言人给3名代表中的2名发送了恶意信息(方案B),同时给1名代表发送了正确信息(方案A)。

在这种情况下该恶意信息(方案B)无法通过。中间与右边的代表自身的计算结果与发言人发送的不一致,因此就不能验证发言人拟定的方案,导致2人拒绝通过方案。左边的代表因接收了正确信息,与自身的计算结果相符,因此能确认方案,继而成功完成1次验证。但本方案仍无法通过,因为不足2/3的代表达成共识。接着将随机选出一名新发言人,重新开始共识流程。

上图假设发言人是诚实的,但其中1名代表出现了异常;右边的代表向其他代表发送了不正确的信息(B)。

在这种情况下发言人拟定的正确信息(A)依然可以获得验证,因为左边与中间诚实的代表都可以验证由诚实的发言人拟定的方案,达成2/3的共识。代表也可以判断到底是发言人向右边的节点说谎还是右边的节点不诚实。

(六)SCP (Stellar Consensus Protocol ) 恒星共识协议

1 基本介绍

SCP 是 Stellar (一种基于互联网的去中心化全球支付协议) 研发及使用的共识算法,其建基于联邦拜占庭协议 (Federated Byzantine Agreement) 。传统的非联邦拜占庭协议(如上文的PBFT和DBFT)虽然确保可以通过分布式的方法达成共识,并达到拜占庭容错 (至多可以容忍不超过系统全部节点数量1/3的失效节点),它是一个中心化的系统 — 网络中节点的数量和身份必须提前知晓且验证过。而联邦拜占庭协议的不同之处在于它能够去中心化的同时,又可以做到拜占庭容错。

[…]

(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法

1 基本介绍

RPCA是Ripple(一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、支付与清算功能)研发及使用的共识算法。在 Ripple 的网络中,交易由客户端(应用)发起,经过追踪节点(tracking node)或验证节点(validating node)把交易广播到整个网络中。追踪节点的主要功能是分发交易信息以及响应客户端的账本请求。验证节点除包含追踪节点的所有功能外,还能够通过共识协议,在账本中增加新的账本实例数据。

Ripple 的共识达成发生在验证节点之间,每个验证节点都预先配置了一份可信任节点名单,称为 UNL(Unique Node List)。在名单上的节点可对交易达成进行投票。共识过程如下:

(1) 每个验证节点会不断收到从网络发送过来的交易,通过与本地账本数据验证后,不合法的交易直接丢弃,合法的交易将汇总成交易候选集(candidate set)。交易候选集里面还包括之前共识过程无法确认而遗留下来的交易。

(2) 每个验证节点把自己的交易候选集作为提案发送给其他验证节点。

(3) 验证节点在收到其他节点发来的提案后,如果不是来自UNL上的节点,则忽略该提案;如果是来自UNL上的节点,就会对比提案中的交易和本地的交易候选集,如果有相同的交易,该交易就获得一票。在一定时间内,当交易获得超过50%的票数时,则该交易进入下一轮。没有超过50%的交易,将留待下一次共识过程去确认。

(4) 验证节点把超过50%票数的交易作为提案发给其他节点,同时提高所需票数的阈值到60%,重复步骤(3)、步骤(4),直到阈值达到80%。

(5) 验证节点把经过80%UNL节点确认的交易正式写入本地的账本数据中,称为最后关闭账本(last closed ledger),即账本最后(最新)的状态。

在Ripple的共识算法中,参与投票节点的身份是事先知道的,因此,算法的效率比PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。这点也决定了该共识算法只适合于联盟链或私有链。Ripple共识算法的拜占庭容错(BFT)能力为(n-1)/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共识。

2 简图理解模式

共识过程节点交互示意图:

共识算法流程:

(八)POOL验证池共识机制

Pool验证池共识机制是基于传统的分布式一致性算法(Paxos和Raft)的基础上开发的机制。Paxos算法是1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现。Raft则是在2013年发布的一个比Paxos简单又能实现Paxos所解决问题的一致性算法。Paxos和Raft达成共识的过程皆如同选举一样,参选者需要说服大多数选民(服务器)投票给他,一旦选定后就跟随其 *** 作。Paxos和Raft的区别在于选举的具体过程不同。而Pool验证池共识机制即是在这两种成熟的分布式一致性算法的基础上,辅之以数据验证的机制。

   DeFi是decentralized finance(分布式金融) 一词的缩写,通常是指基于以太坊的数字资产和金融智能合约,协议以及分布式应用程序(DApps)。

  简单来说,DeFi就是将传统金融搬到区块链网络里,但相比传统金融,它通过区块链实现了去中心化,也就是去掉了中间人的角色,从而降低了中间环节带来的巨额成本。

   DeFi最终要实现的是资产通证化,以智能合约功能性替代传统中心化的金融机构,使用户以更低的成本享受到金融服务,并且提升整个金融体系的运行效率,降低运行成本。同时打造一个面向全球开放的无国界金融体系,以打造开放、透明、安全全新的去中心化系统,让所有人都可以自由地进行交易。

  

   随着区块链的迅速发展,DeFi的应用场景也在不断地丰富,而金融业是其中最有前景的行业。

  

   与银行相似,用户可以存钱并从其他借入其资产的用户那里获得利息。但是,在这种情况下, 资产是数字的 ,智能合约将贷方与借款人联系起来,执行贷款条款并分配利息。这一切都发生了,而无需彼此信任或中间人银行。而且,由于区块链提供的透明性,通过减少中间商,贷方可以赚取更高的回报,并更清楚地了解风险。

  

   去中心化交易所,简称DEX,DEX是使用智能合约执行交易规则,执行交易并在必要时安全处理资金的加密货币交易所。当使用DEX进行交易时,没有中心化交易所运营商,也无需注册,没有身份验证或提款费用。

  

   DEX可以使用订单薄进行交易,比如你要用10个A换15个B,那么我记下来。然后一会又来了一个人说我要用15个B换10个A,我说太好了,正好配对上了。于是,我就在链上生成一笔交易,把你们俩的币互换。这个时候汇率其实就是给交易的双方做参考用的——建议你用这个汇率容易找到配对。这样一来,去中心化交易所只是把交易双方的需求匹配了一下放上链,就不存在智能合约读取链外汇率信息的问题了。

   这方法有很多缺陷。无论这个DEX做得多么用户友好,它对比中心化交易所效率一定是很差的,首先币价波动的时候很难找到匹配,其次小币种肯定也很难找到匹配,然后交易延迟应该也不小。 但相对于中心交易所,它还是有唯一的优势——靠谱。

  

   DEX还可以使用AMM(自动做市商)交易,即按照自己的供求关系计算汇率,以保证自己手中的币不会被别人低价买空。最简单的办法就是永远保证自己的A币和B币的数量是个定值,这样就算卖空了,亏损也是有限的,而且,市场总会把价格调到合适的水平——因为反正如果汇率低了就会有人买,汇率高了就会有人卖。

  通过这种简单的方法,可以获得一个不需要从链外获得汇率信息就可以自动根据供求关系调整的市场。当然,这东西的弱点也很明显——如果一开始的汇率不在市场汇率附近,就会承受大量的亏损。而且AMM中还存在“无偿损失”。

  

   稳定币是旨在保持特定价值的代币,通常与美元等法定货币挂钩。

  例如,DAI是与美元挂钩并抵押以太坊(ETH)链上数字资产的稳定币。它的发行是通过一个借贷的智能合约,来实现的:每个人都可以通过抵押一定数量的ETH(以太币)来换取和美元1:1锚定的DAI。这里,DAI采用的是 超额抵押 的形式,对于每个DAI,在MakerDAO智能合约中锁定有150美元的以太坊作为抵押。

  如果你抵押价值150美元的以太币,那么只能换来价值100美元的DAI。然后,这个智能合约中写定了,如果你在某个时间内归还这100美元的DAI并且付一部分利息,那么你就可以拿回自己抵押的以太币。

   但是这里面有个问题——以太坊的价格是会变动的。而且,虚拟货币的价格变动可是相当剧烈的,如果遇上以太坊暴跌了怎么办?那么原本值150美元的以太坊可能瞬间就不到100美元了,这个时候抵押的资产不如我贷出来的资产多,DAI的价格就不可能再锚定美元,因为大家都能看到:DAI不值那么多钱了。

   怎么解决这个问题呢?超额抵押的作用就显出来了——即便以太坊价格波动幅度再大,但是从150美元跌到100美元总归还需要些时间。而这就给资产清算的空间:首先,我们规定抵押物不得少于150%的贷款,也就是如果以太坊涨了没关系,但是一旦跌了,你得立刻补仓到150%,否则你的抵押物会进入清算的智能合约。

  

   用来装DeFi的虚拟资产,可以用于转账等。

  

   资产管理工具(也叫看板)就是专门提供钱包扫描服务,可以查看钱包的明细,还有历史记录。

  最主要的三大资产管理工具是Debank、Zerion以及 Zapper。

  

   一般来说,市场上会有很多挖矿的机会,这也是大家理财赚钱的机会。这时候,就有做资产管理,或者是提供理财的金融服务的机器人站出来说,我是专门帮你做赚钱生意的,只要你把钱给我,我就会去市场上找赚钱的机会,帮你去赚钱。

   YFI是其中最主要的一种理财工具。

  

  区块链世界的机器人都是去中心化治理的,也就是说,没有明确是归属于谁的。这种情况下,如果机器人出故障了,我们应该找谁的责任?应该怎么做?损失谁来负责?这种情况下,就需要保险机器人了,它是专门就是为其他机器人投保了。

  

   区块链世界的机器人都是去中心化的,且公开透明的,自动执行的。这些机器人的升级、维护应该怎么做?如何来确保机器人的去中心化呢?

  一般,是由很多人围着同一个机器人一起磋商,投票决定如何让机器人去升级、提供服务。DAO机器人就是帮助这些人跟机器人之间形成一种去中心化的治理关系的机器人。

  

   专门提供一种资产价格的机器人,比如,刚刚举例的小c机器人收到一个比特币的时候,它是需要知道一个比特币到底值多少钱。否则,是没办法计算应该给小明贷款多少钱的。这种时候,预言机机机器人就会跑到小c面前,输入一个价格,告诉小c机器人,比特币现在价值1万美金。

  

  以太坊是一个维护数字价值共享账本的区块链网络,几乎所有DeFi应用程序(称为智能合约或Dapp)都建立在以太坊区块链上,组成网络的参与者代替了中心权力机构,以分散的方式控制网络本地加密货币以太(ETH)的发行。

  

defipulse公布的 DeFi排名 ,该排名跟踪锁定全球DeFi智能合约中的实时价值。

   MakerDAO在DeFi领域是毫无疑问的龙头,MakerDAO之于DeFi就如比特大陆之于 矿圈。

  MakerDAO 成立于2014年,是以太坊上 自动化抵押贷款平台 ,同时也是稳定币 Dai 的提供者。MakerDAO 是建立在以太坊上的去中心化的衍生金融体系,它采用了双币模式,一种为稳定币 Dai,另一种为权益代币和管理型代币 MKR。Dai 于2017年12月主网上线。通过双币机制,MakerDAO使得整个去中心化的质押贷款体系得以运转。

  Dai和美元进行1:1锚定,和其他稳定币一样,Dai也存在价格波动。和其他稳定币不一样的是,Dai是通过 超额抵押 加密数字货币,从而获得价值。USDT、TrueUSD 和 GUSD 这一类的中心化稳定币每发行1美元的代币背后都存在1美元的法币作为储备,而1 Dai背后是以超出1美元的数字资产作为储备。

  与USDT、TrueUSD等不同的是,Dai的运行机制是公开透明的,这也是 Dai的优势之一。不仅 Dai本身透明,换取 Dai的抵押物以太坊的价值波动和数量也一样透明,对外公开可见。

  

   Compound协议打造的是一个无中介的贷款平台,借方获得利益,贷方支付利息。(头等仓注:通常我们把代币存入借贷池的一方称为借方,向借贷池中借代币的一方称为贷方。)

   Compound的新ERC-20代币简称cToken,使用户能更简便的进行借贷 *** 作。例如,支持cDAI与DAI交换,DAI持有者就可以将代币借给cDAI用户。不是所有的钱包都支持交换,但在Eidoo钱包中,用户可以轻松地用cDAI交换DAI,从而出借DAI换取利息。如今,Compound总共支持8种cToken,锁定资产合计高达约等值于2亿美元:cDAI、cETH、cUSDC、cBAT、cWBTC、cSAI、cREP、cZRX。

  借方可以随时从Compound中提取代币,自动、瞬时计算利息。如果是通过像Eidoo这样的非托管钱包来提币,无需任何中介(因为以太坊的去中心化协议就能做到)。

   贷方则必须锁定代币作为抵押品,根据基础资产的雄厚薄弱,获取50-75%的信贷。

  Compound协议还设有10%的利息作为准备金,而剩余的90%利息归借方。无任何费用,无协议代币。基于以太坊的信贷市场,形成了一个真正的去中心化流动池,以一种无中介、自主、快速的方式发放和获得贷款。

   Synthetix是基于以太坊的 合成资产发行协议 。Synthetix目前支持发行的合成资产包括法币、加密货币、大宗商品。其中法币主要有美元(sUSD)、欧元(sEUR)、日元(sJPY),不过目前基本上以sUSD为主。加密货币方面有比特币(sBTC)和以太坊(sETH)等,此外,还有反向的加密资产,例如iBTC,当BTC价格下跌,iBTC价格上涨,从而获利。大宗商品方面当前以金(sXAU)和银(sXAG)为主。

  Synthetix上交易是去中心化的模式进行的,且无须交易对手存在,也不用担心流动性和滑点问题。在其交易所上的交易都是通过智能合约执行的,是对智能合约的交易,而不是订单簿交易。这些都有其独特的交易体验和部分优势。

   Synthetix跟其他资产发行协议一样,也需要进行资产抵押才能发行,例如MakerDAO协议要生成dai,需要抵押ETH。Synthetix也类似,但它抵押的是其原生代币SNX。用户只要在其智能合约中锁定一定量的SNX,即可发行合成资产。其中其质押率非常高,是其发行资产的750%,只有达到750%的目标阀值才有机会获得交易手续费和SNX新代币的奖励。

  

TVL就是每个DeFi协议的锁仓总价值,越高越好。

Dex就是交易量,越高越好。

活跃地址数量代表以太坊上的DeFi用户数,越多越好。

手续费越低越好。

以太坊作为一个基础设施,它的市值可以很高,但是,说到它与DeFi市值的比例,那以太坊的市值应当是越低越好,越高就说明这个市场越成熟。

  

参考链接:

>

数据库中的外码

1外码是另外⼀个表的主码;

2插⼊数据是必须先给所关联外码的那个表插⼊数据;

3报错的原因是插⼊的某个属性在所关联外码表中找不到。

外码的意义是:保证两个表之间的数据的⼀致性,例如:职⼯表中的部门号,必须在部门表中存在。create table 部门(

部门号 char(20) primary key not null,

名称 char(20) constraint UK_dName unique not null ,

经理名 char(20),

第 1 页

污水处理器设备找瑞谱斯环保

最近60分钟前有人拨打电话咨询问题

点击立即咨询,了解更多详情

咨询

贵州瑞谱斯环保科技 广告

地址 varchar(20),

电话号码 char(20)

)

drop table 部门

create table 职⼯(

职⼯号 char(20) primary key,

姓名 char(20) not null,

年龄 smallint check (年龄>=18 and 年龄<=60),

职务 char(20),

⼯资 int not null check(⼯资>=800),

部门号 char(20)

第 2 页

FOREIGN KEY (部门号) REFERENCES 部门(部门号)--直接建⽴外码

)

drop table 职⼯

--新增关系表属性

--新增表的外码

--⽅法⼆:

alter table 职⼯

add constraint S_worker

foreign key(部门号)

references 部门(部门号)

第 3 页

百度文库

搜索

数据库调动部门但有外码

展开全文

免费读数据库中的外码全文

APP

打印

导出为WORD

导出为PDF

发送至微信

APP打开

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

页数说明:当前展示页数为百度文库重新排版后结果,原始文档共1页

相关文档

数据库添加外码

免费获取全文

书目数据库中3种常用代码的取码方法

免费获取全文

区块链中数据库哈希码的延迟更新[发明专利]

免费获取全文

1数据库系统的外模式在SQL中称为

免费获取全文

实验一空间数据库的创建与数据导入

免费获取全文

国有企业风险框架和风控数据库指导手册模版

106人正在看

超详细的MySQL工作原理体系结构

53人正在看

TCGA数据分析系列:GEPIA2数据库

137人正在看

数据库实验报告(全)

56人正在看

查看更多

为您精选

数据库中的外码

会员文档328篇

人气好文

数据库添加外码

2717人阅读

书目数据库中3种常用代码的取码方法

1396人阅读

热门TOP

区块链中数据库哈希码的延迟更新[发明专利]

2323人阅读

1数据库系统的外模式在SQL中称为

1544人阅读

立即开通VIP

基于你的浏览为你整理资料合集

数据库调动部门但有外码

文件夹

数据库添加外码 - 百度文库

42分 3717阅读 值得一读

数据库设置外码实例 - 百度文库

40分 1487阅读 本周下载TOP

mysql创建表里主码和外码_SQL语言创建表时候怎么定义主码和外码

45分 2320阅读

剩余16篇精选文档

APP内一键获取全部合集

4901人已获取

工具

收藏

普通用户能够运行节点对于区块链的去中心化至关重要

想象一下凌晨两点多,你接到了一个紧急呼叫,来自世界另一端帮你运行矿池 (质押池) 的人。从大约 14 分钟前开始,你的池子和其他几个人从链中分离了出来,而网络仍然维持着 79% 的算力。根据你的节点,多数链的区块是无效的。这时出现了余额错误:区块似乎错误地将 450 万枚额外代币分配给了一个未知地址。

一小时后,你和其他两个同样遭遇意外的小矿池参与者、一些区块浏览器和交易所方在一个聊天室中,看见有人贴出了一条推特的链接,开头写着“宣布新的链上可持续协议开发基金”。

到了早上,相关讨论广泛散布在推特以及一个不审查内容的社区论坛上。但那时 450 万枚代币中的很大一部分已经在链上转换为其他资产,并且进行了数十亿美元的 defi 交易。79%的共识节点,以及所有主要的区块链浏览器和轻钱包的端点都遵循了这条新链。也许新的开发者基金将为某些开发提供资金,或者也许所有这些都被领先的矿池、交易所及其裙带所吞并。但是无论结果如何,该基金实际上都成为了既成事实,普通用户无法反抗。

或许还有这么一部主题**。或许会由 MolochDAO 或其他组织进行资助。

这种情形会发生在你的区块链中吗?你所在区块链社区的精英,包括矿池、区块浏览器和托管节点,可能协调得很好,他们很可能都在同一个 telegram 频道和微信群中。如果他们真的想出于利益突然对协议规则进行修改,那么他们可能具备这种能力。以太坊区块链在十小时内完全解决了共识失败,如果是只有一个客户端实现的区块链,并且只需要将代码更改部署到几十个节点,那么可以更快地协调客户端代码的更改。能够抵御这种社会性协作攻击的唯一可靠方式是“被动防御”,而这种力量来自去一个中心化的群体:用户。

想象一下,如果用户运行区块链的验证节点 (无论是直接验证还是其他间接技术),并自动拒绝违反协议规则的区块,即使超过 90% 的矿工或质押者支持这些区块,故事会如何发展。

如果每个用户都运行一个验证节点,那么攻击很快就会失败:有些矿池和交易所会进行分叉,并且在整个过程中看起来很愚蠢。但是即使只有一些用户运行验证节点,攻击者也无法大获全胜。相反,攻击会导致混乱,不同用户会看到不同的区块链版本。最坏情况下,随之而来的市场恐慌和可能持续的链分叉将大幅减少攻击者的利润。对如此旷日持久的冲突进行应对的想法本身就可以阻止大多数攻击。

Hasu 关于这一点的看法:

“我们要明确一件事,我们之所以能够抵御恶意的协议更改,是因为拥有用户验证区块链的文化,而不是因为 PoW 或 PoS。”

假设你的社区有 37 个节点运行者,以及 80000 名被动监听者,对签名和区块头进行检查,那么攻击者就获胜了。如果每个人都运行节点的话,攻击者就会失败。我们不清楚针对协同攻击的启动群体免疫的确切阈值是多少,但有一点是绝对清楚的:好的节点越多,恶意的节点就越少,而且我们所需的数量肯定不止于几百几千个。

那么全节点工作的上限是什么?

为了使得有尽可能多的用户能够运行全节点,我们会将注意力集中在普通消费级硬件上。即使能够轻松购买到专用硬件,这能够降低一些全节点的门槛,但事实上对可扩展性的提升并不如我们想象的那般。

全节点处理大量交易的能力主要受限于三个方面:

算力:在保证安全的前提下,我们能划分多少 CPU 来运行节点?

带宽:基于当前的网络连接,一个区块能包含多少字节?

存储:我们能要求用户使用多大的空间来进行存储?此外,其读取速度应该达到多少?(即,HDD 足够吗?还是说我们需要 SSD?)

许多使用“简单”技术对区块链进行大幅扩容的错误看法都源自于对这些数字过于乐观的估计。我们可以依次来讨论这三个因素:

算力

错误答案:100% 的 CPU 应该用于区块验证

正确答案:约 5-10% 的 CPU 可以用于区块验证

限制之所以这么低的四个主要原因如下:

我们需要一个安全边界来覆盖 DoS 攻击的可能性 (攻击者利用代码弱点制造的交易需要比常规交易更长的处理时间)

节点需要在离线之后能够与区块链同步。如果我掉线一分钟,那我应该要能够在几秒钟之内完成同步

运行节点不应该很快地耗尽电池,也不应该拖慢其他应用的运行速度

节点也有其他非区块生产的工作要进行,大多数是验证以及对 p2p 网络中输入的交易和请求做出响应

请注意,直到最近大多数针对“为什么只需要 5-10%?”这一点的解释都侧重于另一个不同的问题:因为 PoW 出块时间不定,验证区块需要很长时间,会增加同时创建多个区块的风险。这个问题有很多修复方法,例如 Bitcoin NG,或使用 PoS 权益证明。但这些并没有解决其他四个问题,因此它们并没有如许多人所料在可扩展性方面获得巨大进展。

并行性也不是灵丹妙药。通常,即使是看似单线程区块链的客户端也已经并行化了:签名可以由一个线程验证,而执行由其他线程完成,并且有一个单独的线程在后台处理交易池逻辑。而且所有线程的使用率越接近 100%,运行节点的能源消耗就越多,针对 DoS 的安全系数就越低。

带宽

错误答案:如果没 2-3 秒都产生 10 MB 的区块,那么大多数用户的网络都大于 10 MB/秒,他们当然都能处理这些区块

正确答案:或许我们能在每 12 秒处理 1-5 MB 的区块,但这依然很难

如今,我们经常听到关于互联网连接可以提供多少带宽的广为传播的统计数据:100 Mbps 甚至 1 Gbps 的数字很常见。但是由于以下几个原因,宣称的带宽与预期实际带宽之间存在很大差异:

“Mbps”是指“每秒数百万 bits”;一个 bit 是一个字节的 1/8,因此我们需要将宣称的 bit 数除以 8 以获得字节数。

网络运营商,就像其他公司一样,经常编造谎言。

总是有多个应用使用同一个网络连接,所以节点无法独占整个带宽。

P2P 网络不可避免地会引入开销:节点通常最终会多次下载和重新上传同一个块 (更不用说交易在被打包进区块之前还要通过 mempool 进行广播)。

当 Starkware 在 2019 年进行一项实验时,他们在交易数据 gas 成本降低后首次发布了 500 kB 的区块,一些节点实际上无法处理这种大小的区块。处理大区块的能力已经并将持续得到改善。但是无论我们做什么,我们仍然无法获取以 MB/秒为单位的平均带宽,说服自己我们可以接受 1 秒的延迟,并且有能力处理那种大小的区块。

存储

错误答案:10 TB

正确答案:512 GB

正如大家可能猜到的,这里的主要论点与其他地方相同:理论与实践之间的差异。理论上,我们可以在亚马逊上购买 8 TB 固态驱动 (确实需要 SSD 或 NVME;HDD 对于区块链状态存储来说太慢了)。实际上,我用来写这篇博文的笔记本电脑有 512 GB,如果你让人们去购买硬件,许多人就会变得懒惰 (或者他们无法负担 800 美元的 8 TB SSD) 并使用中心化服务。即使可以将区块链装到某个存储设备上,大量活动也可以快速地耗尽磁盘并迫使你购入新磁盘。

一群区块链协议研究员对每个人的磁盘空间进行了调查。我知道样本量很小,但仍然

此外,存储大小决定了新节点能够上线并开始参与网络所需的时间。现有节点必须存储的任何数据都是新节点必须下载的数据。这个初始同步时间 (和带宽) 也是用户能够运行节点的主要障碍。在写这篇博文时,同步一个新的 geth 节点花了我大约 15 个小时。如果以太坊的使用量增加 10 倍,那么同步一个新的 geth 节点将至少需要一周时间,而且更有可能导致节点的互联网连接受到限制。这在攻击期间更为重要,当用户之前未运行节点时对攻击做出成功响应需要用户启用新节点。

交互效应

此外,这三类成本之间存在交互效应。由于数据库在内部使用树结构来存储和检索数据,因此从数据库中获取数据的成本随着数据库大小的对数而增加。事实上,因为顶级 (或前几级) 可以缓存在 RAM 中,所以磁盘访问成本与数据库大小成正比,是 RAM 中缓存数据大小的倍数。

不要从字面上理解这个图,不同的数据库以不同的方式工作,通常内存中的部分只是一个单独 (但很大) 的层 (参见 leveldb 中使用的 LSM 树)。但基本原理是一样的。

例如,如果缓存为 4 GB,并且我们假设数据库的每一层比上一层大 4 倍,那么以太坊当前的 ~64 GB 状态将需要 ~2 次访问。但是如果状态大小增加 4 倍到 ~256 GB,那么这将增加到 ~3 次访问。因此,gas 上限增加 4 倍实际上可以转化为区块验证时间增加约 6 倍。这种影响可能会更大:硬盘在已满状态下比空闲时需要花更长时间来读写。

这对以太坊来说意味着什么?

现在在以太坊区块链中,运行一个节点对许多用户来说已经是一项挑战,尽管至少使用常规硬件仍然是可能的 (我写这篇文章时刚刚在我的笔记本电脑上同步了一个节点!)。因此,我们即将遭遇瓶颈。核心开发者最关心的问题是存储大小。因此,目前在解决计算和数据瓶颈方面的巨大努力,甚至对共识算法的改变,都不太可能带来 gas limit 的大幅提升。即使解决了以太坊最大的 DoS 弱点,也只能将 gas limit 提高 20%。

对于存储大小的问题,唯一解决方案是无状态和状态逾期。无状态使得节点群能够在不维护永久存储的情况下进行验证。状态逾期会使最近未访问过的状态失活,用户需要手动提供证明来更新。这两条路径已经研究了很长时间,并且已经开始了关于无状态的概念验证实现。这两项改进相结合可以大大缓解这些担忧,并为显著提升 gas limit 开辟空间。但即使在实施无状态和状态逾期之后,gas limit 也可能只会安全地提升约 3 倍,直到其他限制开始发挥作用。

另一个可能的中期解决方案使使用 ZK-SNARKs 来验证交易。ZK-SNARKs 能够保证普通用户无需个人存储状态或是验证区块,即使他们仍然需要下载区块中的所有数据来抵御数据不可用攻击。另外,即使攻击者不能强行提交无效区块,但是如果运行一个共识节点的难度过高,依然会有协调审查攻击的风险。因此,ZK-SNARKs 不能无限地提升节点能力,但是仍然能够对其进行大幅提升 (或许是 1-2 个数量级)。一些区块链在 layer1 上探索该形式,以太坊则通过 layer2 协议 (也叫 ZK rollups) 来获益,例如 zksync, Loopring 和 Starknet。

分片之后又会如何?

分片从根本上解决了上述限制,因为它将区块链上包含的数据与单个节点需要处理和存储的数据解耦了。节点验证区块不是通过亲自下载和执行,而是使用先进的数学和密码学技术来间接验证区块。

因此,分片区块链可以安全地拥有非分片区块链无法实现的非常高水平的吞吐量。这确实需要大量的密码学技术来有效替代朴素完整验证,以拒绝无效区块,但这是可以做到的:该理论已经具备了基础,并且基于草案规范的概念验证已经在进行中。

以太坊计划采用二次方分片 (quadratic sharding),其中总可扩展性受到以下事实的限制:节点必须能够同时处理单个分片和信标链,而信标链必须为每个分片执行一些固定的管理工作。如果分片太大,节点就不能再处理单个分片,如果分片太多,节点就不能再处理信标链。这两个约束的乘积构成了上限。

可以想象,通过三次方分片甚至指数分片,我们可以走得更远。在这样的设计中,数据可用性采样肯定会变得更加复杂,但这是可以实现的。但以太坊并没有超越二次方,原因在于,从交易分片到交易分片的分片所获得的额外可扩展性收益实际上无法在其他风险程度可接受的前提下实现。

那么这些风险是什么呢?

最低用户数量

可以想象,只要有一个用户愿意参与,非分片区块链就可以运行。但分片区块链并非如此:单个节点无法处理整条链,因此需要足够的节点以共同处理区块链。如果每个节点可以处理 50 TPS,而链可以处理 10000 TPS,那么链至少需要 200 个节点才能存续。如果链在任何时候都少于 200 个节点,那可能会出现节点无法再保持同步,或者节点停止检测无效区块,或者还可能会发生许多其他坏事,具体取决于节点软件的设置。

在实践中,由于需要冗余 (包括数据可用性采样),安全的最低数量比简单的“链 TPS 除以节点 TPS”高几倍,对于上面的例子,我们将其设置位 1000 个节点。

如果分片区块链的容量增加 10 倍,则最低用户数也增加 10 倍。现在大家可能会问:为什么我们不从较低的容量开始,当用户很多时再增加,因为这是我们的实际需要,用户数量回落再降低容量?

这里有几个问题:

区块链本身无法可靠地检测到其上有多少唯一用户,因此需要某种治理来检测和设置分片数量。对容量限制的治理很容易成为分裂和冲突的根源。

如果许多用户突然同时意外掉线怎么办?

增加启动分叉所需的最低用户数量,使得防御恶意控制更加艰难。

最低用户数为 1,000,这几乎可以说是没问题的。另一方面,最低用户数设为 100 万,这肯定是不行。即使最低用户数为 10,000 也可以说开始变得有风险。因此,似乎很难证明超过几百个分片的分片区块链是合理的。

历史可检索性

用户真正珍视的区块链重要属性是永久性。当公司破产或是维护该生态系统不再产生利益时,存储在服务器上的数字资产将在 10 年内不再存在。而以太坊上的 NFT 是永久的。

是的,到 2372 年人们仍能够下载并查阅你的加密猫。

但是一旦区块链的容量过高,存储所有这些数据就会变得更加困难,直到某时出现巨大风险,某些历史数据最终将……没人存储。

要量化这种风险很容易。以区块链的数据容量 (MB/sec) 为单位,乘以 ~30 得到每年存储的数据量 (TB)。当前的分片计划的数据容量约为 13 MB/秒,因此约为 40 TB/年。如果增加 10 倍,则为 400 TB/年。如果我们不仅希望可以访问数据,而且是以一种便捷的方式,我们还需要元数据 (例如解压缩汇总交易),因此每年达到 4 PB,或十年后达到 40 PB。Internet Archive (互联网档案馆) 使用 50 PB。所以这可以说是分片区块链的安全大小上限。

因此,看起来在这两个维度上,以太坊分片设计实际上已经非常接近合理的最大安全值。常数可以增加一点,但不能增加太多。

结语

尝试扩容区块链的方法有两种:基础的技术改进和简单地提升参数。首先,提升参数听起来很有吸引力:如果您是在餐纸上进行数学运算,这就很容易让自己相信消费级笔记本电脑每秒可以处理数千笔交易,不需要 ZK-SNARK、rollups 或分片。不幸的是,有很多微妙的理由可以解释为什么这种方法是有根本缺陷的。

运行区块链节点的计算机无法使用 100%的 CPU 来验证区块链;他们需要很大的安全边际来抵抗意外的 DoS 攻击,他们需要备用容量来执行诸如在内存池中处理交易之类的任务,并且用户不希望在计算机上运行节点的时候无法同时用于任何其他应用。带宽也会受限:10 MB/s 的连接并不意味着每秒可以处理 10 MB 的区块!也许每 12 秒才能处理 1-5 MB 的块。存储也是一样,提高运行节点的硬件要求并且限制专门的节点运行者并不是解决方案。对于去中心化的区块链而言,普通用户能够运行节点并形成一种文化,即运行节点是一种普遍行为,这一点至关重要。

以上就是关于什么是数据区块链(BlockChain)全部的内容,包括:什么是数据区块链(BlockChain)、区块链的共识机制、区块链 --- 分布式金融(DeFi)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9788714.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存