在過去幾十年中,機密和商業文件的傳遞都依靠實物郵遞或快遞。這方式具備具體證明,和確保文件傳遞的保密性,而當前的電子文件傳送方式未能滿足同等要求。核證文本快遞方案 (Authpaper Delivery) 利用區塊鏈提供?個點對點 (P2P) 的對等平臺,傳送機密數據和電子文件, 并提供不可偽造的傳遞記錄和收件人身份驗證。本方案也容許用戶發布不可偽造的證書,防偽保護甚至可以套用到文件實體副本上。此外,平臺允許用戶安全地傳遞大量電子版權資料:如電影、軟件,甚至系統影像。
Authpaper Delivery Solution(核證文本快遞方案)
核證文本快遞方案提供?個分散式系統,允許用戶保密地互相發送數據。為了確保只有收件人可以讀取數據,資料在發送之前由兩個加密密鑰加密。 ?個加密密鑰將通過電郵發送,另?個加密密鑰將通過電郵之外的可信方式傳送,以確保只有收件人才能解密數據。數據傳輸通過 BT 協定(使用 Mainline DHT 和磁力鏈接支持)完成,這樣用戶可以有效地發送大量數據(》 10TB),而不會產生因傳送頻寬帶來的巨大成本。收件人獲取數據時,發件人無需保持上線狀態。
此外,參與平臺的用戶(Peers)可通過協助將數據傳遞給收件人來獲得報酬(印花)。他們不需要保留完整的數據副本來協助傳遞才能獲得報酬。該報酬機制提供經濟誘因鼓勵用戶加入平臺并協助傳遞他們無法存取的數據,從而進?步提高數據傳遞的速度。這是基于定制的區塊鏈實現的,以確保它完全分散,沒有人可以操控平臺。在本節中,我們將討論幾個典型的工作流程以帶出系統的詳細資料和優勢,由介紹?些背景知識開始。
1. 背景知識
· 對稱和非對稱加密
保密的目的是不向未經授權方透露信息,它通過將信息轉換為除被授權方以外看似與垃圾數據沒有區別的狀態來實現機密性。這種轉換機制稱為加密。為了讀回原來數據,收件方使用?些私有信息(密鑰)將看似隨機垃圾的數據(加密數據)轉換回其原來的狀態。這稱為解密。
主要有兩種電腦計算法提供加密:對稱和非對稱算法。對稱密鑰算法也稱為共用密鑰算法,它使用單個加密密鑰進行加密和解密,對方如沒有密鑰將難以解密數據。對稱密鑰安全地被產生并將其保密地分發給發送方和接收方。但是,如果有多個數據接收方,接收方則必須和其他接收方共享密鑰。如果密鑰被泄露,所有接收方將受到威脅。
非對稱密鑰算法通常被稱為“公開密鑰加密”,因為涉及兩個具數學關聯的密鑰,公鑰和私鑰。公鑰和私鑰的組合稱為密鑰對。私鑰始終由擁有者秘密地保存。公鑰則公開地分發,每個人都可以存取它,而私鑰不能從公鑰中推斷出來。只有具有私鑰的?方可以解密使用公鑰的方式所加密的數據。當?方想要將數據發送給另?方時,發送方從收件方獲取公鑰并加密數據。由于僅有收件人得知私鑰,因此只有收件人才能解讀數據。與對稱密鑰算法不同,非對稱密鑰算法允許多方使用相同密鑰對將加密數據發送到同?接收方。任何發送者的通信即使被盜用了也不會損害其他發送者的通信。然而,對稱算法仍然較非對稱算法更常用于數據加密,因為它的處理速度更快。非對稱密鑰算法通常用于密鑰交換和電子簽名。
市場上有很多對稱和非對稱算法。社會和美國國家標準技術研究所(NIST)在推行?個算法之前每每先經過嚴格的安全測試和密碼分析,以確保該算法提供令人滿意的安全性。在本平臺中,我們將使用具有 256 位元密鑰的進階加密標準進行對稱加密(AES 256)和使用 521 位元密鑰橢圓曲線密碼學,以進行電子簽名和密鑰交換(ECDSA 和 ECDH)。NIST 建議兩種算法可在 2030 年以后,就算量子運算出現后也能安全使用。
· 數字簽名(Digital Signature)
數字簽名是?種保證消息內容在傳輸過程中未被更改的過程。有效的數字簽名使收件人有理由相信該資料是由已知的發件人(身份驗證)發出的,發件人不能不承認已發送的資料(不可否認),并且資料在傳輸過程中沒有更改(完整性)。數字簽名采用非對稱加密和散列函數。在許多情況下,數字簽名是手寫簽名或官方印章的法律上可接受的替代品。證明簽名的真實性,但電子簽名比手寫類型更難以偽造。
數字簽名方案通常由 3 種算法:密鑰產生、簽名算法和簽名驗證算法組成。為了將公鑰與各方(例如人和組織)的身份綁定,建立了稱為公開密碼匙基礎建設(公匙基建)(PKI)的安排。在 PKI 設計下,身份綁定是通過證書頒發機構(CA)注冊和頒發證書的過程建立的。
在 Authpaper Delivery 平臺中,我們將使用 ECDSA 和 SHA-2 來進行電子簽名。用戶可以但不?定需要根據當前的 PKI 安排從 CA 申請證書,只需把使用的密鑰發布到平臺上。
· DHT 和磁力鏈接
BitTorrent是?種用于在對節點之間分發數據和電子文件的通信協定。它比普通HTTP的優勢在于當同?文件被多方同時下載時,只會適度增加其負載,不同的下載方會相互上傳所得數據,從而使文件源可以支持非常大量的下載。BitTorrent是點對點傳輸數據中最常用的協定之?,傳送的數據包含電視節目、視頻或包含歌曲的數字音頻檔案。據Palo Alto Networks稱,截至2013年2月,BitTorrent使用了全球全球頻寬的3.35%,占用于數據共享總頻寬的6%的?半以上。
該通信協定設計并發布于2001年。截至2013年,BitTorrent于任何時刻都擁有15-27百萬活躍用戶。
BitTorrent協議可用于減少分發巨大文件檔案時對服務器和網絡的影響。BitTorrent協議不是從單個來源服務器中下載文件,而是允許用戶加入文件共享組(swarm),以便同時上傳/下載。該協議是舊式單?來源檔案傳送的替代方案,用于分發數據予多方,并且可以在具有較低頻寬的網絡上有效地工作。當發送者想要傳送?個檔案時,首先會為上傳的檔案創建?個小的種子描述檔(torrent),torrent檔通過傳統方式(網絡,電子郵件等)分發出去。然后,發送者充當稱為種子(seed)的BitTorrent節點使文件可供下載。擁有下載檔案的torrent檔的節點可以使用torrent連接到種子和/或其他節點來下載檔案。正在分發的文件被分割為稱為檔案塊(piece)的片段。當每個節點接收到該文件的新檔案塊時,它將成為其他節點的源(該檔案塊的源),從而使原始種子不必將該檔案塊重覆發送給希望下載該檔案的電腦或用戶。使用BitTorrent,分發檔案的任務由想要下載它的接收方去分擔;只需?個種子,就能將檔案分發給無限個節點。每個檔案塊都受到torrent檔包含的加密碼的保護。這可靠地確保了該檔案塊沒有任何修改,不論是出于意外或惡意的修改。如果節點能核實torrent檔的真確性,便可以進而驗證接收的整個檔案真確。分布式下載通信協定主要解決系統負荷的問題,減少對原本檔案發布者的依賴。
在BitTorrent的原來設計中,每個torrent檔案都必須包含追蹤服務器信息,以便新的節點可以從追蹤服務器獲取當前的節點列表。追蹤器服務器還有助于協調復制文件的高效傳輸和重組。但是,如果追蹤服務器已關閉,torrent則很快就會死亡。自從創建了分布式哈希表(DHT)而發展出“無追蹤”種子以來,BitTorrent追蹤器在很大程度上變得多余。然而,有些時候它們仍會被包含在torrent檔內以提高發現節點的速度。
DHT或分布式哈希表是分布式系統的?類,它提供類似于哈希表的查找服務:以(密鑰,值)的對存儲在DHT中,并且任何參與的節點都可以使用密鑰有效地檢索它的值。維系密鑰與值的配對的責任分布在節點之間,使得參與者的變動所導致的影響減至最小。這許DHT能擴展極大數量的節點并能處理不斷加入、離開和出現故障的節點。
使用“無追蹤”種子的新節點將連接到DHT節點列表。在找到?個節點之后,新的節點可以使用DHT網絡來查找其他節點(直到節點更新/改變其路由表)。從DHT網絡,新來的節點可以使用信息哈希值來檢索來查詢“無追蹤”torrent檔的節點列表。與此相反,在傳統的追蹤器方法中,新的節點需要與追蹤器通信以了解添加的另外的節點。
在原來的設計中,收件者必須使用torrent檔來加入swarm并連接到節點們來下載檔案。磁鐵連接更進?步,僅包含已為特定torrent文件用的信息哈希值。通過磁力連接,新的節點可以查詢DHT網絡以獲取torrent文件的節點列表,并從其中?個節點中下載torrent檔以并啟動BT程序。
在Authpaper Delivery平臺中,所有數據均使用BT協定交付。收件人和協助傳遞的節點只需要?個磁鐵連接即可下載數據。由于所有數據在發送之前都已加密,因此種子和節點無法讀取數據。也因此為數據傳送過程作出貢獻失去了動機,這需要經濟激勵才能使他們為數據交付過程作出貢獻。為此,我們需要自定義加密貨幣來為他們提供報酬。
· 區塊鏈和加密貨幣
加密貨幣是?種電子貨幣,它使用加密來產生資金并驗證交易。截至2017年,加密貨幣被用作如美元(USD)的傳統法定貨幣(通常得到?些中央政府支持)的分布式替代品。現代電子貨幣始于2008年,當時中本聰(Satoshi Nakamoto)發布了論文,詳細介紹了比特幣的內容。比特幣于2008年創造,成為第?個分布式電子貨幣。它于2009年能被公開使用。
在分布式電子貨幣中,節點們需要?種方法在不需中央機構的幫助下存取到正確的不斷增?的交易記錄列表(也稱為區塊)。Satoshi Nakamoto發明了區塊鏈作為比特幣的公共交易總賬。比特幣區塊鏈的發明使其成為第?種解決雙重支出問題的電子貨幣,而不需要倚賴可信任的權威機構或中央服務器。比特幣最優美的部分是網絡中沒有人控制貨幣(除非受到51%的攻擊)并且在區塊鏈上記錄的所有交易都是公開可驗證的,任何?方都不能修改。從那時起,許多應用程序都是基于區塊鏈和比特幣開發的。
自比特幣發明之后,人們開發了許多替代加密貨幣或替代幣。截至2015年1月,有超過500種不同類型的加密貨幣-或替代幣-于在線市場交易。但是,其中只有10款貨幣市值超過1000萬美元。截至2017年9月,有超過1,100種加密貨幣,所有加密貨幣的總市值達到歷史最高水平,超過600億美元!然后,到2017年12月,總市值達到6000億美元(僅在兩個月內就升達10倍)。
在Authpaper Delivery平臺中,將創建?種新的加密貨幣,以便節點可以從對平臺的貢獻中獲得報酬。區塊鏈和BT協定也將集成到統?的分布式網絡中。
2. 系統概述
此平臺是?個基于BT的分布式數據傳送平臺,使用基于區塊鏈的加密貨幣(印花)來支付節點于協助交付過程的報酬。在該平臺中,每個節點均充當DHT網絡(對于BT)中的節點和區塊鏈網絡中的節點,而平臺中沒有服務器。當新節點加入網絡時,它會創建?對新的公鑰(加密錢包)并連接到已知節點列表以加入DHT網絡。每個節點需要向DHT網絡提交其網絡地址(IP),錢包地址(加密錢包的公鑰)和電子郵件地址。節點的客戶端軟件還需要訪問節點的電子郵件賬號(供讀取和發送加密鑰),然后就可以使用此平臺。
平臺內部主要有兩種流程,加密文件傳送和印花交易。加密文件的所有操作都是通過DHT和BT協定完成的,而印花上的交易則是通過區塊鏈完成的。數據傳遞將涉及這兩個網絡之間的互動。以下將說明?個典型的工作流程。
· 數據交付工作流程
為了將數據從節點A(Alice)發送到另?個節點B(Bob),需要由Alice、Bob和其他節點的客戶端軟件完成數個步驟。除非另有說明,否則所有操作都在節點的客戶端軟件內完成而不需要人手操作,整個通信都是加密的。
在發送任何內容之前,Alice首先使用兩個不同的加密密鑰(分別為密鑰1和密鑰2)使用對稱加密兩次加密她想要發送的數據。密鑰1將被發送給Bob促使只有他才能解讀數據。密鑰2將由其他節點持有,使Bob在解讀數據之前必須提供適當的傳送記錄,證明節點們的貢獻,好讓他們兌換報酬。之后,Alice在加密數據上創建?個torrent檔和?個磁力連接,并將數據分成多個部分。Torrent檔允許各方共享加密文件,并允許Bob檢查所傳遞數據的完整性。密鑰1、磁鐵連接和簽收密鑰包裝在QR碼中。新生成的簽收密鑰是用于ECDSA操作的密鑰對。
之后,Alice向節點廣播了招募郵差的請求。如得到節點響應,Alice將隨機選擇?些(默認情況下為3位,至少為2位)作為郵差,并與他們簽訂智能合約。智能合約列明使用torrent檔傳送數據的有效期、并且當數據傳送完成時儲存由該數據的簽收密鑰所簽收的交付記錄,Alice將向每位郵差支付既定數量的印花。智能合約附帶相應的torrent檔和磁力鏈,和交付時限。?半的印花將給郵差,余下?半如果智能合約到期而郵遞失敗時會返還給Alice。Alice和輕節點(lite nodes)以外的節點都可以申請成為郵差。然后Alice使用Shamir的秘密共享算法將密鑰2分成幾個碎塊,其中k = 2,這意味著獲得任意兩個密鑰碎塊便能恢復密鑰2.每個郵差將接收密鑰2的不同碎塊和torrent檔。
Alice以初始播種模式發布加密文件,直到所有郵差成為種子。同?時間,Alice通過安全的途徑將QR碼發送給Bob。通過QR碼中的磁力連接,Bob可以手動加入swarm中并下載文件。當所有郵差成為種子時,Alice可以斷開聯機。
郵差將磁力連接分配給其他節點,并邀請它們加入swarm以提高文件共享速度。每個節點可以決定他們想要下載多少百分比的數據到自己的磁盤空間,默認為100%。
Bob記錄得到每個檔案塊的來源形成郵遞記錄。當Bob完成下載文件時,他通過QR碼中的簽收密鑰簽署郵遞記錄,并將記錄發送給所有種子(包括郵差)。
收到郵遞記錄后,郵差會通過電子郵件將他們保存的密鑰2碎塊發送給Bob。通過電子郵件發送密鑰2塊是?種多重驗證,確保只有真正的Bob才能解密數據(直接從Alice獲得密鑰1,通過指定的電子郵件獲得密鑰2)。利用至少兩個密鑰2部塊,Bob產生完整的密鑰2,并通過密鑰1和密鑰2解密下載的數據,獲得原始文件。數據完成交付。
另?方面,郵差收到已簽收的郵遞記錄,并將其與torrent檔和磁力連接?起發送到區塊鏈。挖礦者確認交付記錄由簽收密鑰簽署即執行智能合約,給予郵差印花。根據個別節點給Bob的檔案塊數量,創建新的印花以作獎勵,而挖礦者將收到交易費用(印花)。如果智能合約到期,郵差只會從Alice收到?半的費用,并且不會有新的印花來獎勵節點。交付后,郵差和節點們將離開swarm并刪除加密數據,空出空間接受下?個任務。
在傳送期間或往后當有人想檢查記錄時,他們可以使用相應的torrent檔/磁力連接從區塊鏈中查詢。郵遞失敗的記錄也將保留在區塊鏈上。區塊鏈存儲每個torrent檔對應的郵遞智能合約,合約結果和郵遞簽收記錄。這提供了數據被發送/嘗試從?方發送到另?方以及數據是否由接收方接收的證據。
· 節點、輕節點、挖礦者和郵差
在平臺內,所有節點都可以訪問DHT網絡和區塊鏈。有時?方用戶不想?時間加入網絡,他們只想下載?個特定的文件并離開網絡。在這種情況下,他們可以作為輕節點(litenode)加入網絡。輕節點沒有加密錢包帳戶。它只加入DHT網絡并使用磁力連接下載torrent和其數據。下載完成后,它會向郵差發送密鑰2的要求,等待他們的電子郵件,并解密數據。數據傳遞完成后,輕節點將停止工作。下載另?個數據需要重新開始。
另?方面,挖礦者只加入區塊鏈。他們不關心DHT網絡內部的任何事情以及節點之間的數據傳輸。它們相當于區塊鏈網絡中的挖礦者。然而,這平臺中的挖礦不同于以太坊或任何支持智能合約的加密貨幣的挖礦。每個智能合約不但有程序代碼,還有附件(torrent文件/磁力連接),合約中涉及的節點還可以添加附件(郵遞記錄)。每當將新附件添加到智能合約時,智能合約將再次被評價是否應該執行。共識算法在第?階段是PoW。遷移到PoS的可行性正在研究。
郵差是數據交付過程中最重要的節點,與數據發送者簽訂合約,并能夠向數據收件人發送電子郵件。不同的文件可能有不同的郵差。郵差可以從合約,及發送數據給收件人,兩個方法獲得印花。
另?方面,郵差必須在大多數傳送過程中處于在線狀態,并在收到郵遞記錄時發送密鑰2,否則數據將無法傳送。由于數據接收者本身可能被選為郵差,因此密鑰2被分成多個碎塊,使得每個郵差不能擁有整個密鑰2。為了避免個別行為不當的郵差,只要2個郵差向收件人發送密鑰2碎塊,就可以回復密鑰2。
· 合法工作的誘因和印花供應
在此平臺的設計中,獎勵機制使得節點有經濟上的誘因合法行事。這也是平臺中印花的主要供應方式。
在交付過程中,數據發送方將支付印花以使用服務。即使郵遞失敗,發送方也將支付?半的費用,以保證郵差獲得報酬。郵差會?期在線,將檔案塊上傳給收件人以獲得額外獎勵,并等待發送者的的郵遞記錄以得到完整郵寄費用。節點愿意加入swarm,因為他們可以通過將郵遞記錄上傳給收件人來獲得獎勵。在已簽署的郵遞記錄發出之前,收件人的身份是保密的。節點和郵差將盡可能向他人分享數據,以增加獲得獎勵的機會。這樣可以大大提高收件人的下載速度和數據供應,縮短郵遞時間。
將數據上傳到收件人的獎勵是印花供應的主要來源。因此,印花供應的增?與平臺內傳輸的數據成正比。這樣比設置硬性增發量更好,因為印花的供應將根據使用量自動調整。挖礦者接收交易費用作為報酬,并沒有區塊獎勵。區塊鏈使用Ethash作共識算法,區塊時間為10秒。交易費用上限遵循以太坊的投票決定機制,從0.0008印花開始。
· 其他工作流程
此平臺不僅僅是進行數據傳輸。通過智能合約的微小變化,該平臺還允許其他尤其是與文件相關的數據流程。平臺還允許發件人使用智能合約設置自己的工作流程。在本節中,將討論其他?些默認工作流程。
· 數據認證
當用戶(例如Alice)想要創建證書或公開證明有關數據所有權時,她可以在此平臺上進行數據認證。她不需要使用密鑰1加密數據,單單使用密鑰2加密數據,同時仍然持有簽收密鑰。Alice和郵差之間的智能合約將涉及向郵差付款和驗證期。付款將在驗證期后發出。郵差像以前?樣工作。每當某人(Bob)想要獲得數據的副本時,他先獲得包含磁力連接的QR碼并從Alice得到簽收密鑰,從平臺下載數據,并發送郵遞記錄以得到密鑰2。每次上傳郵遞記錄時,上傳數據的節點和郵差仍將像以前?樣獲得獎勵。
當有人(例如Charlie)想檢查?下某數據是否得到Alice的認證,他可首先從Alice獲取QR碼,從平臺下載torrent檔,并發出?個特殊的簽名記錄,此情況下沒有人可以獲得上傳數據獎勵。?旦他獲得密鑰2,他便透過密鑰2加密持有的數據,并將結果與存儲在torrent檔中的哈希進行比較。這可以證明數據是否與torrent檔中顯示的數據相同。區塊鏈包含torrent檔的傳遞和認證記錄,以及智能合約,容許Alice證明擁有此數據和數據所有權的時間。另外只有擁有QR碼的人士才能讀取數據。
在驗證期結束前,Alice可以隨時支付更多費用延?驗證期,或停止驗證。無論那?個選擇,她都需要向郵差提供?個隨機字符串。郵差把隨機字符串附在原來Alice提供的數據前制作新的torrent檔,torrent檔沒有任何DHT或節點信息。如果?個郵差未能制作新的torrent檔,或torrent檔和其他郵差及Alice所制造的不同,代表該郵差并未持有該數據,其郵差資格和付款將取消。如果驗證期無變動下結束,則按原來合約內容付款。
· 對文件紙本的支持
如果要認證的數據為文件,而文件將被打印,發件人可以決定在文件末尾附上QR代碼來打印文件。任何希望證明紙本文件真偽的人只需要掃描QR碼,下載文件,并將數字副本(認證副本)與紙本進行比較。更好的做法是單單發送QR碼作為文件打印本。
· 數據傳閱
在商業世界中,數據在進?步處理之前,通常需要得到多方批準,尤其當數據是報告和官方公告的時候。這稱為傳閱(circulations)。當發送者(比如Alice)希望傳閱數據時,她首先使用密鑰1和密鑰2加密數據,并與郵差簽訂智能合約。智能合約包含Alice希望數據傳閱對象的節點的公鑰。在正常的郵遞過程之后,當簽名方(比如Bob)想要批準數據進?步處理時,他將再次發送郵遞記錄,該記錄由他的錢包私鑰而不是簽收密鑰簽發。郵差發布已簽署的交付記錄并像往常?樣通過智能合約獲得報酬,但上傳數據的節點將無法再獲得獎勵,因為這樣做將是雙重付款。公眾,尤其是Alice,可以使用torrent文件在區塊鏈來檢查數據傳送和傳閱狀態。
· 大量數據傳輸
?項數據在BT中預設會分成4KB的數據塊。當數據非常大,如4GB以上,torrent文件將變得非常大。在此平臺中,發件人應當增加數據塊的大小以使數據塊數目小于131,072(1024 * 128)以減少處理時間。
例如,當數據為1TB時,數據塊大小將為8MB。為了進?步利用該平臺的網絡優勢,發送方還可以將?個非常大的數據(可能超過1TB)分成多個部分,每個部分都像個別資料?樣被發送出去。然后通過平臺將torrent檔組合發送給收件人。當Bob收到?組torrent時,他會自動開始利用每個torrent檔下載數據,然后將數據組合在?起。torrent檔和每個數據部分的郵遞記錄將形成原來數據的郵遞記錄。
· 為多個收件人多次提供數據
當數據需要向多方傳遞時,整個操作是相同的,只是智能合約被設置為多次傳遞數據,并且發送者將QR碼發送給多個人。Alice的郵遞費用與郵遞數量成正比,并在最后?次郵遞或智能合約到期時支付予郵差。每次郵遞記錄發出時都會有相應的數據上傳獎勵。
· Authpaper Delivery的優勢
此平臺是唯?在用戶傳遞數據時提供保密性、完整性檢查(使用torrent文件)、可用性、不可更改但可公開驗證的郵遞記錄,以及不可否認的簽收數據平臺。現時其他平臺要求公開數據予平臺,或使用郵寄紙本方式傳遞文件。
此平臺還允許用戶證明他或她在特定時間擁有數據,或傳送版權內容時附帶追蹤能力,以便在數據泄露時查找外泄來源。
評論