技术入门 | 剖析Libra的Network组件

2019年6月18日,Facebook 发布了 Libra 白皮书及源码,引起了业界的广泛关注与讨论。

这里我们通过分析Libra的源码,探索Libra的各个组件,来了解一下Libra的整体设计与实现。

 

Libra核心组件


在进入主题之前,我们先对Libra有一个整体的认识:

libra

看过Libra技术白皮书的朋友,应该都记得这张图,下面简单介绍一下这些核心的组件(后面还会有更详细的讨论):

​ a. AdmissionControl服务:简称AC,翻译过来叫准入控制,可以理解为Libra的网关,将跟用户打交道的接口暴露给用户,例如提交Transaction、获取用户状态等等

​ b. Mempool服务:存储未上链交易

​ c. Consensus组件:LibraBFT共识组件

​ d. VirtualMachine组件:简称VM,运行Move合约的虚拟机

​ e. Execution组件:VM的入口,已换成Executor组件

​ f. Storage服务:存储所有链上数据

​ g. Network组件:上图中隐含了一个Network组件,不论是Node启动还是跟其他节点通信,都需要Network组件。在第一条主线中,我们重点介绍Network组件。

注意,上面介绍各个核心组件的时候,我们区分了组件和服务,两者的区别是:组件没有额外监听端口,与node共用同一个端口,而服务会单独监听一个端口,通常是GRPC服务。

 

Libra设计与实现


Libra涉及的东西比较多,我们从三条线介绍Libra的设计与实现:

  1. 通过分析Node启动并加入到Libra网络的过程,介绍Network组件的设计与实现
  2. 围绕Transaction的生命周期,分析其接收交易、打包区块、运行上链的过程,介绍Libra的Mempool、Executor以及Storage、VM等核心组件;
  3. 围绕LibraBFT,介绍Consensus组件以及区块达成共识的过程


如果想了解或者使用Libra,我们需要先启动一个节点,并将它加入到网络中。接下来,我们看看第一条主线,了解一下Node的启动以及Network的设计与实现。

 

Node启动流程


我们先看一下Node大概的启动流程,主要包含两部分:

  1. 生成configLibra的Config的模块中,能构建3种类型的配置文件,分别是validator、faucet、fullnode的配置文件。其中faucet配置是水龙头服务相关的一些配置,通常只有测试网络中第一个validator节点才需要。libra-start-1
  2. 启动node
  3. libra-start-2


上图中Libra-node用于启动单节点,Libra-swarm用于批量启动多节点。接下来,我们分别看一下这两步的一些实现细节,以及之前的准备工作。

 

准备工作


在一切继续之前,我们先准备需要依赖的环境

​ 1). 获取Libra代码

​ git clone https://github.com/libra/libra.git

​ 2). 编译和运行环境

​ a. 建议使用Libra自带的脚本script/dev_setup.sh安装环境依赖

​ b. 或者自己手动安装rust、cargo、git、pb、go、CMake等工具

生成config


​ 从前面的Node启动流程我们了解到,启动node首先需要生成配置。Libra包含的配置文件比较多,我们来整体看一下配置文件:

libra-start-3

不过没有特殊需求的话,需要我们特别注意和关注的配置其实也不算多(见上图蓝色部分),主要有:

​ a. Node的角色分为Validator和FullNode

​ b. 生成3个秘钥,2个ed25519算法生成,分别用于打包block签名、网络的消息签名,Libra提供了一个generate_keypair工具生成ed25519秘钥(cargo run -p generate_keypair – -o mint.key),1个是x25519算法生成,用于标识节点身份

​ c. 数据存储路径,默认会生成临时路径

​ d. network_peers:存放网络中Node的公钥等信息,主要包含网络消息签名的公钥和节点身份的公钥

​ e. seed_peers:当前节点加入网络主动去连接的node的信息

​ f. consensus_peers:所有Validator节点的信息,Libra网络是一个许可形网络

​ g. 各服务的端口以及其他配置,没有特殊要求的话,默认就好

 

启动Node

  1. 连接Libra的测试网络sh scripts/cli/start_cli_testnet.sh
  2. 自建节点cargo run -p libra-node或者cargo run -p libra-swarm – -s


当前node启动起来之后,会根据seed_peers的配置,去连接相应的node节点,加入到网络中去,如果没有seed_peers则会启动一个单独的网络。接下来,我们深入了解一下Node的Network的一些设计与核心实现。

 

Network组件

1. Network核心模块


我们整体看一下Network包含哪些模块:

libar-network-1

上面中,从下往上看:

​ a. MemSocket实现了UNIX domain socket的功能,一般用于测试

​ b. TcpSocket网络连接

​ c. Transport可以理解为MemSocket和TcpSocket的一层抽象,封装了socket的操作

​ d. Noise是一种加密协议,前面提到的用于网络消息签名的ed25519私钥,就是作用在这里

​ e. Rpc是Libra自己实现的远程过程调用协议,调用方会等待被调用方返回结果

​ f. DirectSend从字面理解是直接发送,调用方发送完立即返回,不等待被调用方返回结果

​ g. Negotiate可以理解为对Rpc和DirectSend的抽象

​ h. MultiStream用于多路复用,使用了yamux协议。通俗的理解就是在同一个Tcp连接上,从逻辑上将每种上层协议封装成一个单独SubStream,以实现多个上层协议共用一个Tcp连接的情况。这一点后面我们还会提到。

以上是Libra的Network组件的一个整体实现,接下来我们介绍一下Libra的协议。

 

2. Libra的主要协议


上面我们对Network组件有了一个宏观的认识,这里我们介绍一下Libra包含的协议:

libra-network-2

上图中,从下往上看:

​ a. PeerManager封装了网络连接以及多路复用的操作

​ b. Identity协议:前面提到的x25519私钥,就是Identity协议用于标识当前节点的身份,协议会根据节点的Role将Validator网络与Fullnode网络进行隔离

​ c. Health协议:定期随机选择一个节点发送探活消息

​ d. Discovery协议:每个round从相邻的节点同步节点信息,以发现新节点,可以理解为gossip协议

​ e. AdmissionControl协议:只有RPC的实现,Fullnode节点在收到用户提交的Transaction之后,通过AC协议将Transaction转发给Validator节点

​ f. Mempool协议:只有DirectSend实现,用于不同的Mempool之间同步Transaction

​ g. Consensus协议:包含RPC和DirectSend,用于Validator之间达成共识

​ h. StateSynchronizer协议:只有DirectSend实现,不同node之间寻找Block

前面我们提到了多路复用,上面的协议都是通过MultiStream分别开了SubStream,逻辑上把消息协议区分出来。其中Identity、Health、Discovery是所有node都会包含的基本协议,而Consensus是只有Validator节点才会包含的协议。

 

总结


最开始我们讲了Node启动流程,讲述了config配置需要注意的地方以及node启动的方式和流程。然后我们深入到Network组件,讲了Network的组成模块以及提供的协议能力。我们以单节点为例,将整个启动以及加入网络的过程总结如下图:

libra-start-4

其中黄色部分表示在Network的端口是开启了SubStream,添加了相应的协议和协议处理过程;绿色部分部分表示服务或者组件实例化,可以看出Storage和Executor不依赖Network;初始化Discovery协议的时候,节点会去连接seed节点,并且seed节点会验证Identity。以上是节点启动以及加入到网络的大概流程。


 

相关链接


https://github.com/libra/libra

https://developers.libra.org/docs/the-libra-blockchain-paper

小额支付的“救星”?Visa加密负责人设想比特币最小单位聪(Satoshis)作为互联网小额支付标准

辩论:比特币减半会导致交易手续费上涨?

云逛美国最大的以太坊黑客松ETHDenver:源源不断的DeFi新项目都在做什么?

巴比特专栏 | 科研经费支出模式和币开发资金优化方案

“每一次Amaury进入我的视野,都是要钱。。。”一位BCH持币大户在微信上跟我抱怨这次BCH开发者对近日(2020年2月15日发表于bitcoinabc.org的公告)发表的对挖矿进行抽成,以筹集成立BCH基础实施开发资金。

加密数字货币的开发,是以开源社区开始,到现在为止,11年了,最重要的那些币,都还是以开源社区的形式运行着。开源社区的资金来源,一直是困扰币圈发展的重大问题。

 

币圈开发资金困局


需要承认的是,目前以开源社区为主导的币开发项目,都遇到了开发资金瓶颈。开发者正在失去在开源社区努力的动力。

在2019年,我盘点了BTC、BCH和BSV的full node更新版本,查阅了开发者们为比特币生态做了哪些工作,现实是三大比特币分支,进步都不明显。BCH的开发算是三者之间最积极的。

BTC主要开发者是Bitcoin Core开发组,现在的主要资金来源是,几个重要的现役Core开发者是受雇于Blockstream公司。另外的资金来源就是社区捐赠。具体的年消耗开发资金查不到,公开的社区估计是年耗1000万美元这个级别。

BTC的开发资金一直很少。历史上主要资金来源非营利性组织,大公司捐赠和社区捐赠。Gavin Andresen早在2012年成立有比特币基金会,但在2015年花光了钱。麻省理工学院媒体实验室在2016年设立了90万美元的比特币开发者基金,名气很大,但钱和需求相比,实在是少。

和正常软件项目的庞大开发支出相比,比特币开发用资金是非常欠缺。绝大部分开发者都是无薪的自愿者。

BCH主要开发者是Bitcoin ABC开发组,资金来源主要来自大公司资助和社区捐赠。

在2017年8月BCH诞生以来,开发资金主要来源大公司捐赠。比特大陆,Bitcoin.com都赞助了资金,但详细的资金金额和去处我查不到。Bitcoin.com的Rogver曾经宣传过百万美元生态基金,但详细的利用细节无从得知。okex曾经给ABC捐赠过一些币,但被Amaury转送给了Electroncash开发者。

2019年Bitcoin.com牵头设立了BCH发展基金,很快募集到800BCH。

BCH最重要的开发者Amaury,多次公开在Twitter上发推说缺钱开发,缺钱雇员工。

BSV的开发基本上是由nChain公司完成。BSV的开发者认定协议只需要恢复到最早的bitcoin0.1版本就好,开发应该会简单很多。BSV的开发力量主要集中在应用层上,是各个公司自己的事,不存在公益性质的开发基金募集和花销问题。

以太坊的开发资金主要来自公开募资和创世币发行,公募到了1840美元的比特币(31591BTC),同时在创世块发行了600万ETH给以太坊基金会,和600万ETH给早期的开发者。

现在以太坊基金会财力有限,V神曾经自掏腰包1000ETH奖励给开发者。以太坊的开发,也是越来越慢,已经慢到了币圈都嘲笑。

EOS的开发几乎全部来自Block.one公司,这和比特币等去中心化的开源社区有所不同。他们到不缺开发资金,EOS公募了40亿多美元的资金。但EOS缺监督,资金利用透明度很差。

莱特币基金会也多次声称缺钱,开发长期处于停滞状态。

开发者丧失动力,甚至直接流失更重要的原因是机会成本。Gavin Wood,Polkadot的创始人,是以太坊的联合创始人。Gavin离开以太坊搞Polkadot,到目前为止,先后三次公开募,筹集资金超过1亿美元。第一次485331ETH;第二次306276ETH;第三次没有公布准确数字,大家估计超过6000万美元。

开发者一边面临着为开源社区做贡献穷酸的收入,另一边面临着发币发链巨额收入的诱惑,区块链技术进步缓慢也是可以理解的。

另一方面,大企业开始涉入加密数字货币和区块链行业。著名的有Facebook的Libra,中国央行的DCEP,蚂蚁金服的蚂蚁区块链……,这些企业和机构,有人有钱,碾压现在的币圈开源社区。

币圈怎么办?如果能在保持去中心化,和,节操,的前提下,激励开发者?

 

科研经费支出的四种模式


包养模式(或受雇模式)。在欧洲文艺复兴时期,贵族们流行赞助牛逼的人。最典型的就是美第奇家族包养了大量的艺术家和科学家,其中就有著名的伽利略。

在中国春秋战国时期,有身份有地位的人包养有学问有技能的人,叫收门客。贵族们都相互攀比谁家门客多。这也成就了春秋丰富灿烂的文化。

感觉在古代,有钱人包养学问大家和科学家,就是一种炫富,和现在人开跑车差不多。

包养模式基本上是出钱人只看被包养的人是否有名气,基本上是没有问责机制的,更不存在资金透明性问题。被包养的知名人士是相对很独立的,这个贵族不包养我,我就跑别的家去。在春秋战国时期,门客跳槽是常有的事。

包养,并没有贬义的意思,只是为了形象描述。

目前很多的币圈开发者,其实就是处在包养模式下,比如BTC的开发者是受雇于Blockstream,bsv的开发基本上是由nChain的员工完成。

悬赏模式。到了近现代,现代科学开始发展起来了。近几百年来,约300多年前开始的,诞生了一种有奖悬赏的赞助科学家的模式。这在科学史上曾经是国家等大型机构科研经费支出的重要形式,最早是从法国科学院开始兴起的。除了政府,贵族们也会发布有奖悬赏模式。

有奖悬赏的模式是,政府或贵族们把自己认为有价值的问题,以悬赏的方式公布出去。科学家们会把自己认为正确的解决方案发给政府或贵族。正确的答案被挑选出来之后,奖金才会发给科学家。

在大航海时代,英国政府悬赏2万英磅,用于奖励第一个在大海上确定经度的发明。人类最伟大的科学家牛顿就参与其中,不过牛顿没得奖,奖被一个叫约翰·哈里森的人领走了。现在还有很多数学难题是以悬赏的方式等待解题人,其中就包括著名的哥德巴赫猜想。

悬赏模式有很多好处。出题者可以只关心问题本身,不需要参与技术讨论,资金利用等麻烦的事。而解题者也是只能关心问题本身,任何其他的捞钱技巧都没有用,只有答案本身才是重要的。包括现在大学要经费的PPT教授,经费申报书,各种会议,都不重要。科学家们之间的竞争关系,也让解题效率很高。没有设置能力门槛,任何人都可以参加,不需要解题者有名气地位身份之类的。可以说是管理成本非常低的科研经费发放模式了。

悬赏模式也是有问题的,最大的问题是,很多难题根本就不是一个人或单个团体能解决的,需要的是人类科学积累的涌现。第二个问题是,发题者会收到海量的答案,筛选答案成了费劲的事。

预付款模式。到了现代科学家,主要是受雇于大企业和政府单位。经费的发放主要形式换成了申报制下的预付款模式。

在预付款模式,科学家成为了研究的主要发起人。科学家想做什么,你先自己提出来,怎么做,为什么要做,要多少钱,干出来后会产生什么效果,有什么价值,你先给我写一个PPT,找政府或者有钱人开个会,讨点钱回来。政府或大企业,会审查科学家的科研经费申报材料,判断可行性和价值,然后给钱。

东西可以先不做出来,钱先发给你。这就是预付款模式。

这是包养模式和悬赏模式不一样的,这两种模式,问题的提出者主要是政府和贵族。现在在预付款模式下,问题发起者主要是科学家。

预付款模式有很多优点,当然也有缺点。优点是找到了一种可以大规模复制的解决科学难题的方法,这也是为什么它是现行的主流科研经费发放方式。科学家才懂得什么科学问题有价值。原子弹就是奥本海默等科学家,甚至找到了爱因斯坦签字支持,才说动美国政府拨款搞的。现代社会的大量的底层知识,都是基于预付款模式完成的。在预付款模式科学家可以有钱,压力更小,安心搞科研。

但缺点也很明显,造成巨额的浪费和学术腐败。会讲故事,会写PPT的教授才能拿到钱,但他们并不一定会做科学。我就做过两个国家863项目,我以企业身份和高校教授配合完成低浓度瓦斯的开发与利用。整个过程让我觉得国内一些教授真的是贪官污吏。

诺贝尔奖模式。诺贝尔奖金是机制,大家都很熟悉,是诺贝尔奖基金会每年主动挑选对人类做出重大贡献的人,给予巨额奖金奖励的一种机制。这是悬赏模式的一种变种。

获得诺贝尔奖的科学家们是同时获得了巨额财富和巨大名誉的。是推动科学发展的巨大力量,也是科普科学问题的巨大力量。诺贝尔奖是让科学家成为明星,让科学问题成为普通民众关注的焦点。

诺贝尔奖的好处很明显,缺点是无法普适性。

讲了那么多学术经费的发放机制,我们再来看看现在币圈开发经费的解决方案。

 

开发者要钱的不正确姿态


最近看到BCH社区积极解决开发者资金匮乏问题,江卓尔提供了一个影响很大的方案,争议非常大。Amaury提供了实现细节,引来了更大的争议。

开发资金匮乏是一个急需解决的问题,BCH社区积极面对,对BCH生态,以及整个币圈生态都是好事。

在江卓尔提出他的筹款计划时,我看到了一个江卓尔对整个BCH社区发出了一个可信的承诺。这是博弈论里的一个名词,用中国人常用的词来说是,江卓尔给社区交了一个投名状。

这个投名状包括了两部分:1自己发起具有争议性的提案,逼捐;2自己承担潜在算力浪费确保自己提案通过(“因此我个人算力将使用一个新的名字挖矿(D.TOP),请在看到这个新矿池占较大算力比例时,不要惊讶——江卓尔”)。

林冲为了加入梁山,亲手毁掉自己的人设,火烧官府边防军队粮草,杀了官员,把自己变成官府的通缉犯,以后只能站在梁山这一边。这就是林冲向王伦纳的投名状。

江卓尔通过得罪全体SHA256矿工的方式,给他的想解决BCH开发资金的理想,交了一个投名状。事实上,在全体SHA256矿工中,江卓尔并不占据绝对的优势,再牛逼,就算BTC.top全是他的私人算力,也不过占据全网不到5%。其他矿工想联合起来绞杀江卓尔,在实力上是可行的。

我看了江的文章后,觉得,开发资金匮乏是一个需要解决的问题。在眼看到BTC、ETH等都陷入开发资金困局后,以及Libra,DCEP等强敌加入战局。BCH与其活也活不好,死也死不了,还不如冒个险,想办法筹一笔钱,看有没有转机。所以我判断江卓尔这一手棋,是值得的冒险。

我很佩服江卓尔能够发出可信的承诺。

随后,Amaury针对江卓尔的文章,在bitcoinabc.org网站上发布了实现细节。Amaury建议直接在协议级别定义清楚捐赠的去处。(“Bitcoin ABC has been requested to implement this plan in the node software”)。他提供了第一批捐赠款收币项目。

Amaury建议的是采用“包养模式”(必须强调,我没有贬义,采用“包养”这个词,只是为了形象描述事实)来完成BCH开发资金的募集。

Amaury的建议不构成预付款模式,因为提议没有遵照预付款模式必要的规则。在人类科研史上,有非常成熟的案例。预付款模式是需要科学家写申报材料的,申报材料至少要说明,要做什么,怎么做,有什么价值,要多少钱,钱怎么被监督?等最基本的问题。这些问题,在BCH开发上,并不是不证自明的。

Amaury是一个非常有个性的开发者。比如他曾经拒绝过来自Okex的无条件捐赠,也无视由来自Satoshi Dice(中本聪骰子)发起的悬赏模式。Satoshi Dice指定BitcoinABC开发组开发取消掉BCH0确认交易连续使用25次的限制,悬赏1000BCH。但Amaury作为ABC的领袖,并没有领情。

江卓尔发出可信的承诺,但Amaury在没有投名状的前提下,索要“包养模式”权力,是不合理的,这会破坏掉江的承诺,让其承诺处境很危险。就像林冲杀了朝廷要员交了投名状,入了梁山,结果,宋江带领整个梁山投降朝廷。要我是江卓尔,我肯定不会接Amaury的招。

包养模式,或者说是无节制的预付款模式,在币圈发展目前还没有好的先例,最典型的就是EOS40亿+美元的募资,理应有更好的开发效率。包括comos创始人在内的,币圈此起彼伏的,成功募资后,过不了多久,就出现“去中心化,交还给社区”的行为,都是无节制的预付款模式失败的案例。

面对开发者资金匮乏,有没有更好的机制呢?

优化开发资金匮乏


一个合理的,币开发资金的募集和使用,最好要考虑募集、发放、使用、监督和反馈的整个过程。但这会让整个资金计划效率低的可怕,需要多种方案并存。

我们先总结一下资金模式的优缺点

640

币圈开发已经有了包养(受雇模式),就像Blockstream等大公司雇佣开发者。也有预付款模式,就像EOS发一个ICO,先融资再开发。

目前在币圈还没有普及的是悬赏模式,和诺贝尔奖模式。

资金的来源,无论是大公司赞助,非营利企业募捐,私人捐赠,挖矿抽成,都已经有成熟的解决方案。至少出资意愿还是有的,更为关键的是资金的发放、有效性、监督和反馈,这些环节很难。如果资金的有效使用和监督等问题能更有效地解决,资金来源是相对乐观的。

一种优化方式是,开发者重视预付款模式,自己先理清楚开发计划和资金使用计划,形成可供潜在资金源识别和监督的文件。这要求开发者写非本职工作的PPT等,甚至可能会被理解为放下身段,受委屈。这很烦人。

另一种优化方式是,资金来源重视悬赏模式,和诺贝尔奖模式。

但现在的BCH开发,基本上被ABC左右,悬赏模式只要是ABC不接招,其他人接了也没有用。Satoshi Dice的尝试没有得到ABC的响应,这让BCH社区错失了一个绝佳的成功案例。

但悬赏模式,还是值得进一步探索。像BCH区块时间缩短到1分钟,雪崩算法,分片,都值得高价悬赏。

诺贝尔奖模式是值得有人去开一个先例。币圈完全可以设立一个“中本聪奖”,照搬诺贝尔奖的模式,奖励给币圈最优秀的成果。

比如江卓尔可以设立江卓尔奖,用来奖励历年BCH最重大协议开发成果,和最重大应用开发成果。比如可以追认2019年的Schnorr签名实现,就值得给Amaury一个奖。SLP协议的落地也值得给Jonald一个奖。甚至可以追认到2018年的DSV等操作码。

最后,祝大家快乐地持币,少生气,多挣钱。为手里的一点币,而各种吵架,人间不值得。

 

 

 

作者:黄世亮

欢迎关注微信公众号:闪电HSL, H13116885

欢迎打赏BTM:bm1qefc720au672awrgazgw5c3kx7etr5kejju02p7

什么是闪电贷?如何利用它在13秒内套利36万美元?

聪明又狡猾的某人刚刚通过操控 DeFi 贷款协议 bZx 的方式,获得 35 万美元的账面「收益」,不过 bZx 团队通过 admin key 限制了操纵人提现,使其无法真正获利。这个事件在 DeFi 世界引起了轩然大波,也让「闪电贷 Flash Loan」这个新物种,成为了热门话题。简单来说,某个操纵人通过「闪电贷 Flash Loan」从去中心化数字货币衍生品交易平台 dYdX 借出了 1 万枚 ETH,使用其中 5500 ETH 在 Compound 借出 112 WBTC,另外使用 1300 ETH 到 bZx 上开了 5 倍 ETH 空单(即,使用其中 5637 ETH 兑换 WBTC),由于 Uniswap 池子中可兑换的 WBTC 有限,为了继续完成这笔兑换操作,WBTC 价格被拉高,与此同时,操纵人再把从 Compound 借到的 112 WBTC 卖出,获得约 6800 ETH,然后归还了最初借到的 1 万枚 ETH(6800+3200,注:3200=4500-1300)。在这个过程中,获利等价 36 万美元的 ETH。

而所有这一切,在一个区块内完成。

 

什么是「闪电贷 Flash Loan」


闪电贷是 DeFi 生态的一个新名词。我们知道 DeFi 有很多优势,但同时也存在结构性缺陷,DeFi 需要超额质押,这意味着资金利用率十分低下。而「闪电贷」允许借款人无需抵押资产即可实现借贷,从而极大提高资金利用率。

闪电贷就是在一笔链上交易中完成借款和还款,无需抵押。由于一笔链上交易可以包含多种操作,使得开发者可以在借款和还款间加入其它链上操作,使得这样的借贷多了很多想象空间,也变得具有意义。

Aave 协议也提供闪电贷的功能,根据其官方介绍,闪电贷的功能是确保用户无需抵押来实现借还款,即如果资金没有返还,那么交易会被还原,即撤消之前执行的所有操作,从而确保协议和资金的安全。

不过 Aave 协议的闪电贷主要面向构建金融产品的开发者,直接服务于开发者群体,让更多的开发人员在无需资金的情况下,使用闪电贷创建再融资工具或套利工具,构建金融产品,从而降低开发门槛。但归根结底,这些金融产品的最终受益者是终端用户。

当然,你也可以根据闪电贷的思路,自己进行类似操作。前提是,你需要花上几周学习 Solidity,了解如何编码。

 

闪电贷的其他应用


CDP(Valut)清算应用

开发者可基于闪电贷构建一款 CDP 清算应用。当 Maker 系统需要追加抵押品保证金时,这款应用会在清算发生之前使用闪电贷在其他借贷协议中自动进行提取贷款并偿还,从而避免支付高达 13% 的清算费,即使需要支付 1% 的给开发者,还可以减少了 12% 的损失。

降低 Uniswap 的交易手续费

DForce 创始人提到借助 Flash Loan 的思路,可将 Uniswap 的交易手续费从 0.3% 降低到 0.05%,在一笔交易完成以下操作:

  1. 使用从借贷平台借 2500w 美金的 ETH
  2. 1500w 美金 ETH 放入 MakerDAO 借出 1000w DAI
  3. 用这 1000w DAI 到 Uniswap 给 DAI 提供流动性
  4. 执行 Uniswap 里面你想要的 DAI 相关的任何交易
  5. 归还第一步的 ETH 贷款


这样,你在第四步中的交易只需要付 0.05% 的手续费而不是 0.3%(因为你提供 DAI 流动性,获得 82% 的手续费返佣)。

 

最后


对于这样一个新事物,我们也看到了很多不同观点:

  • Aave 创始人:闪电贷可扩展更多 DeFi 用例,让 DeFi 产品类型更加多样化,因为它大大减少了对资金的需求,同时还降低了交易成本。
  • AVA Labs CEO Gun 教授:在同一笔交易中归还 ETH,就无需任何抵押即可借用,Flash Loan 的想法超越华尔街可以做的事情,似乎这一切只有链上智能合约才可能做到。
  • 也有人表示,闪电贷对 DeFi 而言是一个核弹,而且开关摆在广场上。它的危险程度用 PoS 类比,相当于任何人可以通过付利息的方式来借用全网 Staking 进行 51% 攻击。


闪电贷 Flash Loan 最终会走向哪里我们不得而知,但在其中,我们至少看到了 DeFi 应用场景的无限可能,和 DeFi 生态开发者的积极创新。

 

参考文章:

  • LeftOfCenter – 链闻
    贷款协议 bZx 被操纵让「闪电贷」走红,读懂 13 秒必须还款的闪电贷的秘密
    https://www.chainnews.com/articles/310002254120.htm
  • Flash Loan – 神奇的 DeFi 疯狂新发明
    https://v2eth.com/s/kcpkvz/flash_loan_defi
  • Peckshield 分析https://medium.com/@peckshield/bzx-hack-analysis-exposes-challenging-defi-inherent-composable-liquidity-risks-e3e1c623b7bd
  • DeFi 低调分享 | 如何空手套白狼 51 个BTC
    https://mp.weixin.qq.com/s/xp75HEhc0dVYonxz3smL9A

产业区块链一周动态丨区块链深蹲之后必将迎来大反弹

产业政策方面,农业农村部连发3份文件,促进区块链与农业融合发展。产业研究方面,孟岩指出,区块链深蹲之后必将迎来大反弹。产业应用方面,区块链在抗击疫情中的价值进一步释放。上市公司方面,花式运作遭证监会问询,投资人谨防上市公司利用区块链等概念炒作股价情形。

Silhouette of the lonely wanderer

产业政策:农业农村部连发3份文件,促进区块链与农业融合发展


 

农业农村部:利用区块链等信息技术,实现全国农药质量追溯“一张网”

2月12日,农业农村部办公厅发布关于印发《2020年农药管理工作要点》的通知,其中提到,利用区块链等现代信息技术,加快构建全国统一的质量追溯系统,逐步实现全国农药质量追溯“一张网”。完善标签管理办法,推行农药内外包装二维码关联,逐步实现农药生产、经营、使用全链条可追溯。

农业农村部:运用区块链等技术推动传统监管向线上智慧监管转变

2月13日,农业农村部制定并印发了《2020年农产品质量安全工作要点》,《要点》提到,2020年要大力推动智慧监管,谋划建设智慧农安平台,运用大数据、物联网、区块链等现代信息技术推动监管方式创新,推动传统“人盯人”监管向线上智慧监管转变。

农村农业部印发2020年乡村产业工作要点,强调促进区块链等新一代信息技术与农业融合

2月17日,农业农村部办公厅印发《2020年乡村产业工作要点》指出,以信息技术带动业态融合,促进互联网、物联网、区块链、人工智能、5G、生物技术等新一代信息技术与农业融合,发展数字农业、智慧农业、信任农业、认养农业、可视农业等业态。

上海市发布智慧城市建设意见,内容含支持区块链数据溯源

2月10日,上海市发布《关于进一步加快智慧城市建设的若干意见》。《意见》要求,全面赋能数字经济蓬勃发展,在智慧政府建设中先试先用,支持区块链数据溯源、V2X智能网联等新技术率先规模化落地。

上海出台支持文化企业防疫“20条”,鼓励企业利用区块链等新科技

近日,上海市委宣传部出台了《全力支持服务本市文化企业疫情防控平稳健康发展的若干政策措施》(简称上海文化企业“20条”)。其中一项指出,要深化文化科技融合发展。鼓励文化企业充分利用互联网、物联网、大数据、云计算、人工智能、区块链、移动通信等新科技,培育壮大电子竞技、数字动漫、在线旅游、智慧传媒、数字文博等新业态,支持一批高成长创新型中小文化企业。

简评:

自区块链被写入中央一号文件之后,农业农村部在一周时间里陆续下发的三份文件中均提及区块链,区块链在农业领域的应用迎来高光时刻。2月11日,一篇《大疫如大考,投资上万亿的智慧城市“智”力及格吗?》将智慧城市推至风口浪尖,此次上海市政府以防疫为契机,全面提升智慧城市建设,若形成示范效应,其他地区城市会很快跟进,而智慧城市恰是区块链的用武之地。


 

产业研究:区块链深蹲之后必将迎来大反弹


 

孟岩:疫情带来的暂停,会让区块链与数字经济迎来更大反弹

数字资产研究院副院长孟岩日前表示,疫情对于区块链产业短期注意力偏移、产业区块链需求萎缩、投资停顿影响较大。但从长期来看,深蹲后必迎来重大反弹,大笔资金进来后会有新的战场。政策上,无论对于通证经济还是数字资产,强监管政策一定会发生变化。

朱幼平:区块链救助虽然迟到但绝不会缺席

2月12日,国家信息中心中经网管理中心副主任朱幼平在微信朋友圈发文表示,区块链救助虽然迟到但绝不会缺席。他指出,面对新冠疫情防控,区块链确实是迟到了,原因是区块链还没有发展成为基础设施,还没有大规模应用。但是疫情过后,区块链不会缺席。区块链的信任机制、激励机制、组织机制,是真正意义的公共救助模式。如果区块链能帮上忙的话,疫情防控能够抢回很多宝贵时间,疫情防控中出现的信息不畅、协作低效等问题也将大大缓解。他认为,2019年新冠疫情后,区块链商务必然崛起,将成为21世纪第三个十年的主流业务模式。

华创证券:区块链在新型智慧城市诸多领域具有较大潜力

近日,华创证券指出,作为新兴技术,区块链在新型智慧城市诸多领域具有较大潜力。在基础设施方面,运用区块链技术可探索实现信息基础设备间数据信息的高效交换,提升信息基础设施协同能力。在数据资源方面,借助区块链自身数据不可篡改、可溯源等特性,有望打破原有数据流通共享壁垒,提供高质量数据共享保障。在政府的支持和企业努力下,我国智慧城市建设已取得阶段性进展。2月10日消息,上海市发布《关于进一步加快智慧城市建设的若干意见》,意见支持区块链数据溯源。

国家发改委涂圣伟:加快区块链等现代技术在农业领域的应用增强现代农业设施建设

国家发展改革委产业经济与技术经济研究所副主任涂圣伟表示,粮食生产功能区和重要农产品生产保护区建设是筑牢重要农产品有效供给的“压舱石”。推进数字乡村试点建设,加快物联网、大数据、区块链、人工智能、第五代移动通信网络、智慧气象等现代信息技术在农业领域的应用。加强现代农业设施建设,增强农业综合生产能力。

简评:

此次疫情,是对政府部门以及各行各业的一次大考,此前被掩盖的一些弊病被充分暴露出来。经历这次大考,区块链的优势反而更明显了,比如在城市治理以及供应链管理方面,区块链具备的信息透明性、不可篡改等方面特性的应用需求会更迫切。区块链创业者们一定要活下去,迎接春天的到来。


 

产业应用:抗击疫情,区块链在行动


 

外汇局:跨境金融区块链服务平台累计融资159亿美元

2月15日,中国国家外汇管理局副局长宣昌能在记者会上披露,截至今年2月3日,试点范围已扩大至全国22个省区市,超过170家法人银行自主加入,跨境金融区块链服务平台累计完成融资放款159亿美元,服务企业近2500家,其中中小企业占比达75%。自春节以来,平台累计完成融资两亿多美元,服务企业87家。

海淀区“基于区块链的中小企业供应链金融服务平台”首笔贷款落地

2月11日,由海淀区政府牵头,北京市金融控股集团、百信银行等优质企业共同开发的“基于区块链的中小企业供应链金融服务平台”自2月7日正式上线之后首笔落地的贷款。此次通过平台成功申请线上贷款服务的企业是一家IT设备、软件技术服务商,为支援新冠肺炎疫情和保障学校远程教育等,公司订单量陡增,但资金存在一定缺口。为解决企业资金压力,该公司在平台上申请了政府采购合同确权,凭借确权证明从百信银行获得72万元贷款额度、44万元首笔贷款,整个流程线上操作,快速便捷解决了企业融资难题等问题。

浙商银行贵阳分行利用区块链技术,为疫情间的小微企业提供资金补给

为抗击新冠肺炎疫情,浙商银行贵阳分行迅速启动信贷“绿色通道”,梳理出存在困难的上游小企业37户,依托以该集团为核心的应收款链平台商圈,通过区块链应收款支付工程款、劳务费等,企业收到区块链应收款,即可在线实时转让给浙商银行获得流动资金。疫情管控期间,该行已有21户上游小微企业借此获得了2.2亿元资金补给。

光大银行郑州分行推出福费廷区块链交易平台等线上服务

在疫情防控期间,光大银行郑州分行推出十大线上金融服务,提供足不出户也可以享受的各种金融服务。其中包括光大银行贸易金融线上服务,如阳光融e链”在线供应链平台、福费廷区块链交易平台等,为客户提供国际信用证、国内信用证、保函、跨境汇款、托收、外汇资财、标准保理、1+N保理、国内信用证福费廷业务等贸易金融业务。

支付宝、阿里等联合发起企业安全复工计划,包括开放区块链招投标系统

2月15日,钉钉、支付宝、阿里云、饿了么口碑联合发起“企业安全复工计划”,将面向全国企业开放7项服务,从复工申请、员工健康管理、无接触办公、企业送餐等方面为企业提供帮助。其中包括无接触招投标,即支付宝开放针对招投标系统的区块链应用,让企业如期完成“无接触”招投标,安全开展经营活动。

河北省巨鹿县推出区块链疫情防控大数据管理平台

2月16日,河北省巨鹿县与新华网股份有限公司联合工作小组研发推出疫情防控大数据管理平台。数据上传到平台后全网同步、安全加密,极大提高了数据的获得效率和安全性,还使数据具有不可篡改性,增强数据的公信力。平台数据确权后,全程可追溯,为疫情防控提供可信数据化支撑,为政府精准施策提供决策辅助,为各部门的工作考评提供客观、全面的依据,事后还可由第三方机构用于各种分析。

青岛市即墨区:将搭建一条分布式实时在线采集区块链网络

近日,青岛市即墨区通过数字化信息管理平台统筹全区疫情防控数据,运用大数据、云计算和人工智能等技术手段对人员流动、社区和企业等防疫工作进行数字化管理,集信息登记、人员随访、求助举报等。下一步,青岛市即墨区将发挥自身在区块链技术应用方面的优势,搭建一条分布式实时在线采集区块链网络,在每个防疫部门形成一个独立节点,采集当地不同类别的数据,通过授权方式快速实现各节点间跨区域、跨行业数据验证和查询,保证收集信息的完整、实时、开放和透明。

惠州市惠城区智慧政务一体化商事登记秒批系统上线试运行,依托区块链等技术

2月10日,由航天信息股份有限公司承建的广东省惠州市惠城区智慧政务一体化商事登记秒批系统上线试运行。该系统依托航天信息的技术矩阵,运用大数据、AI和区块链等技术,实现了商事注册登记的“远程受理、一网通办、秒批办结”,最快5分钟即可完成企业开办注册的自助申报、无人受理、自动审批、自助制证,使惠城区成为区域第一个真正实现政务服务工商登记“极速秒批”的地区。

简评:

面对疫情,区块链在政务与融资服务这些切合民生的领域开始发力,有效解决了人员信息管理以及中小微企业融资难问题。作为区块链技术初创公司,此时要积极作为,加大服务政府部门的能力。


 

上市公司:花式运作遭证监会问询,谨防利用区块链等概念炒作股价情形


 

拟1亿元投资设立全资子公司,中装建设遭四项问询

2月14日,中小板公司管理部对中装建设拟投资设立全资子公司一事提出四项问询,涉及增资安讯集团有限公司、投资开展云计算和区块链业务、控股股东三个月增减持计划等事项。关于2月6日中装建设称拟对安讯集团有限公司增资5400万元以获得该公司30%的股权,用于延伸区块链项目的决定,中小板公司管理部要求中装建设补充披露安迅集团有限公司的经营情况、增资前后的股权结构和最近一年又一期的主要财务指标等。此外,中小板公司管理部还要求中装建设说明投资开展云计算和区块链业务是否具有相应的业务基础和可行性。公司控股股东、实际控制人、董监高及其一致行动人在本函发出之日前三个月股票交易情况及未来三个月增减持计划等。

易见股份实控人或变更为云南省国资委

2月13日,易见股份发布公告,云南省国资委旗下的云南工投及其子公司工投君阳拟受让滇中集团、九天控股所持有的公司股权。若此次转让成功,公司实际控制人将由云南滇中新区管理委员会,变更为云南省国资委。据悉,易见股份的旗舰产品是“易见区块–可信数据池”,该产品实现了跨链数据可追溯技术,实现贸易、融资多链协同和跨链溯源,形成可追溯的供应链金融解决方案,覆盖了供应链从贸易形成、融资到资产证券化的全过程。

建科院:公司利用区块链等技术为用户提高组织防疫工作效率

2月14日,建科院在互动平台回复用户提问表示,为应对企业复工疫情防控管理需求,公司及控股子公司建信筑和在伊OS平台上开发了“伊康健”小程序,可协助各企业、机构及项目的组织管理者实时、高效地掌握组织成员的健康状况、行程轨迹、异常隔离等情况,并通过物联网、CA、区块链等技术,为用户提供直观、可信的防疫数据管理,有效提高组织防疫工作效率。

超图软件:公司在电子证照业务中使用区块链技术

2月10日,超图软件在问董秘平台回答投资者提问时表示,目前公司有关区块链+不动产业务的主要方向是在电子证照业务中使用区块链技术,广西的大部分区域已经应用。

太极股份:正积极跟进北京升级的”区块链+不动产登记”项目

2月10日,太极股份在互动平台回答投资者提问时表示,关于北京升级的”区块链+不动产登记”项目我公司正积极跟进中。

海能达:全资子公司承接大量区块链矿机生产代工业务去年出货量增长超过一倍

2月13日,海能达在互动平台表示,公司的区块链业务主要为国内知名矿机企业客户提供矿机生产代工,包括部分研发设计和供应链整体服务,该业务受益于数字货币行业发展和比特币价格波动。公司的全资子公司深海和多家主流品牌矿机企业存在合作关系,承接了大量相关业务,去年出货量增长超过一倍。

简评:

目前,大部分上市公司的区块链营收几乎不对外披露,外人很难知道上市公司在区块链研发上的投入和产出。上市公司凭一纸公告蹭概念就引发股价波动的现象时有发生,尤其是2018年初,比特币达到历史高点,投资人空前高涨。不少上市公司披露区块链进展后遭到证监会问询甚至停牌核查。


往期回顾:产业区块链一周动态丨抗疫防疫,区块链虽然迟到但并未缺席

更多产业区块链服务:https://www.8btc.com/industry