8BTCCI: 13743.61 -0.40% 8BTCVI: 5948.86 -0.87% 24H成交额: ¥3785.97亿 +19.73% 总市值: ¥18967.67亿 -0.73%
闪电 vs. 雷电:瞭望塔可拓展吗? (上)

闪电 vs. 雷电:瞭望塔可拓展吗? (上)

以太坊爱好者 发布在 区块链 68476

声明:虽然我持有比特币(BTC),以太币(ETH),比特币现金(BCH)以及其它数字货币,但是我的投资组合高度分散,所以从经济回报角度上,我没有动机给任何数字币当托儿。我希望看到的是,有很多提供不同扩展解决方案的项目彼此竞争,同时用户可以根据喜好自由选择一种支付方案。如果你来自不同的阵营,没关系,我对此毫无意见并愿意与你继续探讨相关话题。

背景介绍

 

首先,我要向闪电网络的开发者 Christian Snyke Decker 和 Conner “bitcoin” Fromknecht 以及雷电网络团队,特别是 Lefteris “LefterisJP” Karapetsas,Christian Bader 和 Dominik1999,表达最诚挚的感谢,感谢他们在 Github 和推特中解答我关于瞭望塔和监察服务的疑问。(详见闪电网络讨论帖,雷电网络讨论帖,雷电网络 github issue 帖)

其次,雷电网络的“监察服务”命名还未最终定稿,有可能以后会改名,所以本文中如果没有额外说明(比如闪电网络瞭望塔或者雷电网络监察服务),我们统一用“瞭望塔”一词来同时指代闪电网络和雷电网络的具体实现。

第三,瞭望塔是个大课题,所以我决定分几篇文章来讨论。作为开篇,我们将探讨为什么瞭望塔对于扩展性至关重要,它们如何运作,闪电网络和雷电网络的具体实现差异。我们还将讨论两种类型的瞭望塔以及它们的运作(资金)开销,研究相关的扩展问题并简要讨论下几种解决方案及其优缺点。

第四,你不必对本文所述照单全收,但相信你读完会觉得不无裨益,正如我经常不太认可 StopAndDecrypt 的结论,但这并不影响我觉得他的分析有趣且实用。

最后想说的是,你知道为什么我在上篇文章之后保持了长达 6 个月的沉默吗?

闪电网络:有关用户体验和中心化的27个担忧

好吧,原因是我那段时间确实动力不足,因为闪电网络社区对于建设性的批评很敏感,所以我在链上扩容支持者那混了个脸熟,但他们那会对于链下扩容方案缺乏兴趣。

默认设定很重要

 

通过使用类似 Protomail,Tails,Whonix,VPN,Tor,I2P 等产品,你可以获得很全面的隐私保护。但又有多少人在日常生活中完全使用这些工具呢?也许不到整体网民的 1%?基于此,除非私密交易是默认选项,你凭什么认为人们会使用额外的工具来完成私密交易呢?大部分人会优先考虑便利性和返现,而不是隐私性。

比如,如果以太坊钱包不考虑代币和智能合约,那钱包其实可以为每一笔 ETH 交易生成一个不同的地址,但绝大部分钱包没有这样做,因为这不是默认行为。但对于比特币,这是默认设定,所以隐私性得到了提升。

我坚持认为数字货币应该在高级别的安全性,隐私性和良好的用户体验方面达到“开箱即用”,因为大部分非专业人士一般只是使用信用卡通过中心化的平台购买数字货币、用用手机端的轻钱包、连到一个巨大的“免费”中转站且通过该中转站路由他们的全部交易,并使用能找到的最受欢迎的瞭望塔。

 

没有瞭望塔就没有扩展性可言

 

就目前而言,闪电网络和雷电网络的使用者仅限于那些密码学货币的极客死忠粉,因为链下交易可能导致经济损失的安全风险(即一个交易对手方可能会通过关闭包含非法状态的链下支付通道来耍诈)。

类似“请你的极客好友帮忙看着你的支付通道”这种方案,是无法在全球普遍展开的,因为闪电网络和雷电网络不光要和其它代币竞争,还要同中心化的支付方案竞争,那些中心化的方案往往可以完成瞬时交易,零手续费,甚至偶尔有返现(Visa,支付宝,微信支付,PayTM 等等)。

现在受推崇的解决方案便是众包给有能力全天候不间断(24/7)为客户代为监察区块链交易的专职第三方瞭望塔服务,由它们来按需广播补偿交易(penalty trancaction)。

瞭望塔如何运作

 

闪电网络的实现

当 Alice 的支付通道状态更新后(Bob 转给 Alice 0.1 个 BTC),Alice 往一个闪电网络的瞭望塔发送一个加密签名消息,以授权其将所有通道中的资金返还给 Alice。Alice 发送的消息不包含有关状态的余额信息,所以除非通道单方面关闭,否则 Alice 的隐私应该是安全的(这一点仍有争议)。

1

基本上,Alice 做的就是预签名一个交易,把所有(未关闭)通道的资金返还到她的地址,因而她无需在线便可应对欺诈。每一个发送的签名消息还会包含一个“提示”,指出如何找到可能的违规链上交易,所以闪电网络的瞭望塔不停地监察区块,按照其“提示”哈希表逐个比对新的链上交易。

2

Bob 决定欺骗 Alice,他可以单方面关闭仍处于旧状态的闪电通道(即,在他发送 0.1BTC 给 Alice 之前的状态)。当闪电通道的瞭望塔观察到这个违规交易时,它可以解密 Alice 的签名消息,进而重构出一个补偿交易,该交易会把所有资金返还给Alice。

3

(在上述场景里)因为交易通道被(欺诈方 Bob)单方面关闭,资金会有一个锁定期,所以闪电网络的瞭望塔在 Bob 可以真正使用被盗资金之前,会有一定的反应时间(来发出补偿交易)。

雷电网络的实现

雷电网络监察服务仍处于研究阶段,所以让我们来看看最新的设计方案。

(首先)Alice 往一个智能合约存入若干代币,这些代币可由雷电网络的监察服务找回给 Alice,如果监察服务成功防御了 Bob 的盗币攻击的话。

4

当 Alice 的支付通道状态更新后(Bob 转了 0.1ETH 给 Alice),那么 Alice 会在一个公开聊天室发布一个(其地址)余额的证明,该证明包含代币网络,通道 ID,一个 Nonce 和一个转账金额的哈希值。这条消息不会透露状态通道的余额(仅有哈希值),所以 Alice 的隐私应该可以得到保护(这一点饱受争议)。

5

因为每个签名消息都包含通道 ID,监察服务可以专门针对该通道监听“通道关闭”的事件。

6

同样地,Bob 决定欺骗 Alice,他单方面关闭仍处于旧状态的雷电通道(即在他发送 0.1ETH 给 Alice 之前的状态)。一旦该通道即将关闭(即进入挑战期),雷电网络的监察服务会暂停结算,因为它看到的 Alice 的余额证明跟 Bob 用来关闭支付通道的证明不一致,比如有可能是 Bob 所用的余额证明使用了一个较小的 nonce。

7

Alice 随后重新上线并使用最新的余额证明来关闭支付通道。

8

雷电网络实现方法(与闪电网络)的几个关键区别:

  • 需要先往一个智能合约预存若干代币,这些代币后面也可以用来给雷电网络的监察服务支付费用。
  • 雷电网络的监察服务精确地知道是在监控哪个支付通道,所以它可以把同一个用户(链上地址)的所有状态更新都联系起来。
  • 雷电网络的监察服务无法重构补偿交易,所以 Alice 必须回到线上,才可以用最新的余额证明来关闭支付通道。
  • (但是)耍诈者不会有损失额外资金的风险(即不会被处以惩罚)。
 

挑战

虽然闪电网络和雷电网络的实现有些许不同的具体设计,但他们需要解决类似的挑战:
  • 瞭望塔有运作的开销,而且开销会随着加强隐私保护的实现方案(详见下文)的落地而产生指数级的增长。
  • 用户需要为瞭望塔服务付多少费用呢?如何支付呢?
  • 如何在雇佣第三方监控你所有的经济活动的情况下还能保持一定的隐私性呢?
  • 如何在不影响隐私性和用户体验的情况下确保瞭望塔服务是可追责的呢?
本文我们将着重讨论运作成本的问题,并简要提及其它几个话题。让我们从两种主流类型的瞭望塔开始讨论,因为他们的运作成本构成很不一样。

边注:当一个公司需要为其数据准备更多存储空间时,它可以要么花钱购买更多数据存储设备(资本性支出 CAPEX),要么在数据中心租用服务(运营支出 OPEX),简单起见,我们把这两种支出统一称作“运营成本”。

业务导向 vs. 隐私保护

 

支付通道有很多不同的设计,未来也可能发生变化,但目前提及最多的实现方案可以大致分为两类:让我们称之为业务导向型和隐私导向型。

闪电网络的当前实现方案隐私导向型,而雷电网络的建议设计方案遵循的是业务导向的模式。

1. 业务导向型模式

业务导向型意味着瞭望塔可以把同一个人(涉及支付通道,账号,Know Your Customer 实名认证等等)的状态更新联系起来。

10

业务导向型方案中还会出现两种方案的细分:

  • 要么,瞭望塔确切地知道它在监控哪个支付通道,所以它可以把收到的针对该支付通道的状态更新都联系起来,如下图:11
  • 或者,瞭望塔并不清楚它在监控哪个支付通道,但是它可以把属于同一个支付通道或者账号的状态更新进行合并分组,如下图:
  • 12
所以在用户单方面关闭通道的场景下,瞭望塔也可以知晓它监控的是哪个支付通道,然后就可以把之前的状态更新都联系起来。

13

此外,业务导向型的模式允许瞭望塔通过清理其状态数据库来显著地降低运作成本,这对于一个商业模式而言是生死存亡的关键因素(可参考后续提到的隐私导向型模式的问题)。

进一步说,能够把状态更新联系到一个具体的支付通道或者个人,赋予了瞭望塔建立账号体系并且将服务变现的能力,这是一个最可行的商业模式。但这个瞭望塔商业模式的话题,让我们将在后续专题文章中再详述。

瞭望塔可以用不同的方式来清理数据库。

1) 雷电网络监察服务只保存最新的状态,所以所有旧状态更新数据都会被删除。

2) 闪电网络瞭望塔在 eltoo方案实现后也可以只保存每个支付通道的最新状态,eltoo 的实现需要先激活 BIP118方案,而 BIP118 可能会和 schnorr 一起部署,因为据 Chrisitian Decker的说法,两者都需要 seguito script bump 这项技术。有了 Eltoo,用户就可以仅保存最新的状态,并在不提供全部状态历史的情况下证明它是更新的状态。所以闪电网络瞭望塔可以删除全部关于状态更新的历史数据,但前提是瞭望塔明晰那些状态更新属于同一个支付通道。

14

边注:BIP118(SIGHHASH_NOINPUT)不会直接影响隐私性,但它会帮助 eltoo 的落地,eltoo将在经济上激励瞭望塔把状态更新联系起来,并通过删除旧状态来缩减它们日益增长的数据库,因为这是更可行的商业模式。也许仍然会有专注于隐私保护的瞭望塔,它们不会把状态更新联系起来,但大部分非专业用户会选择那些仅保存最新状态更新的最廉价瞭望塔,即使其隐私保护程度很低。所以我会再三思考,eltoo 是否真的如大多数人认为的那样“毋庸置疑”。每次协议层的变更,我们都应该考虑其对于相关数字货币经济的长期影响。 缺点 商业导向型瞭望塔的问题是它带来了大规模的金融监管,尽管瞭望塔不知道已更新状态的具体余额。关于瞭望塔是如何利用所得数据来背叛用户的,这里有一些例子:

  • 与其他瞭望塔、金融机构和商人勾结,通过流量分析来判断交易的最终地址,即便这个地址需要经过多次路由才能到达。
  • 通过分析交易频率来判断用户的经济活动,不论这些用户是末端节点还是路由节点。
  • 通过分析每笔交易的所在时间段(大部分非专业人士都会是末端节点)来判断用户的大致位置,他的习惯/日程安排,以及潜在地识别用户是否具有极其独特的指纹(个人特征),或者是否经常改变时区(只改变时区 2-3 次,就足以识别用户是否在旅行期间使用他的 ID。例如在飞机,火车上,酒店中或者正在出国等)。
  • 当然了,还有在雷电网络中连接所有以前的状态更新到特定通道,或在者闪电网络中单方面关闭连接。
  • 有着当前通道容量的视图,再加上商业导向型瞭望塔的雷电寻址助手会让全球的攻击者判断大多数交易的确切价值以及最终目的。
使用模糊交易时间(fuzz transaction time)或者在不同的瞭望塔间轮流更新状态的特性来增强隐私性是可行的,但是这样做也需要付出一些代价,我们将在下一篇文章中对此进行讨论。

2. 隐私导向型

闪电网络的实现方式可能会随 eltoo 而改变,但当前其瞭望塔的架构包含一个有益于隐私保护的方法,这意味着瞭望塔不能将所有先前的状态更新都连接在一起(除非他们主动利用基于账户的系统,从自己的服务中赚钱)。

例如,瞭望塔可以从一个通道中获取 10 个新的状态更新,但它不会知道这 10 个状态更新是来自 1 个通道还是 10 个不同的通道。

15

即便在单方面关闭通道的情形下,瞭望塔解密了之前收到的加密签名包,它也只知道最新状态所属的具体通道(两个链上地址),但它不会知道其他 9 个状态更新所属的通道/账户。

16

截止到目前还不错,是吧?

事情可没有那么简单!首先,缺乏将状态更新与特定的账户或通道联系起来的能力,会使盈利过程变得非常艰难,因为对瞭望塔来说,基于账户的系统是最可行的商业模型,我们将在专门的文章中探讨瞭望塔的商业模型。

其次,无法将状态更新连接在一起以清空数据库,会致使瞭望塔不得不储存之前接收的所有状态更新,除了那些已经被单方面关闭的(只占很小一部分)之外,这就是我们接下来要讨论的。

边注:有一些用来删除旧状态的变通方案,但都有严重的问题,我们还是留待下一篇文章再来探讨吧。

 

(作者: Sam Aiken;翻译&校对: Ray, 刘亚辉 Dev &阿剑;本文由作者授权 EthFans 翻译及再出版。)

本文来源于以太坊爱好者 EthFans,未经作者许可严禁转载,违者法律必究

评论
登录 账号发表你的看法,还没有账号?立即免费 注册