forked from XChainLab/documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
126 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
# libra的支付分析 | ||
|
||
## 一、背景 | ||
#### 1、libra的介绍 | ||
libra是fackbook公司新推出的一种加密货币(支付系统),它架构在了区块链(或者说类似区块链)系统上。它的主要目的是实现全球支付结算,实现全球无障碍支付,特别是对广大的没有银行帐户的人们,它提供了一个巨大的契机。 | ||
</br> | ||
libra是以抵押一篮子货币(或者相关资产)来获得资源(在libra中不叫价值叫资源)。因此网上很多的专业人士认为其并不是严格意义上的数字货币,而只是一个支付系统或者说一种支付的手段。 | ||
</br> | ||
libra的帐户管理是中心化的,但帐户生成的相关密钥是分布式生成的。通过基金会的形式进行治理,采用100个认证节点来做为伪中心节点。因此,libra和EOS在这方面本质上没有区别。 | ||
|
||
#### 2、同其它(微信和支付宝等)的不同 | ||
微信和支付宝做为一种支付手段和结算系统,是直接使用国家货币,但是无法进行跨国支付(严格的说是很难进行跨国支付)。无法对银行和大型金融机构进行清算。即使在某一些国家引入了其它的金融机构,汇率和跨国银行间的交易仍然使用的是原有的金融结算系统。资金成本和时间成本的问题仍然没有解决。 | ||
</br> | ||
从技术角度来看,二者的帐户管理都采用了中心化的管理机制,但底层的技术支持,微信和支付宝仍然采用的传统的银行的管理手段,即中心化技术支持方式。换句话说,如果支付宝公司有一天关机,那么整个交易系统会停止。但是libra采用的区块链系统,可以认为只要100个节点中有相当一部分运行,那么,整个系统就会正常运行。 | ||
</br> | ||
libra可以通过MOVE语言进行资产的定义(可以理解成类似于ERC2.0),但微信和支付宝则不可以重新定义资产。libra可以锚定很多货币,但是目前看微信和支付宝只能锚定本国货币。 | ||
</br> | ||
同样,我们也注意到了不久前JP摩根的coin,相对于它来说,libra更类似于真正意义上的法币。而摩根币则只是内部结算的一种手段。 | ||
</br> | ||
当然,做为一种加密货币,它们都具有可以进行支付,方便进行存入和提取的功能。相对于微信等,libra使用了分布式的钱包,所以其的应用的体验在短时间内可能不如前者更好。 | ||
</br> | ||
由此,基于现行的资料可以推断libra更倾向于实现一个权利受到限制或者监管的类似于全球央行的一个系统。这个必然会引起各国货币管理者的警惕。从经济学的角度来看,如果libra实现了这个愿景,那么各国通过货币手段来调节经济周期的方式将减弱甚至失效。因此,libra实现其愿景的难度是相当之大。 | ||
## 二、支付的基础和问题 | ||
#### 1、创建了MOVE语言 | ||
通过MOVE语言可以实现资产的安全管理。 | ||
#### 2、金融机构的合作 | ||
银行等金融机构为什么愿意同FACEBOOK合作,主要是其全球高达二十多亿的海量用户,其衍生出来的相关金融收入将是一个天文数字。 | ||
#### 3、KYC身份验证 | ||
之所以把libra看作一个拥抱监管的区块链的一个主要原因就在于此,KYC身份验证即通过政府签发的身份证明进行注册帐户,这样就无可避免的和当前区块链的思想碰撞。无法天然对隐私进行保护。 | ||
#### 4、使用BFT共识 | ||
这是一种减低共识消耗的一种新的BFT算法,其论文的第一作者为中国的尹茂帆同学。 | ||
#### 5、基金会和治理 | ||
区块链的治理和激励是主要的一个问题,一般来说,传统的区块链都是链上治理,但在libra上,采用的链下治理,即通过基金会管理,对理事会的创始成员(即认证节点)的投票(一节点一票)结果负责。同时,它还有不少于5名但不多于19名的协会董事会,用来监督理事会。并且还由非营利机构和学术机构组成5~7名的社会影响力咨询委员会。 | ||
#### 6、和美元的关系 | ||
从长远角度考虑,如果不搀杂政治等其它外因,对美元必定是弱化的,但是从中短期和政治原因考虑,反而是促进美元的霸权地位的。 | ||
#### 7、面临外在的问题 | ||
支付的安全性:黑客对这种便捷的支付手段,一定会非常感兴趣。 | ||
</br> | ||
全球的金融监管的不确定性:对主权货币的冲击必然会引起各国政府的严厉管控。 | ||
</br> | ||
资金抵押的安全性:抵押的各种资产,会不会因为长期抵押因各种原因产生灭失、转移和贬值等。 | ||
</br> | ||
金融风险:最典型的就是经济危机和各种金融犯罪,诸如洗钱等。 | ||
#### 8、面临的内在问题 | ||
其内在的主要问题包含以下几个方面:治理的具体动作流程;国际支付的便捷性和费用;是否对开发者开放:是否满足国际支付的交易量等等。 | ||
|
||
## 三、目前的交易 | ||
当前开往的实验网络交易基本步骤如下: | ||
</br> | ||
1、注册帐户。 | ||
</br> | ||
2、转帐,帐号会和一个序列号进行绑定,每转出一次资金,这个序号加一,目的是为了解决分布式的状态的顺序问题,这个在分布式的系统里基本都是有这种方法的。查看自己的帐户信息时,可以用 命令+序号(或地址)来查看。 | ||
</br> | ||
3、交易过程不产生交易ID而是生成一个二元组或者说交易ID是一个二元组,包含<转账人地址,序列号>, | ||
</br> | ||
3、确认交易,完成。 | ||
</br> | ||
4、根据目前的实现状况,初步估计其交易TPS在1000左右。 | ||
## 四、和目前区块链的不同 | ||
1、libra的区块是一个逻辑概念,并不是真正存在。,它只是一组签名状态,所以实际上并不存在传统区块链的链的概念。 | ||
</br> | ||
2、其数据有点类似于以太坊的三个树,有记录交易,有记录状态,有记录事件。其实就是不多的几个巨大的区块或者说数据库,不断的向其中写入状态和验证的数据。 | ||
</br> | ||
3、因为没有实际的区块,也就没有挖矿收入,挖矿只是虚拟意义上的挖矿。所以如何进行生态的的建设与现有区块链有所不同。 | ||
</br> | ||
4、防篡改使用BFT技术,类似于现在的分布式的数据库的技术。但并不是传统的BFT需要耗费大量的时间和网络带宽。 | ||
</br> | ||
5、在路线图中,是有从联盟到公链的演进,这个有待观察。技术上有不少的难度 。 | ||
</br> | ||
6、libra是需要抵押资金的,所以其的合约中称之为资源(线性逻辑的类型)而不是Value。所以其加密货币不是传统区块链挖矿而来的。 | ||
</br> | ||
|
||
## 五、安全实现 | ||
#### 1、MOVE语言的安全性 | ||
a)First-class assets(一等公民检测): | ||
</br> | ||
一等公民这个概念是函数式编程语言中的概念,其基本语义如下: | ||
</br> | ||
First Class:允许成为函数的参数和返回值,允许赋值给变量。 | ||
</br> | ||
Second Class:只允许作为函数的参数。 | ||
</br> | ||
Third Class:连成为函数参数都不允许。 | ||
</br> | ||
b)字节的可验证性(Verifiability): | ||
</br> | ||
这个当然无法解决全部的字节验证性,那个的性能损失太大了,但是在关键的部位或者关键的阶段进行字节检查是一个最优的选择。主要步骤包括: | ||
控制流图构建;栈高度检查;类型检查;资源检查;引用检查;全局状态链接。 | ||
举一个简单的例子,如果想把一个币移动到另外一个帐户,程序员不小心把move写成了copy,而资源coin是不允许拷贝的,那么字节码检测时就会发现这个问题,并进行保护。同时,资源型仅允许move一次。 | ||
</br> | ||
c)扩展了Module | ||
</br> | ||
在MOVE语言中对module这个传统的概念进行了扩展,包含: | ||
</br> | ||
Transaction Script:一组顺序执行的不保存的一次性的的语句。 | ||
</br> | ||
Module:资产相关的操作方法的集合。 | ||
</br> | ||
d)形式化验证: | ||
</br> | ||
正在开发中,这个得看最后的结果。 | ||
</br> | ||
e)放弃了一些对安全有影响的功能 | ||
</br> | ||
比如Dynamic Dispatch,循环递归依赖,Limited mutability等。 | ||
</br> | ||
f)回归传统的静态语言。 | ||
|
||
#### 2、 HotStuff 算法 | ||
经典 BFT 共识由于通信的复杂度,一般容易有限制。而HotStuff的算法框架是树/链结构,这个有点类似于区块链。它通过最近一次成功获得大部分投票的块决定,但HotStuff 仍然处于BFT的范畴。HotStuff 的核心换届算法统一了传统的正常和特殊两种流程。即没有显式的换届特殊处理,也可以认为是潜在地处处换届。这导致的结果是一个HotStuff的算法实现只需要几十到上百行代码。同时,算法本身对工程师是友好的,实现了从提高性能和保证正确性在算法层面的解耦。HotStuff的选举过程消耗的时间降低到了线性时间。也就是说,它将BFT的共识算法提高到了可以在商业系统上广泛应用的可能。 | ||
|
||
## 六、影响 | ||
1、首先是对稳定币USDT等的冲击。 | ||
</br> | ||
2、对弱小国家的主权货币的冲击。 | ||
</br> | ||
3、有可能与美元结合形成数字货币领域内的美元霸权。 | ||
</br> | ||
4、对POS系统的冲击。 | ||
</br> | ||
5、对国际清算系统和跨境支付的深远影响。 | ||
</br> | ||
6、与区块链数字货币(比特币等)的去监管相悖的冲击。 | ||
|
||
## 七、总结 | ||
libra的出现,至少在目前的情况下,对区块链行业起到了一个提振信心的巨大作用。其与传统的区块链既有融合又有独自的特点。在设计上,对政府组织进行了适当的妥协,在技术上,又创建了新的BFT和MOVE语言。从目前来看,应该不失于一个加密货币推向真正应用的良好的折衷解决方案。 |