导航:首页 > 观区块链 > 区块链投票原理

区块链投票原理

发布时间:2024-02-04 06:36:50

1. 深入了解区块链的共识机制及算法原理

所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。再通俗一点来讲,如果中国一名微博大V、美国一名虚拟币玩家、一名非洲留学生和一名欧洲旅行者互不相识,但他们都一致认为你是个好人,那么基本上就可以断定你这人还不坏。

要想整个区块链网络节点维持一份相同的数据,同时保证每个参与者的公平性,整个体系的所有参与者必须要有统一的协议,也就是我们这里要将的共识算法。比特币所有的节点都遵循统一的协议规范。协议规范(共识算法)由相关的共识规则组成,这些规则可以分为两个大的核心:工作量证明与最长链机制。所有规则(共识)的最终体现就是比特币的最长链。共识算法的目的就是保证比特币不停地在最长链条上运转,从而保证整个记账系统的一致性和可靠性。

区块链中的用户进行交易时不需要考虑对方的信用、不需要信任对方,也无需一个可信的中介机构或中央机构,只需要依据区块链协议即可实现交易。这种不需要可信第三方中介就可以顺利交易的前提是区块链的共识机制,即在互不了解、信任的市场环境中,参与交易的各节点出于对自身利益考虑,没有任何违规作弊的动机、行为,因此各节点会主动自觉遵守预先设定的规则,来判断每一笔交易的真实性和可靠性,并将检验通过的记录写入到区块链中。各节点的利益各不相同,逻辑上将它们没有合谋欺骗作弊的动机产生,而当网络中有的节点拥有公共信誉时,这一点尤为明显。区块链技术运用基于数学原理的共识算法,在节点之间建立“信任”网络,利用技术手段从而实现一种创新式的信用网络。

目前区款连行业内主流的共识算法机制包含:工作量证明机制、权益证明机制、股份授权证明机制和Pool验证池这四大类。

工作量证明机制即对于工作量的证明,是生成要加入到区块链中的一笔新的交易信息(即新区块)时必须满足的要求。在基于工作量证明机制构建的区块链网络中,节点通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出。大家所熟知的比特币网络就应用工作量证明机制来生产新的货币。然而,由于工作量证明机制在比特币网络中的应用已经吸引了全球计算机大部分的算力,其他想尝试使用该机制的区块链应用很难获得同样规模的算力来维持自身的安全。同时,基于工作量证明机制的挖矿行为还造成了大量的资源浪费,达成共识所需要的周期也较长,因此该机制并不适合商业应用。

2012年,化名Sunny King的网友推出了Peercoin,该加密电子货币采用工作量证明机制发行新币,采用权益证明机制维护网络安全,这是权益证明机制在加密电子货币中的首次应用。与要求证明人执行一定量的计算工作不同,权益证明要求证明人提供一定数量加密货币的所有权即可。权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。这种共识机制可以缩短达成共识所需的时间,但本质上仍然需要网络中的节点进行挖矿运算。因此,PoS机制并没有从根本上解决PoW机制难以应用于商业领域的问题。

股份授权证明机制是一种新的保障网络安全的共识机制。它在尝试解决传统的PoW机制和PoS机制问题的同时,还能通过实施科技式的民主抵消中心化所带来的负面效应。

股份授权证明机制与董事会投票类似,该机制拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。基于DPoS机制建立的区块链的去中心化依赖于一定数量的代表,而非全体用户。在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。同时,区块链中的全体节点具有随时罢免和任命代表的权力。如果必要,全体节点可以通过投票让现任节点代表失去代表资格,重新选举新的代表,实现实时的民主。

股份授权证明机制可以大大缩小参与验证和记账节点的数量,从而达到秒级的共识验证。然而,该共识机制仍然不能完美解决区块链在商业中的应用问题,因为该共识机制无法摆脱对于代币的依赖,而在很多商业应用中并不需要代币的存在。

Pool验证池基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。

Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。不过,Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如PoW机制等

这里主要讲解区块链工作量证明机制的一些算法原理以及比特币网络是如何证明自己的工作量的,希望大家能够对共识算法有一个基本的认识。

工作量证明系统的主要特征是客户端要做一定难度的工作来得到一个结果,验证方则很容易通过结果来检查客户端是不是做了相应的工作。这种方案的一个核心特征是不对称性:工作对于请求方是适中中的,对于验证方是易于验证的。它与验证码不同,验证码是易于被人类解决而不是易于被计算机解决。

下图所示的为工作量证明流程。

举个例子,给个一个基本的字符创“hello,world!”,我们给出的工作量要求是,可以在这个字符创后面添加一个叫做nonce(随机数)的整数值,对变更后(添加nonce)的字符创进行SHA-256运算,如果得到的结果(一十六进制的形式表示)以“0000”开头的,则验证通过。为了达到这个工作量证明的目标,需要不停地递增nonce值,对得到的字符创进行SHA-256哈希运算。按照这个规则,需要经过4251次运算,才能找到前导为4个0的哈希散列。

通过这个示例我们对工作量证明机制有了一个初步的理解。有人或许认为如果工作量证明只是这样一个过程,那是不是只要记住nonce为4521使计算能通过验证就行了,当然不是了,这只是一个例子。

下面我们将输入简单的变更为”Hello,World!+整数值”,整数值取1~1000,也就是说将输入变成一个1~1000的数组:Hello,World!1;Hello,World!2;...;Hello,World!1000。然后对数组中的每一个输入依次进行上面的工作量证明—找到前导为4个0的哈希散列。

由于哈希值伪随机的特性,根据概率论的相关知识容易计算出,预计要进行2的16次方次数的尝试,才能得到前导为4个0的哈希散列。而统计一下刚刚进行的1000次计算的实际结果会发现,进行计算的平均次数为66958次,十分接近2的16次方(65536)。在这个例子中,数学期望的计算次数实际就是要求的“工作量”,重复进行多次的工作量证明会是一个符合统计学规律的概率事件。

统计输入的字符创与得到对应目标结果实际使用的计算次数如下:

对于比特币网络中的任何节点,如果想生成一个新的区块加入到区块链中,则必须解决出比特币网络出的这道谜题。这道题的关键要素是工作量证明函数、区块及难度值。工作量证明函数是这道题的计算方法,区块是这道题的输入数据,难度值决定了解这道题的所需要的计算量。

比特币网络中使用的工作量证明函数正是上文提及的SHA-256。区块其实就是在工作量证明环节产生的。旷工通过不停地构造区块数据,检验每次计算出的结果是否满足要求的工作量,从而判断该区块是不是符合网络难度。区块头即比特币工作量证明函数的输入数据。

难度值是矿工们挖掘的重要参考指标,它决定了旷工需要经过多少次哈希运算才能产生一个合法的区块。比特币网络大约每10分钟生成一个区块,如果在不同的全网算力条件下,新区块的产生基本都保持这个速度,难度值必须根据全网算力的变化进行调整。总的原则即为无论挖矿能力如何,使得网络始终保持10分钟产生一个新区块。

难度值的调整是在每个完整节点中独立自动发生的。每隔2016个区块,所有节点都会按照统一的格式自动调整难度值,这个公式是由最新产生的2016个区块的花费时长与期望时长(按每10分钟产生一个取款,则期望时长为20160分钟)比较得出来的,根据实际时长一期望时长的比值进行调整。也就是说,如果区块产生的速度比10分钟快,则增加难度值;反正,则降低难度值。用公式来表达如下:

新难度值=旧难度值*(20160分钟/过去2016个区块花费时长)。

工作量证明需要有一个目标值。比特币工作量证明的目标值(Target)的计算公式如下:

目标值=最大目标值/难度值,其中最大目标值为一个恒定值

目标值的大小与难度值成反比,比特币工作量证明的达成就是矿中计算出来的区块哈希值必须小于目标值。

我们也可以将比特币工作量的过程简单的理解成,通过不停变更区块头(即尝试不同nonce值)并将其作为输入,进行SHA-256哈希运算,找出一个有特定格式哈希值的过程(即要求有一定数量的前导0),而要求的前导0个数越多,难度越大。

可以把比特币将这道工作量证明谜题的步骤大致归纳如下:

该过程可以用下图表示:

比特币的工作量证明,就是我们俗称“挖矿”所做的主要工作。理解工作量证明机制,将为我们进一步理解比特币区块链的共识机制奠定基础。

2. 怎样明白区块链中的共识机制

所谓共识,简单理解就是指大家都达成一致的意思。

在区块链中,其实就是一个规则,每个节点都按照这个规则去确认各自的数据,最后维护整个网络的数据库保持一致。

如果以生活中的例子来举例的话,比如今天公司开个会议,但是由于老总不在,需要大家讨论决定一个项目做与否。

在这么一个群龙无首的环境中?

3. 区块链的共识机制

所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。北京木奇移动技术有限公司,专业的区块链外包开发公司,欢迎洽谈合作。下面我们将一下区块链的几种共识机制,希望对大家了解区块链基础技术有帮助。

因为区块链技术的发展, 大家对共识机制这个词也不再陌生,随着技术发展,各种创新的共识机制也在发展。

POW工作量证明

比特币就是使用PoW工作量证明机制,到后来的以太坊都是PoW的共识机制。Pow相当于算出很难的数学难题,就是计算出新区块的hash值,而且计算的难度会每一段时间就会调整。PoW虽然是大家比较认可的共识机制,计算会消耗大量的能源,还有可能会污染环境。

POS权益证明

通过持有Token的数量和时长来决定获得记账权的机率。相比POW,POS避免了挖矿造成大量的资源浪费,缩短了各个节点之间达成共识的时间,网络环境好的话可实现毫秒级,对节点性能要求低。

但POS的缺点同样明显,持有Token多的节点更有机会获得记账权,这将导致“马太效应”,富者越富,破坏了区块链的去中心化。

DPOS权益证明

DPOS委托权益证明与POS原理相同,其主要区别在于,DPOS的Token持有者可以投票选举代理人作为超级节点,负责在网络上生产区块并维护共识规则。如果这些节点未能履行职责,将投票选出新的节点。同样的弊端也是倾向于中心化。

POA权威证明

POA节点之间无需进行通信即可达成共识,因此效率极高。并且它也能很好地对抗算力攻击,安全性较高。但是POA需要一个集中的权威节点来验证身份,这就意味着它会损害区块链的去中心化,这也是在去中心化和提高效率之间的妥协。

4. 说文解字第3课:区块链 Blockchain

在几年前曾经吹起一阵比特币风潮,读者在当时可能就听过区块链,然而最近国内外的金融机构又开始研究、推出采用区块链为技术基础的金融服务,它到底有什么特别之处,能够吸引正规金融机构的青睐?

分散式记帐系统

区块链是比特币的核心技术之一,它最主要的特色是能够打造无法窜改、去中心化、高度透明、匿名的记帐系统,可以提供低成本、高安全性的转帐服务,而进一步能够做为金融管理的工具。

要了解区块链,要先从它的运作原理开始看起。以比特币的应用为例,在每次交易的时候,系统就会将交易内容与相关资讯封存为1组区块,而将所有区块按照时间排列起来,就会产生所谓的区块链。

由于区块链详细记录了世界上每笔交易的资料,因此只要从第一笔资料统计到最后一笔资料,就可以算出哪个「钱包」拥有多少「钱」。

需要注意的是,区块链并非直接储存每个「钱包」中的余额,而是每次交易中「钱」的流向,所以在查询余额的时候,只需验证区块链中每笔资料的真伪并进行统计,就能得到每个「钱包」的最终余额。

由于产生区块需要进行复杂的密码计算,如果以集中式的伺服器进行运算,就需准备许多效能很高的电脑来满足需求。然而比特币的做法是将运算分散到所有进行「挖矿」的电脑上,这些电脑称为节点,会在验证交易、封装区块之后得到一定金额的奖励,因此会有许多矿工为了赚取比特币,而投入电脑进行运算,如此一来就不需特定伺服器,而是将所有运算工作分散到比特币网路的各个节点。

▲区块链由许多区块串联而生,由于可以从第一笔至最后一笔转帐记录,并具有高度安全性,因此很适合金融应用。(图片来源:Bitcoin: A Peer-to-Peer Electronic Cash System)

理论上可破解,但实际上不可行

在区块链的运作过程中,所有节点都会共同验证每个新加入的区块,以确保交易的正确性,当某些节点记录的区块息与其他节点不符时,其他节点就不会承认该笔交易,因此交易记录就不会被写入区块链。

不过区块链的安全性,在理论上就不是牢不可破。只要有人能够支配整个网路过半的运算效能(即掌握51%的运算效能),它就能创造假冒的交易记录,并保证能抢先在其他节点完成运算、提出异议之前,完成区块运算并将资料写入区块链,如此一来它就能修改自己的交易记录,重复使用同一笔比特币进行支付行为。

用电玩游戏举个简单的例子,这种攻击就像是使用金手指,能将金钱修改为永远不会减少。

不过从实际面来看,比特币的使用者非常多,因此网路中有相当多的节点,其中还有许多使用特殊电脑进行运算的职业矿工,所以全部节点运算能力的总合值相当大,一般人或组织很难凭一己之力掌握51%的运算效能。

假设目前所有节点运算能力加总起来,相当于100台超级电脑,那么攻击者就需要准备101台超级电脑来取得过半运算效能,这在实现情况中不太可能达成。

退一步想,假设万一真的有人能够支配过半运算效能,那么他也同时也能垄断比特币的发行以及交易手续费,并从中赚取相当大的利益,反之如果他选择了窜改交易资料,那么比特币的使用者变会对这种货币失去信心,导致比特币的价值崩盘,甚至是一夕之间「钞票变壁纸」。

因此假设攻击者是以利益为出发点,那么他就算能发动51%攻击,他也不会这么做,如此一来便能确保比特币与区块链仍然是安全的。

▲比特币是区块链极具代表性的应用实例之一。

说文解字使用范例:区块链

O:区块链能将验证交易的负荷分散至网路中的每个节点。

X:脚踏车停好之后,记得要用区块链锁上。

5. 区块链系统开发-区块链交易系统开发-的核心技术有哪些

区块链技术是当今新兴的一项技术,但这么说也不太妥当,因为十年前比特币的出现这项技术也随之诞生,但说其是当下很火热的技术是没问题的。区块链技术经过10年来的不断更新,终于在近两年都有了相关的应用落地,且进入了区块链3.0时代,未来的3-5年,相信会有更多的领域需要区块链系统来支撑。下面区块链系统开发路普达(loopodo)小编就带大家来看一下,区块链系统开发的几大核心技术。
一、哈希算法
哈希算法是区块链系统开发中用的最多的一种算法,哈希函数(Hash Function),也称为散列函数或杂凑函数,哈希函数可将任意长度的资料经由Hash算法转换为一组固定长度的代码,原理是基于一种密码学上的单向哈希函数,这种函数很容易被验证,但是却很难破解。通常业界使用y =h (x)的方式进行表示,该哈希函数实现对x进行运算计算出一个哈希值y。
二、非对称加密算法
非对称加密算法是一种密钥的保密方法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法
三、共识机制
所谓“共识机制”,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。
现今区块链的共识机制可分为四大类:工作量证明机制(PoW)、权益证明机制(PoS)、股份授权证明机制(DPoS)和Pool验证池。
四、智能合约
智能合约就是传统合约的数字化网络化版本。它们是区块链上运行的计算机程序,可以满足在源代码中写入的条件时自行执行。智能合约一旦编写好就可以被用户信赖,合约条款就不会被改变,因此合约是不可更改的,并且任何人也不能修改。
开发发人员会为智能合约编写代码,这样就是用于交易和两方乃至多方之间的任何交换行为。代码里会包含一些触发合约自动执行的条件。一旦完成编写,智能合约就会自动被上传到网络上。数据上传到所有设备上以后,用户就可以与执行程序代码的结果达成协议。
五、分布式存储
分布式存储是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。海量的数据按照结构化程度来分,可以大致分为结构化数据,非结构化数据,半结构化数据。
路普达网络科技专注区块链系统开发,以太坊开发,区块链交易系统开发、虚拟币平台开发,币币交易系统开发、数字货币钱包系统开发

6. 区块链究竟是什么解密区块链的概念

阅读全文

与区块链投票原理相关的资料

热点内容
魔兽怀旧服中级挖矿去哪里挖 浏览:415
鸿博股份区块链 浏览:742
aot慈善币1月19日矿机 浏览:973
现在哪个比特币网可以交易 浏览:18
挖矿币开盘怎么写开盘词 浏览:421
矿机传媒广告背包 浏览:242
数字货币交易所MSOKEN 浏览:664
比特币病毒2017 浏览:729
40万蚂蚁矿机 浏览:623
比特币钱包签名怎么搞 浏览:586
数字货币最收藏价值 浏览:786
区块链node 浏览:722
比特币挖矿对气候 浏览:320
购买比特币属于诈骗类的那种 浏览:772
btc图表怎么看 浏览:144
俄罗斯科学家计算机挖矿 浏览:761
明日之后矿机挖一次要多久 浏览:862
微星200系列主板挖矿 浏览:400
数字货币包括啥 浏览:409
为什么不买熊猫矿机 浏览:343