(1)零知识证明
“零知识(shí)证明”zero-knowledge proofs,简写为ZKPs,指的是证明者(zhě)能够在不向验(yàn)证者提(tí)供任(rèn)何有用信息的情况下,使验(yàn)证者相信某个论(lùn)断(duàn)是正(zhèng)确的协(xié)议。看上去非常复杂,但实现的(de)方式很简单:A要向B证明(míng)他知(zhī)道特定(dìng)数独(dú)的答案,但又不(bú)能告诉B这个数独的解。B可以(yǐ)随机指定某(mǒu)一行(háng)、列或九宫格,A将这一(yī)行、列、九宫格里所有(yǒu)的数字按照从小到大的顺序写(xiě)下来,其中包含(hán)了1-9的所有数(shù)字,就可以证明A的确知道这(zhè)个数独题目(mù)的答案。
在(zài)这个(gè)过程(chéng)当中,一(yī)旦A提前知道(dào)了B指定(dìng)的行(háng)、列或九宫(gōng)格,就可(kě)以在验证过程中作弊(bì),所以B需要(yào)一个真正的随机数(shù)来(lái)确保(bǎo)这(zhè)个验证方式是安全的(de)。
在
区块链中,节点(diǎn)之间利用零(líng)知识证明的方式就可以在不(bú)向验证者提供任何(hé)有用信息的情况(kuàng)下,使验证者相信这个区块(kuài)是(shì)合法(fǎ)的。
(2)非对称加密(mì)算(suàn)法
非对(duì)称(chēng)加(jiā)密算法也叫公开(kāi)密(mì)钥密码学(英(yīng)语:Public-key cryptography,是密(mì)码学(xué)的(de)一种算(suàn)法,它需要两(liǎng)个密钥(yào),一个是公开密钥(yào),另一个是私有密钥;一个用作加密,另一个则用作解密。使用其中一个密(mì)钥把明文加密后所得的密文,只能用相对(duì)应的(de)另一个密(mì)钥才能解密(mì)得到原(yuán)本的明文;甚至连最(zuì)初用来(lái)加密的密钥也不能用作解(jiě)密(mì)。由于加密(mì)和(hé)解密需(xū)要两(liǎng)个不同的密钥,故被称为非对称(chēng)加密(mì);不同于加密和解密都使(shǐ)用同一个密钥的对称加密(mì)。虽(suī)然(rán)两个密钥在数(shù)学上相关,但(dàn)如果知道(dào)了其(qí)中(zhōng)一个,并不能凭此(cǐ)计算(suàn)出另外一个;因(yīn)此其中一个可(kě)以公开,称为(wéi)公钥,任意向外发布;不公开的密钥为私钥,必须(xū)由用户自行严格秘(mì)密保管,绝不透过任何途径向任何人提供,也(yě)不会透露给被信任的要(yào)通信的另一方(fāng)。
(3)公有链的“不可能三(sān)角”
指在公有链设计(jì)的过程当中,安全(quán)性、去中心(xīn)化和(hé)高吞吐(tǔ)量三者无法(fǎ)同时(shí)实现,必须对其中一种(zhǒng)进(jìn)行妥协。
(4)拜占庭将军问题
拜占庭将军(jun1)问题(Byzantine Generals Problem),是由莱斯利·兰波特在其同名论文中提出的分布式对(duì)等网(wǎng)络通信容错(cuò)问(wèn)题。
在分布式计算中,不同的计(jì)算机通(tōng)过通讯(xùn)交(jiāo)换信息(xī)达成共识而按照同一套协作策略行(háng)动。但有时候(hòu),系统中的成员计算机可(kě)能出错而发送错误的信息,用于(yú)传递信息的通讯网络也可能导致信息损坏,使得(dé)网络中不同的成员关于全体协作的策略得(dé)出不同结论,从而破坏系统(tǒng)一致性。拜占庭将军问题被认为(wéi)是容错性(xìng)问题中最(zuì)难的问题类(lèi)型之一。
具体(tǐ)来说,拜占庭将军问(wèn)题(tí)是一(yī)个思想实(shí)验,即一组拜占(zhàn)庭将(jiāng)军分(fèn)别各率领一(yī)支军队共同围困一座城市。各(gè)支军队的行动(dòng)策略限定为进攻(gōng)或撤离两种。因为部分军队进攻部分(fèn)军队撤离可能会造(zào)成灾难性后果,因此各位将军必须通过投票来达成一致(zhì)策(cè)略,即所有军队一起进攻或所有(yǒu)军队一(yī)起撤离。因为各位将军分处城市(shì)不同方向,他们只能(néng)通(tōng)过信使互相联系。在投(tóu)票过程中每位将军都将自己投票给进(jìn)攻还是撤退的信(xìn)息通过信使分别通知其他所有将军,这样(yàng)一来每位将军根据(jù)自(zì)己的投(tóu)票和其他所有(yǒu)将军送来的信息就可以知道共同的投票(piào)结果而决定行动策略(luè)。
问题在于,将军中可能出现叛徒(tú),他们不仅可能向(xiàng)较为糟(zāo)糕的策略(luè)投(tóu)票,还可能选择性地(dì)发(fā)送投票信息。假设有9位将军投票,其中(zhōng)1名叛徒。8名忠诚的将军中出现了4人(rén)投进攻,4人投撤离(lí)的情(qíng)况。这时候叛徒(tú)可能(néng)故意给4名投进(jìn)攻(gōng)的将领送信(xìn)表示投票进攻,而(ér)给(gěi)4名投撤离(lí)的将领送信(xìn)表示投撤离。这样(yàng)一来在4名投进攻的将领(lǐng)看来,投票结(jié)果是5人投进攻,从而发起进攻;而在4名投(tóu)撤离的将军看来则(zé)是5人投撤离(lí)。这(zhè)样各支军队的一致协同就(jiù)遭到了破(pò)坏。
由(yóu)于将军之(zhī)间需要通过信使通讯,叛变将军可(kě)能通(tōng)过伪造信件来(lái)以其他将军的身份(fèn)发(fā)送假投票。而即(jí)使在保证所有将军忠诚的情(qíng)况(kuàng)下,也不能排除信(xìn)使被(bèi)敌(dí)人截杀,甚(shèn)至(zhì)被敌人间谍替换等情况(kuàng)。因此(cǐ)很难通过保证人员(yuán)可靠性及通讯可(kě)靠性来解决问题。
假使那些忠诚(或是没有出错)的将军仍然能(néng)通过(guò)多数决(jué)定来决(jué)定他们(men)的战略,便称达(dá)到了拜占(zhàn)庭容错。在此(cǐ),票都会有一个默认值,若(ruò)消息(xī)(票(piào))没有被(bèi)收到,则使用此默(mò)认值来投(tóu)票。
版权申明:本内容来自(zì)于互联网,属第三方汇集推荐平台。本文(wén)的版权归(guī)原(yuán)作者所有,文章言论(lùn)不(bú)代表(biǎo)链(liàn)门户(hù)的观点,链门户不承担任何法律责任。如有(yǒu)侵(qīn)权请联系(xì)QQ:3341927519进行反馈。