基于区块链技术的比特洪流数据保密传送平台Authpaper Delivery介绍
扫描二维码
随时随地手机看文章
在过去几十年中,机密和商业文件的传递都依靠实物邮递或快递。这方式具备具体证明,和确保文件传递的保密性,而当前的电子文件传送方式未能满足同等要求。核证文本快递方案 (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文件)、可用性、不可更改但可公开验证的邮递记录,以及不可否认的签收数据平台。现时其他平台要求公开数据予平台,或使用邮寄纸本方式传递文件。
此平台还允许用户证明他或她在特定时间拥有数据,或传送版权内容时附带追踪能力,以便在数据泄露时查找外泄来源。