楊元慶
摘 要:DNS域名查詢服務(wù)是互聯(lián)網(wǎng)上極其重要的一項(xiàng)服務(wù),很多網(wǎng)絡(luò)應(yīng)用都需要依靠DNS域名系統(tǒng)的尋址功能。但是DNS域名系統(tǒng)由于歷史原因,設(shè)計(jì)上高度中心化,整個(gè)系統(tǒng)的穩(wěn)定嚴(yán)重依賴中心節(jié)點(diǎn)。另一方面,中心化結(jié)構(gòu)導(dǎo)致安全和性能產(chǎn)生了矛盾,以至于DNSSEC安全擴(kuò)展協(xié)議出多年,但是普及情況依舊不是很樂(lè)觀。
當(dāng)前互聯(lián)網(wǎng)治理模式正朝著平等開放的方向發(fā)展,域名系統(tǒng)(Domain Name System,DNS)作為解析互聯(lián)網(wǎng)資源名字及互聯(lián)網(wǎng)資源地址的基礎(chǔ)服務(wù),其重要性愈發(fā)突出。傳統(tǒng)的域名系統(tǒng)管理模式是一種中心化的層級(jí)架構(gòu),權(quán)力濫用、單點(diǎn)信任等安全風(fēng)險(xiǎn)始終存在。區(qū)塊鏈技術(shù)作為一種新型的去中心化工具,能夠給域名系統(tǒng)架構(gòu)的扁平化改造提供創(chuàng)新性思路,實(shí)現(xiàn)全球域名服務(wù)提供商之間的共管共治模式,具有去中心化、時(shí)序數(shù)據(jù)、集體維護(hù)、可編程和安全可信等特點(diǎn),特別適合構(gòu)建可編程的貨幣系統(tǒng)、金融系統(tǒng)乃至宏觀社會(huì)系統(tǒng)。目前已經(jīng)引起政府部門、金融機(jī)構(gòu)、科技企業(yè)和資本市場(chǎng)的高度重視與廣泛關(guān)注。
本文致力于回顧區(qū)塊鏈技術(shù)能力,介紹該技術(shù)在實(shí)現(xiàn)這種分散系統(tǒng)中的主要優(yōu)缺點(diǎn)。這項(xiàng)技術(shù)的主要威脅,減緩了它在現(xiàn)代社會(huì)的實(shí)施。此外,還考慮了網(wǎng)絡(luò)擴(kuò)展和51%攻擊的問(wèn)題。
關(guān)鍵詞:互聯(lián)網(wǎng);區(qū)塊鏈;分散系統(tǒng);信息學(xué);信息系統(tǒng);信息安全
區(qū)塊鏈技術(shù)最初由中本聰于 2008 年提出,原作為比特幣的基礎(chǔ)架構(gòu),卻掀起了一輪創(chuàng)新熱潮。如今,區(qū)塊鏈技術(shù)被逐漸應(yīng)用于金融、供應(yīng)鏈、溯源、版權(quán)保護(hù)等實(shí)際應(yīng)用場(chǎng)景。區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)庫(kù)技術(shù),在典型的區(qū)塊鏈系統(tǒng)中,數(shù)據(jù)以區(qū)塊為單位產(chǎn)生和存儲(chǔ),并按照時(shí)間順序連成鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)。所有節(jié)點(diǎn)共同參與區(qū)塊鏈系統(tǒng)的數(shù)據(jù)驗(yàn)證、存儲(chǔ)和維護(hù)。區(qū)塊鏈并不是一項(xiàng)全新的技術(shù),歸根結(jié)底,它可被視為一個(gè)去中心化的數(shù)據(jù)庫(kù)技術(shù)。在區(qū)塊鏈系統(tǒng)中,共識(shí)算法具有重要作用。目前主流的共識(shí)算法有工作量證明機(jī)制 (Proof of Work,PoW)、權(quán)益證明機(jī)制 (Proof ?of ?Stake,PoS)、股權(quán)授權(quán)證明機(jī)制 (Delegated ?Proof ?of ?Stake,DPoS) 等。非對(duì)稱加密技術(shù)在區(qū)塊鏈的應(yīng)用場(chǎng)景主要包括信息加密、數(shù)字簽名和登錄認(rèn)證等。以比特幣系統(tǒng)為例,一般通過(guò)調(diào)用操作系統(tǒng)底層的隨機(jī)數(shù)生成器來(lái)生成 256 位隨機(jī)數(shù)作為私鑰。為便于識(shí)別,256 位二進(jìn)制形式的比特幣私鑰將通過(guò) SHA256 哈希算法和 Base58 轉(zhuǎn)換,形成 50 個(gè)字符長(zhǎng)度的易識(shí)別和書寫的私鑰提供給用戶。比特幣的公鑰是由私鑰首先經(jīng)過(guò) Secp256k1 橢圓曲線算法生成65 字節(jié)長(zhǎng)度的隨機(jī)數(shù)。該公鑰可用于產(chǎn)生比特幣交易時(shí)使用的地址,其生成過(guò)程為首先將公鑰進(jìn)行 SHA256 和 RIPEMD160 雙哈希運(yùn)算并生成 20 字節(jié)長(zhǎng)度的摘要結(jié)果,再經(jīng)過(guò) SHA256 哈希算法和 Base58 轉(zhuǎn)換形成 33 字符長(zhǎng)度的比特幣地址。
如果你用手指和可以理解的文字來(lái)解釋,區(qū)塊鏈技術(shù)(block-block,chain-chain)是一種日志,它以一定的順序,按照時(shí)間的順序,用一定的信息來(lái)記錄。為防止任何人出于自己的目的自行決定對(duì)《新華日?qǐng)?bào)》進(jìn)行更改,所含信息經(jīng)過(guò)特別加密。如果這本雜志是一本的話,它可能會(huì)丟失、燒毀或其他人破譯并做出改變。因此,為了提高可靠性,每個(gè)用戶都會(huì)存儲(chǔ)大量日志副本。當(dāng)對(duì)日記帳進(jìn)行新的分錄時(shí),它將自動(dòng)記錄在所有實(shí)例中。這就是區(qū)塊鏈技術(shù)的工作原理。
從技術(shù)上講,區(qū)塊鏈?zhǔn)且粋€(gè)分布式數(shù)據(jù)庫(kù),由網(wǎng)絡(luò)的所有用戶同時(shí)存儲(chǔ)。寫入數(shù)據(jù)庫(kù)稱為“區(qū)塊”,因?yàn)閰^(qū)塊鏈在加密貨幣中特別常見,因此也稱為“交易區(qū)塊”。每個(gè)新塊包含以前操作的記錄、頭和時(shí)間戳。當(dāng)一個(gè)新的數(shù)據(jù)塊最終形成時(shí),所有網(wǎng)絡(luò)成員都會(huì)自動(dòng)對(duì)其進(jìn)行檢查,然后,如果沒有對(duì)現(xiàn)有的早期記錄進(jìn)行更改,則會(huì)將該塊附加到鏈上。
該技術(shù)的主要原則包括完全分散、數(shù)據(jù)存儲(chǔ)的安全、操作的完全開放和透明、系統(tǒng)中已經(jīng)記錄的塊的不變性。
區(qū)塊鏈加密確保只有密鑰所有者可以更改其擁有的“他們”塊中的記錄,沒有密鑰就無(wú)法寫入塊。此外,塊加密為所有網(wǎng)絡(luò)用戶設(shè)備提供塊副本的分發(fā)和同步。
所有網(wǎng)絡(luò)設(shè)備的安全性也由對(duì)等設(shè)備和網(wǎng)絡(luò)的時(shí)間戳技術(shù)來(lái)保證。這樣就形成了一個(gè)數(shù)據(jù)庫(kù),它是自主管理的,只由網(wǎng)絡(luò)成員作為一個(gè)整體進(jìn)行管理,而沒有一個(gè)單一的中心或服務(wù)器。
這一術(shù)語(yǔ)首次以完全復(fù)制的分布式數(shù)據(jù)庫(kù)的名稱出現(xiàn),該數(shù)據(jù)庫(kù)在“比特幣”系統(tǒng)中使用,因此區(qū)塊鏈技術(shù)通常與加密貨幣的交易相關(guān),但區(qū)塊鏈技術(shù)可應(yīng)用于任何信息區(qū)塊。這就是為什么在本文中,我們將考慮區(qū)塊鏈技術(shù)在DNS域名系統(tǒng)模擬設(shè)計(jì)中的實(shí)際應(yīng)用。
1.1. 區(qū)塊鏈技術(shù)的優(yōu)勢(shì):
·采用區(qū)塊鏈技術(shù)實(shí)現(xiàn)域名系統(tǒng)的革新,主要體現(xiàn)在它的分布式域名解析系統(tǒng)的特性上,具體包括安全性、快速訪問(wèn)、保護(hù)隱私等優(yōu)勢(shì)。域名系統(tǒng)沿用分層思想,主要由兩層鏈構(gòu)成,一是由各頂級(jí)域(TLD)注冊(cè)局組成的 Root 鏈;二是由頂級(jí)域注冊(cè)局及其域內(nèi)注冊(cè)商、ISP 等組成的 TLD 鏈??紤]到根域是域名系統(tǒng)的入口,其穩(wěn)定性和一致性決定著整個(gè)系統(tǒng)的性能和安全,因此在 Root 鏈中加入網(wǎng)絡(luò)標(biāo)識(shí)多邊協(xié)調(diào)委員會(huì)的中立角色,當(dāng)各參與方在系統(tǒng)層面無(wú)法達(dá)成一致或系統(tǒng)故障的情況下,通過(guò)該中立角色的協(xié)調(diào),各方重新達(dá)成一致,維護(hù)系統(tǒng)重新運(yùn)行。在各 TLD 鏈中加入監(jiān)督節(jié)點(diǎn),同步鏈上域名數(shù)據(jù),根據(jù)各域的政策和法律對(duì)域名系統(tǒng)進(jìn)行監(jiān)管。總體架構(gòu)如圖 1 所示。
·沒有中央服務(wù)器-數(shù)據(jù)庫(kù)的副本經(jīng)常在參與者之間分發(fā),因此幾乎不可能對(duì)其進(jìn)行黑客攻擊(除了“攻擊51%”)。
·每個(gè)用戶都有一個(gè)完整的數(shù)據(jù)庫(kù),其中包含加密形式的整個(gè)區(qū)塊鏈。副本不斷且定期同步。
·任何人都可以用數(shù)據(jù)跟蹤任何操作,系統(tǒng)完全透明。
·鏈(數(shù)據(jù)庫(kù))中的信息作為新塊添加。自動(dòng)添加與其他用戶一致的網(wǎng)絡(luò)。
·金融技術(shù)不僅適用于其他領(lǐng)域,而且也適用于其他領(lǐng)域。
·高速運(yùn)行。
但是這種技術(shù)也有缺點(diǎn),對(duì)于任何大型服務(wù)的實(shí)現(xiàn)都非常嚴(yán)重,這將被大量的用戶使用(在我們的例子中是域名服務(wù))。到目前為止,模擬DNS的實(shí)現(xiàn)還不是真實(shí)的,實(shí)現(xiàn)的例子已經(jīng)在發(fā)生,但是這些發(fā)展的全球適用性還很早就說(shuō)出來(lái),而以下問(wèn)題是相關(guān)的:
·攻擊風(fēng)險(xiǎn)-如果51%的區(qū)塊鏈由一個(gè)用戶(或一組用戶,這更現(xiàn)實(shí))擁有,則有可能為該用戶或群體的個(gè)人目的確認(rèn)“錯(cuò)誤”區(qū)塊。
·可擴(kuò)展性。如果我們考慮金融業(yè),比特幣網(wǎng)絡(luò)處理能力高達(dá)每秒7次,SWIFT系統(tǒng)每秒處理超過(guò)1000次操作。網(wǎng)絡(luò)容量不會(huì)隨著新節(jié)點(diǎn)的增加而增加,它是不可擴(kuò)展的。法律地位的不確定性。
·所有網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行相同的工作,在鏈中記錄相同的信息,存儲(chǔ)相同的歷史記錄。沒有并行化,只有數(shù)百萬(wàn)美元的復(fù)制。
·大量基礎(chǔ)。到目前為止,以太坊區(qū)塊鏈的大小已經(jīng)是200GB,而且必須存儲(chǔ)在用戶的計(jì)算機(jī)上,否則分布式數(shù)據(jù)庫(kù)復(fù)制的意識(shí)形態(tài)就會(huì)丟失。
·另一個(gè)巨大的比特幣挖掘問(wèn)題?!氨忍貛拧毕到y(tǒng)以12.5個(gè)硬幣的形式向成功并正確地選擇哈希值的人頒發(fā)獎(jiǎng)勵(lì)。創(chuàng)造一個(gè)區(qū)塊的獎(jiǎng)勵(lì)是發(fā)行比特幣的唯一途徑,也就是說(shuō),所有的新硬幣都是在采礦的幫助下創(chuàng)造出來(lái)的。
隨著礦工數(shù)量的增加,為一個(gè)礦工找到正確哈希的概率降低。因此,礦工們開始聯(lián)合成一個(gè)叫“水池”的團(tuán)體。池將它們的能力組合在一起,并選擇塊的哈希值,然后在成功選擇報(bào)酬之后,根據(jù)花費(fèi)容量在池的參與者之間共享它。
因此,如果任何池收集了所有容量的51%,它將能夠進(jìn)入鏈中的任何塊,并且它們將被認(rèn)為是真的。
1.2. 我們是否需要在區(qū)塊鏈上普遍使用DNS的情況下實(shí)現(xiàn)這一點(diǎn)?
為了讓區(qū)塊鏈域名系統(tǒng)被大量用戶使用(如今全球互聯(lián)網(wǎng)用戶已接近25億),必須解決上述問(wèn)題。這些方案是基于鏈塊的不同技術(shù)實(shí)現(xiàn)的。依次考慮解決方案:
1.3. 功率和網(wǎng)絡(luò)速度
如上所述,比特幣系統(tǒng)每秒只能執(zhí)行7次操作,這不適合DNS的實(shí)現(xiàn)(大量的操作以替換記錄、權(quán)限等形式出現(xiàn))。為了解決這個(gè)問(wèn)題,專家們實(shí)施了照明網(wǎng)絡(luò)技術(shù)。
首先,網(wǎng)絡(luò)成員建立一種“渠道”,對(duì)網(wǎng)絡(luò)做出承諾。一旦信道建立,它們就開始直接交換信息,與網(wǎng)絡(luò)的其他部分隔離,完全以任何速度進(jìn)行。信息交換完成后,參與者將“交流”的結(jié)果寫入通用區(qū)塊鏈并收取押金。這種信息傳輸方案消除了對(duì)執(zhí)行的操作數(shù)量的限制,并允許您以任何方便的速度交換數(shù)據(jù)(或事務(wù))。
1.4. 大量的基礎(chǔ)。
互聯(lián)網(wǎng)用戶不會(huì)希望在他們的設(shè)備上存儲(chǔ)整個(gè)網(wǎng)絡(luò)地圖,因?yàn)樗娜萘繉⑹蔷薮蟮模颐糠昼姸荚谠鲩L(zhǎng)。這個(gè)問(wèn)題有兩種解決方案:Web服務(wù)器。整個(gè)數(shù)據(jù)庫(kù)不會(huì)存儲(chǔ)在您的設(shè)備上,也不會(huì)存儲(chǔ)在本地的某個(gè)地方,例如,您的托管提供商。最主要的是它不是一個(gè)單一的政黨,它存儲(chǔ)了所有的網(wǎng)絡(luò)地圖,否則它將徹底擊敗意識(shí)形態(tài)區(qū)塊鏈。像以前一樣,您連接到該服務(wù)器并使用Internet,而不執(zhí)行任何計(jì)算,也不將所有塊存儲(chǔ)在設(shè)備上。但是,存在對(duì)該服務(wù)器的信任問(wèn)題。
有一種更可靠的方法來(lái)減小數(shù)據(jù)庫(kù)的大小,Satoshi在2008年寫過(guò)它,是一棵Merkle樹。您只能存儲(chǔ)和檢查塊標(biāo)題,而不能存儲(chǔ)和檢查塊本身。因此,底座的體積減少了約200倍。但還有另一種方法可以減少音量。沒有必要在您的設(shè)備上存儲(chǔ)塊的整個(gè)歷史記錄,您只能從某個(gè)時(shí)間點(diǎn)開始。
1.5. 系統(tǒng)的可擴(kuò)展性
術(shù)語(yǔ)“可伸縮性”是指當(dāng)向系統(tǒng)添加資源時(shí),系統(tǒng)性能的提高。事實(shí)上,經(jīng)典區(qū)塊鏈不僅可以向上擴(kuò)展,而且可以向下擴(kuò)展。按照同樣的原則,不可能建立一個(gè)小型網(wǎng)絡(luò),因?yàn)椤肮?1%”的概率增加。但是最近提出了一個(gè)解決這個(gè)問(wèn)題的方法。Joseph POON(照明網(wǎng)絡(luò)的發(fā)明者)和Vitaly Buterin(以太坊的開發(fā)者)。他們提出了一個(gè)Plasma草案是做區(qū)塊鏈區(qū)塊鏈的方式。從概念上講,與網(wǎng)絡(luò)中的一個(gè)主要的網(wǎng)絡(luò)交換技術(shù)是相似的與其他參與者單獨(dú)和獨(dú)立地提供信息,獨(dú)立監(jiān)控其智能合約規(guī)則的執(zhí)行情況。這種隔離通信的結(jié)果以一定的周期性記錄在主網(wǎng)中。
1.6. 攻擊51%
區(qū)塊鏈技術(shù)Emc DNS解決了系統(tǒng)的漏洞。它結(jié)合了PoW處理技術(shù)和PoW處理技術(shù)。也就是說(shuō),攻擊者將不足以擁有系統(tǒng)51%的計(jì)算能力,真正的51%算力攻擊一旦發(fā)生,后果會(huì)很嚴(yán)重,但51%攻擊有悖論,使得它事實(shí)上難以發(fā)生,雙花攻擊無(wú)需51%的算力,ghash.io的45%算力已經(jīng)具備了雙花攻擊的條件,事情沒有我們想像得那么樂(lè)觀,比特幣世界要重視這個(gè)事情,雙花和虛花可以多等幾個(gè)確認(rèn)來(lái)防范,真正的51%算力攻擊多等幾個(gè)確認(rèn)也難以防范。
此外,他們還必須擁有總貨幣供應(yīng)量的51%,這實(shí)際上是不可能的。但是會(huì)有一線希望嗎?很難說(shuō)目前存在的數(shù)千種山寨幣給最終用戶帶來(lái)了什么實(shí)實(shí)在在的好處。如果由此加密世界能圍繞一些較大的幣種進(jìn)行鞏固,那么對(duì)于該行業(yè)的長(zhǎng)期健康來(lái)說(shuō),51%攻擊可能不是一件絕對(duì)的壞事。
1.7. Emercoin作為DNS的替代方案
Emercoin(縮寫為EMC)是一種具有兩種生成類型的加密貨幣,例如“工作證明”POW和“所有權(quán)證明”POS(在加密貨幣中用作保護(hù)方法)。開發(fā)代碼是開放的,每個(gè)人都可以使用。EMC使用上述NameCoin系統(tǒng)的技術(shù)。
系統(tǒng)有一個(gè)API來(lái)處理它。該系統(tǒng)定位為一個(gè)分散的信息列表,朝著安全的多業(yè)務(wù)分布式網(wǎng)絡(luò)方向發(fā)展。2016年8月,軟件更新0.5.0構(gòu)建了比特幣核心,這是第一次使用加密貨幣POS(生成“所有權(quán)證明”類型)的核心。軟件是2017年8月29日的最后一次更新。
目前,在EMC的基礎(chǔ)上提供了以下服務(wù):分布式DNS,簡(jiǎn)稱EMCDNS-EMCSSL-免費(fèi)安全套接字層證書枚舉器-一個(gè)用于存儲(chǔ)VOIP地址的分布式數(shù)據(jù)庫(kù)在認(rèn)證工作的框架內(nèi)我們只對(duì)分散式DNS系統(tǒng)感興趣,稱為EMCDNS。與NameCoin不同,該技術(shù)支持4個(gè)域區(qū)域。
EMCDNS是一種沒有中央服務(wù)器的域名存儲(chǔ)技術(shù)。該系統(tǒng)不受審查和第三方干擾,據(jù)開發(fā)者和普通用戶介紹,網(wǎng)絡(luò)是超可靠的。
45個(gè)必要的emcdn作為經(jīng)典DNS的模擬,由于DNS的失敗或攻擊很可能會(huì)中斷和分散組織網(wǎng)絡(luò)。該系統(tǒng)不依賴于經(jīng)典DNS,因?yàn)镋MCDN可以避免阻止站點(diǎn)和其他資源,并且能夠抵抗DDOS攻擊。
實(shí)際上,emcdn能夠支持任何域區(qū)域。目前,用戶只支持4個(gè)區(qū)域。
在該系統(tǒng)的所有優(yōu)點(diǎn)中,完全分散(區(qū)域由業(yè)主獨(dú)家管理),信息不可替代,資源不能被任何國(guó)家的行政資源封鎖。
1.8. EmcDNS與NameCoin的主要區(qū)別
EmcDNS與NameCoin在技術(shù)開發(fā)上的主要區(qū)別EmcDNS對(duì)NameCoin的實(shí)現(xiàn)方法進(jìn)行了徹底的修改和重組。介紹了以下差異,這些差異使該技術(shù)對(duì)最終用戶更具吸引力。
更詳細(xì)地考慮這些差異:
1.無(wú)限數(shù)量的域區(qū)域和用戶創(chuàng)建它們的能力,正如我前面所說(shuō),NameCoin系統(tǒng)只支持一個(gè)位區(qū)域。在普通的分區(qū)中,有可能創(chuàng)建一個(gè)新的分區(qū),支持它的用戶數(shù)量是無(wú)限的。
2.在任意時(shí)域記錄域注冊(cè)(在區(qū)塊鏈中引入一個(gè)新的條目)系統(tǒng)中實(shí)現(xiàn)了EmcDNS指定用戶租期的能力。順便說(shuō)一句,這一時(shí)期在技術(shù)上并不局限于任何東西,只限于用戶的愿望。這種差異允許您將由于用戶自己的疏忽或遺忘而丟失域的風(fēng)險(xiǎn)降到最低。
3.從區(qū)塊鏈刪除域您可以從區(qū)塊鏈中刪除記錄,也就是說(shuō),您可以同時(shí)終止屬于該用戶的一個(gè)或多個(gè)域。無(wú)需等待記錄的租賃期限到期。
參考文獻(xiàn):
[1] The Protected DNS robachevsky A.//期刊《內(nèi)部互聯(lián)網(wǎng)》——2018年第8期。–26點(diǎn)。
[2] Khramtsov P.B.《時(shí)尚、時(shí)尚、年輕人或DNS與區(qū)塊鏈雜志》《互聯(lián)網(wǎng)內(nèi)幕》——2018年第8期。–20p.【5】Khramtsov p.B.域名系統(tǒng)。2004–17點(diǎn)。
[3] Khramtsov P.B.DNS與anycast:解決方案與挑戰(zhàn)//期刊“內(nèi)部互聯(lián)網(wǎng)”(Internet inside)–第8期,2018年。–12點(diǎn)。
[4] 段希楠, 延志偉, 耿光剛等.區(qū)塊鏈共識(shí)算法研究與趨勢(shì)分析.科研信息化技術(shù)與應(yīng)用, 2017, 8 (6) :43-51.
[5] Venerupin AA結(jié)構(gòu)域。你需要知道的關(guān)于互聯(lián)網(wǎng)關(guān)鍵元素的一切。2014-37便士。
[6]基于區(qū)塊鏈的DNS根域名解析體系[J]. 莊天舒,劉文峰,李東. ?電信科學(xué). 2018(03)
[7]基于區(qū)塊鏈的威脅情報(bào)共享及評(píng)級(jí)技術(shù)研究[J]. 程葉霞,付俊,陳東,杜躍進(jìn). ?信息通信技術(shù)與政策. 2020(02)
(廣州城建職業(yè)學(xué)院 ?廣東 廣州 ?510925)