建设银行什么网站可买手表,有没有医学生做课件的网站,平面设计软件学哪个比较好,中山专业门户网站制作平台大纲 去验证的中心化验证者如何验证验证者为什么要去传播 去确认的中心化去存储的中心化 “去中心化”是区块链技术的核心。那么我们该如何理解这个概念呢#xff1f; 我们可以假想在一次现实转账中#xff0c;有哪些“中心化”的行为#xff1a;
判断余额是否足够。即判断… 大纲 去验证的中心化验证者如何验证验证者为什么要去传播 去确认的中心化去存储的中心化 “去中心化”是区块链技术的核心。那么我们该如何理解这个概念呢 我们可以假想在一次现实转账中有哪些“中心化”的行为
判断余额是否足够。即判断转出的钱是否少于账户里剩余的钱能够判断的是账户所在的银行。
如果余额足够在不发生其他意外的情况下应该还有如下行为
转账发起方的余额要做相应减少。能够做这样操作的是发起方账号所在的银行。转账接收方的余额要做相应增加。能够做这样操作的是接收方账号所在的银行。记录转账记录。转账发起和接收方都要记录这笔交易从而方便回溯资金变动。
在这样的交易过程中每个连接都是单点的。 假如银行系统出现问题或者银行变得不可信可能它会吞掉这笔转账即从发起方的账户中扣掉了钱而收款方并没有收到。 还可能收款方系统出现问题或者收款方银行变得不可信。 这在我们日常生活中不太常见毕竟一般我们资金流动都发生在国内银行间。这些银行会受到银监会监管它们一般不敢胡作非为。 但是如果这样的交易发生在国与国之间事情就会变得不太一样。因为国与国之间的利益是非常容易发生分歧的而各国银行也不太会听其他国家的号召所以没法保证公正性。比如这次俄乌战争美国就冻结了俄罗斯大量海外资产。 如何避免这样的情况那就要去中心化即谁都没有不对等的权力可以干涉他人资产。美国冻结俄罗斯海外资产就是因为美国政府对这些银行的影响力权力要高于俄罗斯。而且在区块链技术中技术信奉的是规则以及计算能力而不是世俗上的权力。从而可以排除人类这样一个极不稳定的因素影响。
回到“去中心化”这个议题。上述转账的过程如何在区块链中去中心化的呢
去验证的中心化
在传统转账中验证余额是否足够发生在发起方账号所在的银行。要去掉这个中心则让余额验证发生在多个非中心化的节点中我们可以称之为验证节点。 这样的结构很容易想到但是要回答如下几个问题
验证者如何能验证验证者为什么要去传播
验证者如何验证
验证余额是否足够就需要知道该用户的余额。在中心化方案中这样的数据保存在中心化的存储上。而为了在去中心化的结构中让验证者有余额信息则需要验证者能够向其他有全量数据的节点请求到相关数据或者验证节点自身就有该数据。 而且需要说明的是区块链存储的只是交易信息即转账发起方、接收方以及金额等数据而不存在所谓的“余额”。这些数据都是用明文的形式保存在区块中验证者需要读取整个区块链的交易记录来计算出发起方的“余额”。这样的好处是每次验证都是从头到尾完整链路的校验而不是基于某时算出来的所谓的“余额”。当然这个方案的缺点就是计算量很大很不方便。
验证者为什么要去传播
因为转账发起方会对每次转账支付一定金额的手续费。验证者将转账记录广播给更多的验证者以及矿工还有全节点保存区块链全部信息的节点这样大家就都能确认存在这样的一笔申请。当矿工生产出来的区块包含这笔交易记录它就可能因此而获利。而且全节点确认接受这个区块加入链前还是会对区块内的交易记录进行检查。如果验证者不将转账记录广播给更多节点则会导致后续的验证不通过的概率大大增加从而包含这块交易的区块不能被加入到链中整个过程大家都不会得到收入。
去确认的中心化
矿工在验证完交易后并不会将交易记录立即打包成区块——否则一个区块就是一条交易记录了——太浪费了。而是积累起来并挑选出它觉得有价值的交易——比如给的手续费很多的交易然后将这些交易记录进行打包。 打包涉及一个暴力计算过程即原始数据加上不停变化的Nonce值以尝试出一个符合某个特定规则的Hash值——比如前面8个数字是0的Hash。在比特币中这个过程需要几分钟。 一旦一个矿工“碰撞”出一个匹配的Hash值则可以认为它算出了区块但是不能认为该区块被上链。这个时候矿工会向区块链网络广播该区块 全节点在收到区块后会校验其合法性比如Hash值交易记录等。在确认都没有问题时将该区块上链。后续达到的区块会被抛弃。 矿工节点收到该区块后会校验其合法性。如果合法则终止自己的计算——这样可以节省自己的计算资源何乐而不为反正自己也抢不到这个区块了。如果不合法就继续自己的计算尝试争抢下合法的区块。 哪个矿工有更强大的算力就更有可能第一个算出区块进而也可能第一个被上链进而获得奖励。所以在区块链中交易被确认上链来源于算力而不是某个人的权力。
去存储的中心化
当全节点将区块上链成功后其他比它短的链会同步该长链的数据这就是“最长链原则”。 这样交易记录就会分布在各个链上而不会存储在某个链上这样数据存储就去中心化了。 关于区块链直接数据同步的样例可以参考《0基础学习区块链技术——链之间数据同步样例》