本文首發(fā)于 2017-11-04 15:58 原地址:http://www.blockchainbrother.com/article/93

密碼學(xué)的用途就是解決各種難題(當(dāng)然,這也是計(jì)算機(jī)的主要用途)。密碼學(xué)解決的各種難題圍繞機(jī)密性、鑒別、完整性和不誠實(shí)的人。你也許對各種算法和技術(shù)有一定了解,但除非其能夠解決某些問題,否則其只是理論而已,這也就是為什么要先對協(xié)議進(jìn)行了解的原因。區(qū)塊鏈技術(shù)當(dāng)中一個(gè)很重要的組成部分就是密碼學(xué),作為從事區(qū)塊鏈研究的工程技術(shù)人員,應(yīng)該對密碼學(xué)有一定的了解?,F(xiàn)我想分享一些密碼學(xué)的基本概念以供交流學(xué)習(xí),大家共同學(xué)習(xí),更加充實(shí)對區(qū)塊鏈技術(shù)的理解。
仲裁協(xié)議
仲裁者(arbitrator)是在完成協(xié)議的過程中,值得信任的公正的第三方。
“公正”意味著仲裁者在協(xié)議中沒有既得的利益,對參與協(xié)議的任何人也沒有特別的利害關(guān)系。
“值得信任”表示協(xié)議中的所有人都接受這一事實(shí),即仲裁者說的都是真實(shí)的,他做的都是正確的,并且他會完成協(xié)議中涉及他的部分。
仲裁者能幫助任何互不信任的雙方完成協(xié)議。
在現(xiàn)實(shí)社會中,經(jīng)常扮演仲裁者的是律師。我舉一個(gè)例子,Alice要賣一個(gè)房子給不認(rèn)識的Bob。Bob想用支票付賬,但是Alice不知道支票的真假。在Alice將房子轉(zhuǎn)給Bob之前,其必須查清楚支票的真?zhèn)?。同樣,Bob也不是完全信任Alice,這樣在沒有獲得所有權(quán)之前,Bob也是不愿意將支票交給Alice的。
這個(gè)時(shí)候,就需要雙方共同信任的律師。在律師的幫助下,Alice和Bob能夠使用下面的協(xié)議保證相互不欺騙。
1)Alice將房子的所有權(quán)交給律師。
2)Bob將支票交給Alice。
3)Alice在銀行兌現(xiàn)支票。
4)在等到支票鑒定無誤能兌換現(xiàn)金之后,律師將房子的所有權(quán)交給Bob。如果在規(guī)定的時(shí)間內(nèi)支票不能兌現(xiàn),Alice將證據(jù)出示給律師,律師將房子的所有權(quán)交還給Alice。
在這個(gè)協(xié)議中,Alice相信律師不會在支票沒有兌換成現(xiàn)金之前將房子的所有權(quán)交給Bob;如果經(jīng)過證實(shí)支票是不能兌現(xiàn)的,律師會把房子的所有權(quán)交還給自己。而Bob相信律師現(xiàn)在擁有房子的所有權(quán),在支票兌現(xiàn)之后,會將房子的所有權(quán)交給自己。而律師其實(shí)并不關(guān)心支票是否可以兌現(xiàn),不管在什么情況下,他只做他應(yīng)該去做的事情,因?yàn)槠鋵?shí)無論哪種情況發(fā)生,律師都是有報(bào)酬的。
在上述例子中,律師起著擔(dān)保代理的作用。當(dāng)然,還有別的例子,比如遺囑和合同談判,律師都可以作為仲裁者。在我們生活中,銀行也經(jīng)常使用仲裁協(xié)議。現(xiàn)再舉一個(gè)買賣汽車的例子:Bob使用保付支票從Alice手上購買汽車。
1)Bob開具一張支票并交給銀行。
2)在驗(yàn)證證實(shí)Bob有足夠的錢支付支票上的數(shù)目后,銀行將保付支票交給Bob。
3)Alice將汽車的所有權(quán)交給Bob,Bob將保付支票交給Alice。
4)Alice憑借保付支票去銀行兌現(xiàn)。
需要說明的是公證人是另一種仲裁者,當(dāng)Bob從Alice接收到已公證的文件時(shí),他相信Alice簽署的文件是其資金親自簽署的。如果有必要,公證人可以出庭作證證實(shí)這一事實(shí)。
其實(shí)仲裁者的概念是非常悠久的。在人類社會中總是存在那么一些人有公平處理事情的權(quán)威,一般仲裁者都是有一定社會地位和聲望的人。而背叛公眾的信任是一件非常危險(xiǎn)的事情,其社會地位和聲望都將受到嚴(yán)重影響。比如,視擔(dān)保為兒戲的律師幾乎無一例外會被開除出律師界。當(dāng)然,雖然仲裁協(xié)議看上去十分美好,也有相當(dāng)?shù)臍v史,但我們知道任何事物都不是十全十美的。
現(xiàn)在我們將仲裁思想轉(zhuǎn)換到計(jì)算機(jī)的世界中,計(jì)算機(jī)仲裁者存在下面幾個(gè)問題:
1)假設(shè)你知道對方是誰,并能與之見面,那么很容易找到和相信中立的第三方。而互相懷疑的雙方很可能也懷疑在網(wǎng)絡(luò)別的什么地方并不露面的仲裁者。
2)計(jì)算機(jī)網(wǎng)絡(luò)必須負(fù)擔(dān)仲裁者的費(fèi)用。就像我們知道的律師費(fèi)用,但誰想負(fù)擔(dān)那種網(wǎng)絡(luò)費(fèi)用呢
3)在任何仲裁協(xié)議中都有延遲的特性。
4)仲裁者必須處理每一筆交易。任何一個(gè)協(xié)議在大的范圍執(zhí)行時(shí),仲裁者是潛在的瓶頸。增加仲裁者的數(shù)目似乎是一個(gè)好主意,可以緩解這個(gè)問題,但費(fèi)用將會增加。
5)由于網(wǎng)絡(luò)上每一個(gè)人都必須相信仲裁者,那么對于試圖破壞網(wǎng)絡(luò)的人來說,仲裁者便是一個(gè)易于攻擊的弱點(diǎn)。
當(dāng)然盡管如此,仲裁者仍扮演一個(gè)角色。在使用可信任的仲裁協(xié)議中,這個(gè)角色由Trent來扮演。
于中陽 Mercina-zy