闪电网络由来
为了解决比特币交易容量问题,Joseph Poon和Thaddeus Dryja在2016年发表了闪电网络白皮书,白皮书主要介绍了RSMC和HTLC两种新的交易类型,但对路由的实现却没有仔细说明。
白皮书地址:https://lightning.network/lightning-network-paper.pdf
闪电网络发展
当前有三家主要的公司在实现对闪电网络客户端软件进行实现,不同开发者都约定遵循BOLT原则,互相兼容。
由Blockstream公司,以前从事linux内核的开发者 Rusty Russell带头用C语言开发的c-lightning 版本。
项目开源地址https://github.com/ElementsProject/lightning
Lightning labs’ 由闪电网络白皮书发布者之一的Joseph 开发的Go语言的LND(Lightning Network Daemon)版本。
项目开源地址:https://github.com/lightningnetwork/lnd
ACINQ公司用Scala语言写的Eclair版本。
项目开源地址:https://github.com/ACINQ/eclair
闪电网络路由——flare
bitfury(8btc.com/p/bitfury)曾提出Flare,通过掌握自身周围部分网络拓扑结构以及随机连接一些随机节点,共同协作最终最终完成路由。
Flare白皮书地址:https://bitfury.com/content/downloads/whitepaper_flare_an_approach_to_routing_in_lightning_network_7_7_2016.pdf
蚁群路由算法
2018年8月11,C. Grunspan和R. Pérez-Marco发布名为Ant routing algoithm for the Lightning Network,该论文发表在SCI期刊上上,论文中作者只是大概说了下设计理念,很多细节没有说明,我当时看了之后觉得不知所云,但2019.5月23日作者在巴黎七大有个公开的解释说明,配合着ppt我看明白了,感觉非常棒,在此介绍下!
论文地址:https://arxiv.org/pdf/1807.00151.pdf
视屏地址:youtube.com/watch?v=xIwAP7SyVL4
算法原理介绍
小结
以上为我个人理解,我只介绍了算法部分,如果有不理解之处,强烈建议去看原作者视屏,视频中作者还全面介绍了该算法的性能以及确认种子以及AVL在存储种子的数据结构。
看了该算法,对比Flare,太有创造性了,目前该算法在reddit.com/r/Bitcoin/上有人发布了,但热度不高。
如果未来一天,该算法被闪电网络社区采纳那真的是太棒了!