原文链接:https://medium.com/raiden-network/alderaan-mainnet-release-announcement-7f701e58c236

作者:  Raiden Network

翻译&校对: 闵敏 &阿剑

- Yesuitus2001 供图 / CC BY-SA 3.0 -

摘要

我们高兴地宣布雷电网络 Alderaan 版本已经在以太坊主网上线啦!Alderaan 是雷电网络的第一个完整版本,相比 Red Eyes 版本多了一系列新功能,包括监控服务(monitoring services)、寻路服务(pathfinding services)和中介费(mediation fees)。鉴于 Alderaan 版本本身存在一定的局限性,而且是测试版本,请在使用该软件之前仔细阅读本文,包括安全说明。

Alderaan 版本的目标

Alderaan 是运行在以太坊主网上的雷电网络的第二个主要版本。本版的目标是成为一个安全可靠且功能完备的雷电网络版本,可以让其他项目构建在雷电网络上、让雷电可以整合进它们的 dApp (中心化应用)中。

我们鼓励所有有兴趣在以太坊上以高效、低成本且可扩展的方式进行付款的人都尝试一下 Alderaan 。对于那些想要将雷电网络作为底层支付技术整合进 dApp 的项目,我们特别希望他们能给予反馈并提出功能需求。对于那些想要在雷电网络上开设支付通道的项目,我们希望能与之达成合作。请通过 contact@raiden.network 联系我们。另外,如果你正在构建你认为对雷电网络的生态有益的项目,可以考虑一下雷电网络基金会的资助计划。如果你发现了高危漏洞,请火速前往我们的 bug 赏金网站报告。

Alderaan 版本的功能

以下列出了 Alderaan 版本中包含的新功能。与 Red Eyes 版本重合的功能可以参见这篇文章。

中介费 —— 让资金中介节点可以赚取费用、保持整个网络的资金平衡通道监督 —— 节点不需要一直在线寻路服务 —— 节点不需要了解完整的网络拓扑结构部分提款 —— 无需关闭通道即可取款雷电向导 —— 让创建雷电节点变得简单高效对协议和传输层进行了一些修改和改进,使之更加健壮高效

若想了解更多关于通道监督和寻路服务的信息,请阅读这篇文章;若想了解更多关于中介费的信息,请阅读这篇文章(编者注:中译本见文末超链接《雷电网络的动态调解费用》)。

开启 Alderaan 版本的体验之旅

在开始运行 Alderaan 版本之前,请先阅读这篇文档并从 GitHub 上下载最新版本的雷电客户端。如果你在这一过程中遇到了任何问题,可以通过 Gitter 联系我们或在 GitHub 上提出问题。

雷电向导能够让你获得简单快速的引导体验。下一节介绍了如何快速简单地创建雷电网络节点。现在,DAppNode 上已经有了雷电网络的安装包,可以通过 DAppStore 一键安装。

若想了解雷电网络的统计数据,可以查看 Raiden Explorer 。

参见 EtherScan 上的雷电网络智能合约:

TokenNetworkRegistryWETH TokenNetworkDAI TokenNetworkSecretRegistryServiceRegistryUserDepositMonitoringServiceOneToN

如何运行雷电网络

为便于快速体验雷电网络,我们创建了雷电向导,帮助用户快速创建雷电网络节点并注入资金。

开始之前,你需要准备:

一台运行 Linux 或 macOS X 系统的 x86 计算机一个 infura ID(点击此处,查看快速安装指南)安装了 Metamask 插件的网页浏览器一个在 Metamask 钱包中存有至少 0.13 ETH 的以太坊账户

然后访问雷电向导的版本页,下载最新版本。将下载好的压缩包解压,并运行名为 “raiden_wizard” 的可执行程序。从这里开始,雷电向导将引导你完成创建雷电节点所必需的步骤,然后就能在以太坊主网上运行雷电节点了。

如需详细了解雷电向导的运作,请查看文档中的“快速启动”部分。

- 运行中的雷电向导 -

Alderaan 版本的安全措施

由于 Alderaan 版本是部署在以太坊主网上的雷电网络测试版,我们已经采取了强有力的风险缓解措施,来减少因 bug 或软件误用而造成的潜在伤害,并确保这一新兴技术能有一个可靠的实验环境。请注意,Alderaan 版本还没有经过外部第三方的安全审计。

存款限额 —— 每条通道中的每个节点最多可存入价值 1000 美元的代币/每个代币网络可存储价值共计 100 万美元的代币,此外还设有 “弃用开关 (deprecation switch)” 来防止任何可能会导致资金损失的情况。一旦弃用开关被激活,就不能再开设新的通道,也不能注入新的资金,但是用户依然可以进行转账,关闭通道并结算余额。另外,Alderaan 版本仅限于 WETH 和 DAI 两种代币网络。

雷电网络服务的使用

如上文所述,Alderaan 版本包括可选通道监控和寻路服务功能,旨在提高用户资金的安全性并放宽节点必须始终保持在线的要求。

默认情况下,PFS(寻路服务)被设置成“——routing-mode”。这就意味着,每当一个节点想要向网络中的其他节点转账时,就得由 PFS 为其提供一条路径到达目标节点。PFS 会收取少量费用,即,从请求节点的 UserDeposit 处获得 IOU 。

默认情况下,通道监控在 “—— 开启监控” 中被设置成“False”。一旦开启,提出请求的雷电网络节点可以直接下线,无需担心其对手方会关闭通道,致使其无法提供正确的最新余额证明。一旦监控服务代表节点成功关闭通道,就会收取少量费用,即,从 UserDeposit 处获得 IOU 。

雷电服务费(监控和寻路)都是用 RDN 代币支付的,其默认值可以在相关文档中找到。若想详细了解雷电服务的运作原理,请查阅这篇文章。

请注意,中介费是通过特定代币网络以该网络的原生代币支付的。雷电网络采用了非常复杂的动态费用结构,来调节通道中的不平衡情况。若想了解更多关于费用结构的信息,可以参阅这篇专门讲解费用的博客文章和雷电网络文档。

Alderaan 版本的功能局限性

当前版本在功能上有以下几个局限性:

代币网络不具备可升级性:Alderaan 版本没有升级智能合约的功能。换言之,升级网络的唯一方法是重新部署新的合约,并发布一个指向这些合约的新版客户端。旧版网络中的所有通道都需要关闭,然后在新版网络中重启。正如上文所述,我们已经实现了一次性弃用开关,可以在有需要的情况下弃用网络。

弃用 Red Eyes 版本

鉴于 Alderaan 版本已上线,我们强烈建议使用 Red Eyes 版本的用户检查自己的通道是否都关闭了。如果还有没关闭的通道,请将其关闭并结算余额。

之所以要这么做,是因为 Red Eyes 版本将不再受到支持。Alderaan 版本上线之后,Brainbot Labs 会在某个时间点彻底弃用 Red Eyes 版网络上的智能合约。

重要的安全使用须知

一定要记住:虽然 Alderaan 版本相比 Red Eyes 版本更为成熟可靠,但它依然是测试版本。请仔细阅读以下安全须知和系统要求,避免资金损失风险加大。请注意,即使你遵守了以下规则,依然有可能出现丢失资金的情况。

以太坊节点须保持同步并正常运行:确保 Layer 1 正常运行。也就是说,你必须有一个保持同步且正常运行的以太坊节点(geth 和 parity 皆可)。如果客户端出现了任何问题或漏洞,雷电网络就无法正常运行。以太坊客户端须始终保持在线:确保你的以太坊客户端在雷电网络节点运行期间始终保持在线。正如上文所述,启用了通道监控之后,你(的雷电网络节点)就可以安全地下线。

但是,为便于使用雷电网络节点进行转账,你还要有一个在线且保持同步的以太坊节点。我们建议在一个带监控功能的环境中运行以太坊客户端,以便在其崩溃时自动重启。不得更换以太坊客户端:在交易未打包时更换以太坊客户端是不安全的。我们建议,不要在雷电网络节点运行期间更换以太坊客户端。雷电网络节点须保持在线且保持运行:目前来说,所有参与转账的节点都必须在线,才能完成转账。因此,务必确保你的雷电网络节点保持运行,你的网络连接稳定且雷电网络节点始终在线。如上文所述,如果一个节点开启了监控,就可以安全地将该节点关闭。

但是,节点在离线期间无法收到、中介和发送转账。须开设雷电网络专用账户:你必须开设一个雷电网络专用的以太坊账户。在雷电网络客户端运行时,手动使用雷电网络专用的以太坊账户创建任何交易都有可能导致不确定的行为。但是,在没有运行雷电网络客户端的情况下,手动使用雷电网络专用账户创建交易都是安全的。雷电网络账户内有充足的 ETH :如果你的账号中 ETH 余额不足,雷电网络就会发出警告,否则你无法维持目前开设的通道的整个运转。你的职责就是往账号中转入 ETH ,并确保在收到警告时立即转入足量的 ETH 。雷电网络账户有足够的 UserDeposit :如果你正在使用寻路或监控服务,你需要通过 UserDeposit 智能合约使用 IOU 来支付费用。UserDeposit 中存入的是 RDN 代币,如果用户存款余额不足,就会因为支付不起费用而无法使用雷电网络服务。调解型转账的金额不得过低:目前,雷电网络客户端会取消那些调解费超过转账金额 20% 的支付行为。也就是说,转账金额必须足够大,以免调节费超过转账金额的 20% 。

因此,代币网络的调解型转账都是有最低转账金额的,例如,DAI 的最低转账金额为 0.00001 DAI ;WETH 的最低转账金额为 0.0000001 WETH 。本地数据库须具备持久性:你的本地状态数据库位于 ~/.raiden 。用户不应删除该数据或对其进行任何形式的篡改。建议频繁备份。删除该目录会造成资金损失。不得对外泄露 Raiden REST API :为便于执行操作,客户端需要能够在任何时间点签署交易。因此,你绝不能对外泄露 Raiden Rest API 。请谨慎更改 –rpc 和 –rpccorsdomain 这两个值。请保持耐心:当链上交易正在执行且没有得到确认时,不要乱按网页端用户界面上的按钮,也不要关闭客户端。

已知问题

在使用 Alderaan 版本时,你应该注意以下几个已知问题。这些问题并不只针对雷电网络而言,而是所有以太坊二层解决方案的通病。

用户系统被攻破:如果用户系统被攻击者攻破或者有恶意应用在运行中,那么预写式日志(WAL)就会被访问,有价值的信息会因此遭到泄漏,因为 WAL 还没有像 raiden-network/raiden#579 中提到的那样经过加密。磁盘已满:客户端没有正确处理用户磁盘已满的情况。一旦雷电网络节点宕机,就有可能导致数据丢失。将来,我们会采取措施来检测磁盘已满的情况,并优雅地关闭应用:raiden-network/raiden#675 。区块链拥堵:如果区块链上发生拥堵,且没有足够的空间供雷电网络节点将交易上链,客户端就无法在链上结算通道。为解决区块链拥堵问题,有人建议开发基于 gas slot 的结算超时机制:raiden-network/raiden#383 。链重组:客户端过去出现过链重组的极端情况。只有经过 5 个区块确认的轮询事件才能解决这类问题。交易处理也是如此,必须等到 5 个区块的确认期过后才被认为有效。因此,开设通道要等待 15 个区块的确认期(3 笔链上交易)。

结语

Alderaan 版本上线真是一大喜事。我们已经迫不及待地想看到大家会在这项技术的基础上发挥出什么奇思妙想。如果你在雷电网络上进行构建时发现缺少任何功能,请立即在 github 上联系我们的团队,通过创建 Github 议题(open a Github issue)来提议新功能。雷电网络团队的目标是在 Alderaan 版本上线后尽可能聚焦于开发者的建议,构建一项有用的技术。

我们很期待能获得大家的反馈,并携手推进雷电网络步入下一阶段。感谢大家的不懈支持。

特别感谢 Anyblock 和 DappNode 运行了雷电网络服务包,为 Alderaan 版本上线提供了极大的支持。