Author

Topic: BTCD DarkPaper-Part1 (Read 1606 times)

member
Activity: 87
Merit: 10
August 29, 2014, 08:19:05 AM
#12
看來BTCD 有機會成為黑馬
member
Activity: 89
Merit: 10
August 29, 2014, 06:14:58 AM
#11
好了,大家都散散吧,JL777说了要转战bbr了 Wink
jl777只出资产,产品没见几个哦,都是一些人为了利益把他神化了而已 Grin Grin
member
Activity: 89
Merit: 10
August 29, 2014, 06:14:06 AM
#10
只是因为它用了nxt的匿名
member
Activity: 69
Merit: 10
August 29, 2014, 05:40:39 AM
#9
好了,大家都散散吧,JL777说了要转战bbr了 Wink
newbie
Activity: 42
Merit: 0
August 28, 2014, 01:06:12 PM
#8
字好多,看不过来
member
Activity: 84
Merit: 10
August 28, 2014, 09:22:47 AM
#7
member
Activity: 84
Merit: 10
August 28, 2014, 09:21:46 AM
#6
这个币是用的nxt的匿名的技术
member
Activity: 89
Merit: 10
August 28, 2014, 09:16:12 AM
#5
这不是老板的id吗 Grin Grin
member
Activity: 87
Merit: 10
August 28, 2014, 07:43:11 AM
#4
写的很不错
hero member
Activity: 588
Merit: 500
August 28, 2014, 03:09:42 AM
#3
看來BTCD 有機會成為黑馬
member
Activity: 81
Merit: 10
August 27, 2014, 11:14:41 PM
#2
写的概念很好,描述的也不错,可是现在btcd价格已经偏高了,可以等回调之后再说
legendary
Activity: 1512
Merit: 1004
August 27, 2014, 08:47:59 PM
#1
Teleport: 离线区块链交易信息转移的匿名性

BTCD匿名性论文
 

作者:James Lee

联系方式: 通过NXTforum.org PM jl777  

2014年8月

概述    
    
     Alice获得了一张由Jack Sparrow绘制的藏宝图。需要知道的是一些海盗是不能信任的。Alice找到了宝藏并将其转移至其它地方一个不同的箱子里。她复印了地图,并用新的‘X标记位置’更新了地图,交叉折叠之前旧的地图并将其丢弃。Alice在一次赌博游戏中将新地图输给了Bob。Bob怀疑Alice可能已经保留了地图的复印件,因此转移了宝藏,复印了地图,并用新的‘X’更新了地图,然后也丢弃了原来的地图。后来他将这张新地图支付给Catherine。在这种情况下,地图和宝藏位置多次转手。然而,请注意,每次转移地图时,并没有留下之前任何拥有者的身份证据。我们唯一能确认的事情是宝藏和第一张地图曾经属于Jack Sparrow 。

      Teleport使用了称之为Telepod的应用程序包来发送所有需要的信息,通过区块链外面的安全连接来将交易发送给指定的接收者。接收者复制Telepod来预防双重支付,需要时再发送给下一个接收者或者再空白进入之前区块链上使用过的账户中。当进行复制时,Telepod的内容因此被记录在区块链上。然而,如果每次都使用全新的地址,在它的使用过程中将无法知道谁拥有该telepod。唯一可能推断出的就是telepod的初始创建者。

Part I 目前的隐私方法和局限性

概述

      比特币已经在点对点货币的实施上取得了巨大的成功。工作量证明和区块链技术的使用第一次通过互联网允许用户不需要中心化的授权就能建立共识并证明所有权,而且能够快速、安全、几乎免费的转移货币。
然而,该系统运行所必须的透明性却是一把双刃剑。一方面,它可以预防欺诈:网络上的每个人都能看见任何地址中的内容、一个新的交易是否和目前的区块链是一致的、之前交易的共享账本。但是这些透明性也意味着隐私几乎是不可能的。

有几种方式会威胁到隐私。其中主要的3种使用区块链分析的方法包括:

1)交易关联
      尽管每一张地图只包含宝藏的当前位置,每一个之前的位置‘X’都是保留起来的。丢弃的地图显示了越来越多已废弃的标记,因此研究之前地图的完整历史记录就能构建出每个连续所有者的宝藏埋藏地址。本身来讲,这是没有问题的,特别是如果没有其它信息来识别所有者的身份。然而,一旦地图上包含的其它信息---例如宝藏的其它储藏位置、经常去的酒馆,等等---就有可能推断出他们是谁。
尽管比特币支付通常被描述为匿名的,它们是真正的匿名:给定地址的拥有者身份可能是未知的,但每个账户的每一笔转入和发送的交易记录会被永久记录下来。中本聪的原始论文也承认了这一点:
“传统的银行模型通过限制所涉及的当事人和第三方信任机构访问信息来达到一定的隐私程度。公开宣布所有交易的必要性限制了该方法……公众能够看到某人发送了一定数量给其他人,但是无法看到将交易关联到其他人的信息”。
[图像:交易关联]

      每一笔比特币的交易都可追溯到挖矿产生它的区块,以及与它发生交易的每一个地址。而且,正如下面所描述的,信息可能通过不同的方式关联到个人。

2)指纹识别
      为了从一个公海生活的人转变为体面的生意人, Bootstrap Bill想用他的197个储蓄金币购买大量的黄麻。东印度贸易公司认为此举对他们的黄麻垄断交易形成了威胁。尽管交易是在秘密进行的,但该公司意识到了黄麻价格的上涨,4.63金币每蒲式耳。他们因此知道了Bill可能已经购买了43蒲式耳的麻黄。间谍按照指使查看了零售商之前一个星期的账户,以期跟踪Bill并阻止他出售产品。
每一笔交易都有时间戳,而且任何人都可以查看整个区块链。如果知道Alice在某一特定时间给Bob进行了一次交易,而且在相应的时间段内,只记录了一个交易,那么显然发送地址属于Alice,接收者地址属于Bob。即使在那个时间段内发生了大量的交易,仍然有可能建立基于统计概率的时间图。该方法称之为交易指纹识别,已经成功用于识别特定地址的所有者:
      “首先, 我们开发了一个系统来从公开论坛收集比特币地址。第二,我们包含了一个机制,它可以使用不完整的交易信息来将用户与交易相匹配。例如,假设我们听到Bob向Alice说:“昨天下午我给你发送了100$的比特币”;尽管我们不知道准确的交易时间(因为下午意味着11:50或12:10分)或比特币的准确数量(交易汇率波动很大),但我们能够生成候选人交易匹配和相关匹配的概率。”

3)尾数攻击
      意识到东印度贸易公司得知了他的计划并且将会监控东南亚来消除竞争,Bootstrap Bill 决定在三个不同的地区销售黄麻。同时,公司的间谍已经在一个富裕的零售商的账本中发现了Bill的购买记录,得知他购买了41.94蒲式耳的黄麻。Bill以20、15和6.94蒲式耳分批出售他的黄麻。围绕这些数字装运的货物交易很频繁而且从来没有问题。不幸的是,间谍注意到最后一次销售数量小数点后的特别数字,因此该公司能够确定他在哪里出售这些货物以及他近期的位置。
可以用比特币发送任意数量的货币,而且因为兑换比率是波动的,因此所兑换的美元数量也是变化的,这些数量可能不会围绕某一个数字---导致了非常具体的尾数或有效位数(小数点后的数字)。如果发现了不常见的数量---由于很大的尺码或任意数字---然后就会生成一条关联,因为这种情况成为巧合的概率是最小的。如果Alice发送3.14159265比特币给Bob,然后很容易扫描区块链上发送了那个数量交易的账号。即使有很多发送了相应数量的账号,可以做一些数据相关性统计。
      “比特币交易订单常用来支持交易工具。因为比特币的订单通常是与其它货币相兑换的,包含有精确的8位小数。有可能找到相关数量的交易,从而将公钥和交易与交易所对应起来。”
      结合使用这些方法完全有可能跟踪区块链上的支付并追踪到个人。这使得比特币比现金更容易“被追踪”……而对于现金,你不得不花费更多时间来覆盖你的行踪。”

目前的解决方案
      有很多加密货币通过不同的方式缓解这些攻击来提供隐私功能,也取得了不同程度的成功。没有一个是完全令人满意的---要么是匿名程度不够,要么在理论上或实际中,这些方法对密码学货币的长期生存引起了其它问题。
      当没有技术方法能够解决所有问题时,特别是对于攻击者拥有无限资源时,本文中却有方法可以用来保护密码学货币使用者的隐私。
      既能享受公开、永久可用的区块链带来的好处,又能保护用户的隐私,这似乎是违反常理的。然而,使用一定的方法和数学科技确实能够很好的实现这个目的。

混合
      储存在属于Crunch船长箱子里的143金币释放出来了,小偷截获并占有了这些金币,他的罪行将会被人知道。为了掩饰小偷,嫌疑人将金币按照1、10和100存放在信任的海盗熟人那里,后续再按照任意数量收回来。因为被盗金币和箱子中的其它金币是混合的,很难证明那些金币真正属于Crunch船长---即使能追踪到它们的位置。另外,需要记住的是海盗之间的尊重是有限的,因此当小偷想要去收回他的掠夺物时,他可能发现已经被出卖了。
 [与超链接相似的图片:https://www.darkcoin.io/downloads/DarkcoinWhitepaper.pdf p. 3]
      混合服务是把来源不同的币合并起来,之后再将它们发送给原来的持有者(通常需要付费),目的就是为了隐藏这些资金的来源。最简单的形式,由个人来操作混合器,用户只需要相信他们的资金会被返回给他们。但这并不能令人满意,因为它们通常是匿名操作的。
      更复杂的自动混合形式已经应用到不同密码学货币的协议中了。例如,Darkcoin使用了称之为DardSend的CoinJoin。这个随意的工具能够将大小相同的输入值(以10为面值-1DRK, 10DRK,100DRK 等等)收集到DarkSend池中。钱币在DarkSend池中混合后按照一系列不同的数量返回给它们的所有者。DarkSend池是由一个从参与者中选择的节点所操作的。

环签名
      绝大多数的藏宝箱只能用一把钥匙打开,它由物主精心保管。然而,需要知道的是特定的藏宝箱可以被很多人打开:拥有钥匙的荷兰水手;属于巴博萨船长的骷髅钥匙;猴岛所拥有的古老的工具;或者属于可怕的罗伯茨海盗的牙签。当打开藏宝箱后,决不能告诉使用了这四把钥匙中的哪一个。

图像:环签名描述

      第二种隐藏发送者身份的方法是使用很多可能秘钥中的一个来签名交易。环签名的开发使得这个成为可能,其中最知名的应用就是CryptoNote(Monero和其它密码学货币都使用)。
      环签名是比较复杂的方案,事实上它可能需要多个不同的公钥来验证。在环签名中,有许多个体,每个人都拥有他们自己的密码和公钥。环签名需要证明的是给定信息的签名者是群组中的一员。与普通电子签名方案的最大区别是签名者需要单独的秘钥,但是验证者无法确定签名者的准确身份。因此,当您碰到使用了Alice,Bob和Carol公钥的环签名,您只能说他们其中的一个是签名者,但是您无法确定是谁。

缺点和脆弱性
      综上所述,由于各种原因,现存的方案没有一个是真正满意的。混币方案在一些情况下是有效的,但是与本文讨论过的反匿名相比就相当微不足道了,那里讨论的隐私集中在单个用户之间的交易上。计算机能力的增加可能会使得以前的混合方案在未来变得透明。更复杂的问题是,数额较大的钱币很难迅速变得匿名,除非有类似大量的其它币与它混合。环签名实际上是非常强大的,因为每个交易只提供了统计相关性。假设每个交易涉及了10个可能的当事人,无论多长的链统计相关性都能迅速地减少到背景噪声的级别。基于CryptoNote(像DarkSend)的钱币通过把所有交易分解成10倍的输出(例如,1.23RingCoins将会处理为1RC+0.2RC+0.03RC)来使得尾数攻击的问题最小化。因此可以将交易隐蔽,尽管一些弱相关性仍然是可能的。

中心化和资金流动
      绝大多数混合服务内在的中心化很清楚地反映了脆弱性。在那种情况下需要信任个人,这对大多数用户来讲是不可接受的方案。此外,“[DarkSend]主节点是可控制的,因此如果主节点的控制者愿意的话,他们可以得知一些指定的交易。通过高价(因此如果政府机构想要拥有所有主节点的话将会把拥有主节点的费用逐步提高至很高的价格)来拥有主节点是有负面刺激的,但这本身在一定程度上并不能分散网络。下一版本DarkSend的目标是专门改善这个方面。
      混合使用的协议例如CoinJoin“混淆资金流向,而不是账户余额”,意味着仍然能通过分析在线和离线的区块链信息来建立账户用途和所有者身份图。

区块链膨胀
      环签名提供的隐私性比混合方案的更高级。不幸的是,通过环签名而获得隐私的密码学货币面临的一个主要问题是区块链膨胀。在200-400Kb应用包中比特币的区块包含几百个交易。Monero的区块大小通常超过10Kb在20Kb,但只包含很少的交易。2014年8月初,比特币的区块在20Gb左右。(绝大部分的增长发生在过去的两年中,占了比特币总的43,000,000个交易和313,000区块的90%)相比而言,只有3个月之久的Monero的区块已经超过2Gb和170,000个交易:数量级的差别。其中一个评论者写道:
“CryptoNote存在严重的问题。整个项目大小是巨大的。关键部分的大小是普通的两倍。未用完的交易输出设置和关键图像均以不可控制的方式在增长。最令人不安的问题是中心化问题,即允许互联网上的匿名人士在不需要介绍他就能选择所有的椭圆曲线常数。”
      需要承认的是“CryptoNote绝对是了不起的“,它提供了突破性的进步。然而,使用环签名引起的区块链膨胀很有可能限制了基于它的密码学货币的广泛应用。


Part II Teleport: 一种全新的方法
     Teleport是一种解决隐私问题的不同方法,试图使用密码学货币网络的一个特征,该特征在通常情况下能限制匿名性:交易关联。Teleport存在于非区块链上,但是需要使用区块链来验证,利用了公开记录的优势却不用承受缺点。
      Teleport使用“telepods”---包含发生交易所需要的所有信息包---安全地通过外部区块链将资金转移到预定的接收者。此时,接收者可以选择移除或不移除来自“超空间”的资金,取决于他们是否信任发送者(绝大多数情况中,他们不会;然而,信任可能是存在的,或者要考虑接收者和发送者是同一个人的这种可能性)。
      Teleport的关键在于用户发送形成一次交易的容量给他们的接收者。
     与海盗的藏宝地图类似,可以通过类比比特币纸钱包而制作出一个图解说明。可以打印出来并邮寄给其他人,他可以将余额导入至一个从未使用过的全新地址中从而预防第一位所有者使用它。在这种方式下,账户余额可能会随着转手上百次而发生变化。区块链上唯一显示的是一些列匿名的地址,每个地址都只有一个进入和发出的交易,只回到第一个所有者那里。
     在比特币初始的白皮书中,中本聪预料到了公开透明的区块链所带来的隐私问题,并且提出使用一个特殊地址用于每一次交易作为解决方案:
      “作为额外的防火墙,每一次交易都会使用一个新的密钥对来防止关联到普通的拥有者。随着多次输入交易,一些关联是不可避免的,这必然会揭露出他们的输入是由同一个人所有的。风险在于如果秘钥的所有者被揭露后,关联会揭露出属于相同所有者的其它交易。”
      然而,即使每一个用户按照交易关联的最佳操作来避免这些问题,但仍然可以通过其它方式来追踪交易,包括指纹识别和尾数相关性。Teleport极大地减少了所有这些的暴露问题。
       使用一次性地址来避免交易关联
      离线区块链传输和变化的赎回时间减轻了指纹识别
      标准面值的telepods用于消除尾数相关性
      在详细描述Teleport之前,有必要总结一下telepods交易发生的条件和基础结构,以及它能做什么。

隐私前提
     Morgan船长承认尽管使用地图系统传送价值比转交宝藏更高效,但如果看见参与者在一起或如果一个痕迹以后可用来重现从一个人到其它人,那么参与者可能就会被发现。无论如何都不希望被破坏,他采用了一个复杂但高效的战略来将他自己伪装成酒吧招待人员,使用小街道而不是主要街道到达集合地点,而且只在夜间出行。
      通常情况下,区块链的公开记录是用户匿名性的主要威胁。明显,如果通过离线区块链发送交易信息的话,为了保持整体的匿名性,用户之间的交流必须保密。在BitcoinDark(BTCD)的例子中,它使用了如下的方法,必要的特征都放入客户端来启用Teleport的所有好处。Teleport也能使其它密码学货币拥有匿名性,只需要最小的交易费。用户所需要的最基本的隐私是能够保护自己的IP地址不被发现。任何试图确保密码学货币交易隐私的努力在允许第三方机构追踪时都变得毫无用处。例如,发送一个私人密码学货币付款到在线商店,但用户的IP地址是可见的,概率上来讲那个时间收到的所有付款都会关联到那台电脑。从货运地址收集的信息以及提交的其它信息都能够很快被结合起来从而就能发现客户的身份。

隐私服务器
      Morgan船长改善了他的秘密信息计划,即通过招募志同道合的海盗社区作为长途旅途中不同部分的快递员。每个人将信息传递给下一个人,直到最后一个人将它交给接收者,并记录下交货情况以满足Morgan船长严格的统计核算程序。为了确保快递员不搞破坏,每一个人只知道下一个快递员的位置以及何时传递信息。快递员不知道之前或者接下来的快递员的行动和身份。
      防止信息泄露的解决方案是隐私服务器。任何一个用户都只需要运行VPS就可以运行自己的隐私服务器,因此,除了VPS提供商之外,不需要信任任何第三方机构。
隐私服务器只能看见给定的用户与谁在联系,因为除了初始设置和有意公开的信息之外,其它所有通信都是用Bernstein’s Networking and Cryptography library (NaCl)加密的。每个环节都会生成密钥对,因此即使任何单个的秘钥被破坏了,暴露也是有时间限制的。此外,所有的通信都有时间戳和标记,以验证某一个账户不是假的。
      使用洋葱路由,发送到隐私服务器的加密包只含有目标地址和加密数据。隐私服务器发送加密数据到目的地。(目前信息泄露是次要的,然而,为了能够解决该问题,将会添加一个额外的洋葱层,因此可以随机选择用户隐私服务器所能看见的一个隐私服务器作为目的地。这样一来用户自己的隐私服务器也无法收集有用的信息。这就防止了VPS提供商层面的破坏。)

图形:
      “xxx”.()表明()中的内容只能被“xxx”破译。[]表明了数据包[用户隐私服务器.([跳转隐私服务器.([真实的目的地.(加密数据)])])
      监控网络通信量的任何人都只能看到用户给他们的隐私服务器发送了信息包。如果用户的隐私服务器被破解了,将会得知他们是通过跳转隐私服务器进行发送的,而跳转隐私服务器的选择是随机的。随机选择的跳转隐私服务器不得不被破解来找到信息包的最终接收者。一般来讲,加密数据都是标记过的,因此最终的接收者能够确认信息发送者至少可以访问发送者的账户密码。

广播
      Morgan船长深知让他引以自豪的快递员网络能够满足绝大多数宝藏转移者的要求,然而Morgan船长希望开发一个更优质的服务,该服务可以为他的公司客户提供更高级别的隐私服务。意识到一个拥有无限资源的组织(例如东印度贸易公司)理论上可以渗透他的部分网络并获得他的商业交易信息,他想到了一个新的点子。不用再将地图从一个快递员传递给下一个了,相反他安排每个人只需要在公开的地方比如市场上发布一条信息,任何人都能看见。他只需要书写为指定的快递员能够理解的格式,在他们中间将不会有踪迹。确实,如果他足够小心,没有人会知道他们在关注什么……
一旦存在有效的隐私服务器,点对点的安全通信就是可能的。这是Teleport得以安全实施的前提。可能一些路径信息是可获得的,因此对于最安全的通信将会使用广播。最简单的形式如下:

[图形]
[广播.(加密数据)]

      在本例中,没有指明目标地址。尽管看起来与将信息广播到整个网络来获得隐私相矛盾,但将它发送给每个人和不发送给任何人都会泄露相同的账户信息,因为每个人都是一视同仁来处理的。除了目标地址外,发送者的公钥也被发送了。这允许接收者破解加密信息包。如果该公钥与广播的公钥相同,那么就表明通信来自相同的人;因此广播会使用到第二个密钥对。在每个实例中,密钥对都是一次性的。为了能够首先加密信息包,需要知道目标的公钥。然而,公钥可以只用明文来广播。
加密数据是使用该公钥来广播的。所有的节点都会尝试去破解所有的信息包,但只有预期的接收者能够成功破解它:每个人都会收到信息包,除了预期的接收者之外,信息包的内容对其它人是没有意义的。
多重签名特性
      最终的改进给Morgan船长带来最大的内心平静,即他的信息不会被截获。鉴于之前他已经发送了所有地图的复印件,尽管是间接地,他决定多次复印地图,将其裁剪成碎片并使用他的市场系统把它们分发给他快递网络中的所有人员。为了复杂化该问题,快递链条中的部分人员按照要求销毁了他们的地图而不是将其传递下去。最终的接收者能够很慢地将随意交付的地图碎片拼接起来,但是网络中的监控者或者间谍永远不会知道整幅图片。
      为了能够防止攻击者记录节点之间的所有信息包和渗透部分隐私服务器,还需要采取额外的安全措施。为了这个目的,建议使用“M of N”的方法来接收信息包。
在发送telepod时,每一个都被分解成N个碎片,并发送给N个随意的接收者,并只有随意的M个转运到最终的目的地。这合并了另一个洋葱层的各个方面,但是有了M of N,一次统计转播将会为相关性创建附加障碍。 图像:6-of-8陈述来重现数据
      例如,如果M=6,N=16(也就是说,每一个telepod分解成16个碎片,并且接收者只需要6个碎片),每一个接收节点拥有50%的转播机会,那么平均有8个碎片将会到达,这足够接收者重现信息。当没有足够碎片到达时,确认信息包不会发送给原始发送者,因此他将进行重发。返回的路径也可以是M-of-N的分解发送以将可能的相关性降低到最小。以下讨论的BticoinDark允许M和N的值高达254。
如果很大比例的节点都参与了转播,当某一个节点发起一个Teleport时,就可能会怀疑它是转播还是一个Teleport的开始。(这需要引入接收者和转播之间的随机延迟)。单独地使用M-of-N的方法能够创建telepods的分布式冷存储。一部分可放置在加密在线存储中,另外的存放在离线媒介中,例如USB驱动中。有了2-of-3的方法,没有其它部分,最后部分也无法使用。一个应用是将捐助分发给N个人,其中需要M个人生成他们的telepods来使用资金。
      (注意:BitcoinDark所使用的“多重签名”实际上是Shamir’s Secret Sharing的应用,尽管它的效果与结合部分或所有信息包来重现数据的效果是一样的。)选择不同级别的隐私,就能选择不同级别的洋葱路由和广播。对于不敏感的问题,不需要最多的隐私,因为需要的隐私越多,交易完成的时间越长。

BitcoinDark概述

Teleport实施

      一旦隐私服务器提供的安全网络设施到位,Teleport就成为可能。BitcoinDark使用了Teleport的概念来激活无需信任的个人交易。
      Teleport通过telepods来发送资金。支付资金所需的所有信息都包含在telepod中,并通过加密网络发送到目的地。注意这与发生交易本身是不同的:接收者可以选择是否和何时去执行telepod的内容。只有在这个时候发才生产了从发送者地址到接收者地址的交易---尽管在大多数情况下会立即发生以避免双重支付。每个telepod使用一个只用于teleport的新建地址。资金是从传送者账户---任何给定telepods的发起人,他会保留公共记录---发送到标准面额的telepods,这些标准面额的telepods会执行1,5,10,50,100等等钱币的交易。
图像:标准面额的pods发送给新的所有者,经过重新组合,再发送给新的接收者。

离线区块链转移
Part2
Jump to: