区块广播:

【比太公开课】带你畅聊“闪电网络”!

比特派钱包版主发布在 比特派/比太钱包
 43320  117
  • 正序
  • 最新
只看帖主楼层直达
  • 比特派钱包 版主 2019-03-20 16:55:28 只看该作者62楼
    闪电网络既然称其为网络,自然是有道理的,如果仅仅是 1:1 的通道,显然不能叫网络。
    当我们理解了闪电网络底层支付通道的最基本原理之后,现在面临的一个问题就是我们不可能让所有的人之间都两两建立通道,首先,操作层面就不现实,更何况通过上面的原理大家明白了通道双方要各自往通道里存入一定数量的比特币,如果让你和所有的比特币用户都建立通道,那显然是不可能的。
  • 比特派钱包 版主 2019-03-20 16:56:20 只看该作者63楼
    这就需要一个网络结构,比如说,Alice 和 Bob 之间有通道,Bob 和 Carol 之间,Carol 和 Dave 之间都已经有了通道,那把这些通道串联起来,就相当于在 Alice 和 Dave 之间有了通道,Alice 就能通过闪电网络给 Dave 转币了。
  • 比特派钱包 版主 2019-03-20 16:57:46 只看该作者64楼
    相关步骤参见图六:

  • 比特派钱包 版主 2019-03-20 16:58:25 只看该作者65楼
    首先,Dave 准备一个随机数 R (除了 Dave 以外,Alice、Bob、Carol 都不知道 R)并计算其哈希 H,然后把 H 给了 Alice。
    Alice 和 Bob 之间达成一个协议,如果 3 天内 Bob 能给出 R ,则 Alice 会给 Bob 0.102 BTC,如果超过3天,就拿回这些币;
    Bob 和 Carol 之间达成一个协议,如果 2 天内 Carol 能给出 R ,则 Bob 会给 Carol 0.101 BTC,如果超过2天,就拿回这些币;
    Carol 和 Dave 之间达成一个协议,如果 1 天内 Dave 能给出 R ,则 Carol 会给 Dave 0.1 BTC,如果超过1天,就拿回这些币;
    当这些协议都成立之后,Dave 把 R 给 Carol,得到 0.1 BTC,Carol 把 R 给 Bob,得到 0.101 BTC,Bob 把 R 给 Alice,得到 0.102 BTC。最终,我们达到了这个目的,即 Alice 支付了 0.102 BTC,Dave 得到了 0.1 BTC,Bob 和 Carol 得到了 0.001 BTC 的手续费。
  • 比特派钱包 版主 2019-03-20 17:02:08 只看该作者66楼
    上述的逻辑在闪电网络中是通过一个叫 Hashed Timelock Contract(HTLC)哈希时间锁定合约来实现的。比特币脚本是支持 HTLC 这类的合约编写的,具体的脚本因为是比较简单的条件判断,我这里就不详述了。
  • 比特派钱包 版主 2019-03-20 17:02:21 只看该作者67楼
    通过上面的逻辑描述,理解了原理的用户就应该能明白,为什么闪电网络的交易过程会是这样的,即:
  • 比特派钱包 版主 2019-03-20 17:03:12 只看该作者68楼
    收款者先准备个二维码,然后付款者扫码支付,其中是不是二维码这种形式并不重要,最重要的其实是需要收款者先准备出一个信息(要准备出个 R,然后计算出其哈希 H,并把 H 和公钥提供出来),付款者用这个信息付款,这一过程其实就是 H 的传递过程,然后大家再拿 R 来领钱。
  • 比特派钱包 版主 2019-03-20 17:04:10 只看该作者69楼
    也就是说,闪电网络的交易一定是由“接收者”发起的,这也是为什么习惯了比特币、以太坊钱包的用户往往会别扭的地方,大家都会说,你先给我个地址啊,我给你转币,以后我还可以反复的向这个地址转币。现在不行了,我得先给你个 H(加公钥),然后你再通过闪电网络通道给我转币,这个 H 只在一段时间之内有效,并且只能用一次,向另一个人收款的时候,我还得再给一个 H',不能服用之前的 H,现在大家明白这是为什么了吧?
  • 比特派钱包 版主 2019-03-20 17:06:29 只看该作者70楼
    当我们把 HTLC 合约嵌入到 RSMC 通道时,更完整的闪电网络(多节点模型)就成立了,其中,闪电网络的白皮书用了很多篇幅来描述在网络模型下如何基于 RSMC + HTLC 做到去中心化+无需信任,最终来到今天大家终于可以体验的闪电网络。
  • 比特派钱包 版主 2019-03-20 17:07:15 只看该作者71楼
    对于开发闪电网络基础设施来说,基本的原理可以通过我上面讲述的内容就能有一定的了解,但具体实现起来要考虑的方方面面就非常多了,比如说哪怕只是上面说描述的那些通道建立过程及节点传递过程,其实就是一个非常复杂的工程,再加上对于闪电网络这种“网络”系统来说,还得考虑类似于互联网上的节点查找、路由协议(手续费/通道大小等方面还会影响到路由的选择)等内容,这其实都是非常复杂的工作,这也是为什么直到今天闪电网络基础设施的初步进入到能让用户广泛尝试的阶段的原因。
  • 比特派钱包 版主 2019-03-20 17:07:22 只看该作者72楼
    在这里,我们应该感谢那些为了闪电网络付出艰苦努力的码农们,谢谢!
  • 比特派钱包 版主 2019-03-20 17:08:53 只看该作者73楼
    澄清几个关于闪电网络比较重要的事实:
  • 比特派钱包 版主 2019-03-20 17:10:08 只看该作者74楼
    1、闪电网络的原理本身并不是限制在比特币协议上的,任何区块链都可以有自己的闪电网络实现,而闪电网络实现并不需要区块链本身做什么改动,只要具备实现上述原理的条件就可以了,像隔离验证的实现就能大大降低在比特币上实现闪电网络的难度一样。所以,莱特币也可以有闪电网络,以太也可以,甚至 EOS 也可以有自己的闪电网络。
  • 比特派钱包 版主 2019-03-20 17:11:44 只看该作者75楼
    曾有 EOS 大户问我如果比特币有了闪电网络,那是不是 EOS 的价值就大打折扣了,我这里到不这么看,EOS 也可以有自己的闪电网络,EOS 主网做主网的事情,闪电网络做链下闪电网络的事情,没什么问题,因为这是从另一个维度来扩充的区块链的能力,可以说闪电网络对于所有的公链价值都是巨大的。
  • 比特派钱包 版主 2019-03-20 17:13:22 只看该作者76楼
    2、那为什么闪电网络会在比特币上优先到来呢?为什么不是像隔离验证一样,先在莱特上实验,再逐步更新到比特币网络上的呢?原因很简单:首先,闪电网络不是对比特币协议的升级,因此不涉及任何 bitcoin-core 的开发工作;闪电网络需要很多第三方团队或个人自行开发基础框架,像 lnd、C-lightning 等,也需要很多钱包团队采用自己认为合适的方式来支持,而在这一点上,毫无疑问比特币社区的开发者、企业和个人群体的数量是最大的,从这个角度上讲,闪电网络作为一项原理清晰但实现起来还是很复杂的技术在比特币上首先到来也是一件很正常的事情。
  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
前往
登录 账号发表你的看法,还没有账号?立即免费 注册