楊元慶

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