Facebook即将推出的加密货币Libra币并不是运行在Facebook系统上,它将运行于Libra区块链。Libra将是一种稳定币,它的诸多属性,很大程度上会与Libra区块链的属性相关。
不同于一般的区块链系统,Libra既没有区块也没有链,那么它还能被认为是区块链吗?Libra从代码角度,改变了对数字资产和智能合约的设定,它为什么要这样去做?Libra路线图显示它将从联盟链转为公链,这是一件容易达成的事情吗?
带着这些疑问,我们请链闻特约撰稿人李画与分布式存储项目Genaro联合创始人、趣派科技首席技术官吴为龙进行了一个对谈。年轻的吴为龙是第一批区块链开发者和经验丰富的技术极客,实战经验涉及区块链虚拟机、P2P存储、共识算法等诸多底层技术。
这个对谈从三大焦点展开,包括了17个最值得关注的关于Libra的技术问题。了解Libra的技术特点和未来发展方向,可以从这里开始。
Q:李画,链闻特约撰稿人
A:吴为龙,分布式存储项目Genaro联合创始人、趣派科技首席技术官
焦点一:Libra是区块链吗?
问:Libra既没有区块也没有链,我们能称之为区块链项目吗?
吴为龙:Libra是一个分布式账本项目,广义上讲区块链技术也称为分布式账本技术,所以可以认为Libra是区块链项目。这个定义在德勤2016年的DLT报告中就已经被提出来了。
因ChainSwap跨链桥合约漏洞,Dora Factory损失少量跨链资产:官方消息,Dora Factory因跨链资产桥ChainSwap出现合约漏洞,锁定在ChainSwap跨链桥合约中的7872个DORA被黑客取出并已通过Uniswap卖出。目前,ChainSwap已经联系Dora Factory基金会,告知情况。Dora Factory将与ChainSwap协商,在未来数日内确定解决方案,并向社区公布。
Dora Factory锁定在跨链桥中的资产总量较小,本次受影响的代币价值约5万美元,相对于Dora Factory总市值,此部分代币总市值很小,且大多为基金会为跨链Defi提供流动性所用资产,因此对Dora Factory造成的实质影响可忽略不计,也将不影响Dora Factory的任何产品、运营和发展计划。
考虑到当前跨链技术还不成熟,跨链智能合约具有很高的不稳定性,Dora Factory将暂时撤回一切跨链流动性,以及所有非一线AMM中的Defi流动性。[2021/7/11 0:43:08]
问:Libra似乎是用Merkle树这一数据结构代替了链式数据结构?
吴为龙:Libra用Merkle维系着一个很大的树形结构数据库,Merkle树中包含的可以认为是单一区块中包含的状态和交易;链的部分在其中则是通过状态列表和事件列表来表达的。
观点:摆脱Facebook的糟糕声誉是Libra现在面临的最大问题:加密货币媒体CyprusMail发文称,在一系列丑闻之后,Facebook本身已不再那么具有吸引力。这也是目前困扰Libra的最大因素,比监管机构的反对或失去创始成员支持严重得多。Facebook自身的声誉最近进一步恶化,过去几周,Facebook因拒绝撤下煽动针对抗议者的暴力言论而受到尖锐批评。(CyprusMail)[2020/6/27]
相当于说Libra是将整体区块链拆成了三个共同维护的树,一个记录交易,一个记录状态,一个记录事件。如果非要用区块的概念,可以把Libra看作是有几个巨大的区块,一直在往区块里写入新的经过验证的数据。
这么做的带来的好处是在账本维护中,Libra不需要一直生成新的区块:有交易时做相应的数据库更改,没交易时就保持现状,甚至可以通过做Merkle树的剪枝来减少账户本地备份的数据量。
但也会带来问题,它会让节点收入少了最大的那一部分,也就是出块收益。在比特币和以太坊中,相较于交易费,出块收益是很大的一部分。至于这么做带来的其他的问题则需要看到实际的运行状况才能知道。
问:不再是链式结构后,还能保证区块链的难以篡改性和可验证性吗?
吴为龙:当然可以保证。难以篡改是通过共识来决定的,Libra使用的LibraBFT本质上也是拜占庭型共识,保证了相关的确定性。树型结构只是用来保证查找的。
动态 | Facebook发言人拒绝就特朗普的推文发表评论:据华尔街日报消息,Facebook发言人近日拒绝就特朗普的推文发表评论,发言人表示,在需要公开讨论的问题上,公司应与美联储主席立场一致,行动不能太快。Libra项目负责人David Marcus曾表示,该公司致力于“与监管机构、央行和立法者进行合作”。[2019/7/12]
也可以验证。历史数据包括相关的状态和事件都是在通过了相关的共识达成一致后,被详细地记录在账本上的,任何计算机只要同步了账本备份都可以进行验证,只需要在libra上直接下载即可。
问:Libra的这种数据结构适合于其他的公链项目吗?
吴为龙:不适合。最重要的原因是公链是需要激励节点的,出块收益是激励中重要的组成部分,而libra是没有出块收入的,只有大型机构才能做此类实验。
问:这一问题会制约Libra从联盟链转为公链吗,也就是说Libra的账本结构决定了它是没有出块收益的,而如果没有出块收益,怎么做PoS?
吴为龙:当然会制约。那这个问题就只能交给它未来的设计了。
问:Libra自定义为数据库,这种定义恰当吗?在我的理解中,数据库是一种不考虑拜占庭问题的系统。
吴为龙:Libra完全的就是数据库。
本地数据库是不需要考虑拜占庭问题的,但分布式数据库很早就开始解决这些问题了,比如RAFT就是保证分布式数据库强一致的,而RAFT就是简化版的拜占庭解决方案。Libra是通过LibraBFT共识来保障更好的分布式数据库系统。
动态 | Facebook寻求10亿美元风险投资的传言不实:近日有消息称Facebook的区块链项目打算寻求接近十亿美元的风险投资。然而,Facebook和任何知名的风险投资家都没有证实这则消息。根据最新的Facebook财务报告,在2018年第一季度,该公司的现金和现金等价物增加到440亿美元。这是两年前该公司现金储备为206亿美元时的两倍多。该公司的营业利润率从2017年同期的41%跃升至46%。[2019/4/10]
焦点二:Libra区块链技术的几处重要不同
问:Libra中很少提智能合约,与之相对应的概念似乎是「模块」,智能合约与模块有什么不同?
吴为龙:智能合约是单账户生成无复用,模块则可复用。这么做带来的好处就是可以通过设计模块来组成比较复杂的系统,这对以太坊智能合约功能基础的现状会有较大的改善。
也就是说,未来模块化的合约设计,通过调用合约可以很容易的将其中的资源合理地迁移,并且回调的时候也会减少漏洞的产生,从而可以设计出复杂的条件结算方式。
这么做带来的问题就是需要重新学习相关语言,从使用到上手的时间成本是很高的。
问:Libra似乎是把数字资产定义为「资源」,而在其他区块链系统中数字资产被定义为「value」。你怎么看Libra做的这种改变?
吴为龙:Libra中的资源更像是在比特币钱包中的钱,而模块就是将资源指定到某个特定的部分。
动态 | Factom或推出稳定币:据bitcoinexchangeguid报道,Factom团队表示很快将在市场上发布基于Factom的稳定币。此外,需要进行研究和测试以确定如何有效地将该技术商业化。该平台预计将在10月底的德克萨斯比特币会议期间对该概念进行初步演示。[2018/10/23]
做个比较也许更好理解:以太坊是使用专用函数来通过账户生成智能合约的,同样的账户,在nonce固定的情况下生成的是固定的合约地址;而在Libra里面,通过类似的专用函数可以将模块和资源进行绑定,而不用拘泥于单账户的合约生成。
这么做带来的好处是系统的灵活度更高。在Libra中也可以有开发者专门来做模块,类似于模块提供相关的function。
问:有观点认为「value」是可拷贝的,而「资源」满足线性逻辑,它所代表的数字资产不能被复制和凭空消失,因而可以减少记错账的情况。你怎么看这一问题?
答:Value是可以拷贝,但是拷贝的动作是需要你提出交易,也是需要通过共识确认的。资源是不能凭空消失,但定义为资源与否只是表示这个数字资产本身是所有人都有可能使用的,不是只属于某个特定的账户,它是被持有者放上来,然后在Libra的人都用模块来使用这些资源。
问:Libra注重安全,从技术白皮书看,它主要做了哪些工作来保证安全?
吴为龙:「记录每一次的状态,放进状态列表,同时将事件放进事件列表」。这种设计下,由于每次的状态都放进了状态列表,相关产生的事件放在事件列表,就保证了每次状态改变的原因和结果都是可追溯的。
「账本状态直接对具有实际价值的数字资产进行编码。事务执行必须确保在未经授权的情况下,不得复制、丢失或转让Libra币等资产」。这种设计下,账本状态在初始值进入的时候即是需要有价值的,内部不允许任何情况的无验证操作。
「事务只能生成事件,不能读取事件」。这种设计允许事务执行仅为当前状态的函数,而不是历史信息,也就是说时间生成后就是时间戳,攻击者无法通过回到过去的时间重新生成改变的事务,从而造成状态改变带来的资产损失。
「事务执行必须具有确定性和密封性」。这意味着事务执行的输出是完全可预测的,并且仅基于事务和当前账本状态中包含的信息,并不具有外部效应。将虚拟机维持在沙盒中,不通过外部信息来进行内部判断,好处就是维持一个稳定的可以验证的结果,防止一些外部状态影响。假设如果有网络交互牵扯进来,比如添加汇率这个因素,那么10分钟前程序员看到的汇率很有可能和验证的时候汇率不同,因此改变了结果。
总体而言,Libra通过上述状态列表、事务事件等的设计来防止黑客利用「状态」进行攻击。
问:Libra中的新语言Move的关键特点是能够定义「资源」类型,我们可以认为这是在说Move语言能够支持发币,也就是说Libra更大的野心是建立一个密码货币和数字资产的平台,而不仅仅是支持Libra币吗?
吴为龙:Move支持发币。应该说它的野心是做一个模块完备的结算平台,未来以支持Libra为主。由于资源会越用越少,所以在不同的模块下,应该会有不同的资源收费方式。
焦点三:Libra带来哪些疑问
问:Libra采用拜占庭容错共识,这是一种适用于联盟链的共识;但Libra计划以后转为PoS共识,你认为这种转换会有问题吗?
吴为龙:有问题。最大的问题就在于PoS是链式最终一致的共识,BFT是通过大量通信做的一致性共识,这两种共识对于节点的定位不同。
PoS节点主要是抵押出块,对机器要求一般,只需要签完名等待被随机就好;BFT节点需要一直保持通信来实现共识一致性,对网络带宽的需求会高,比如Libra的10秒确认。从BFT到PoS的转换,是需要设计PoS的时候做一些调整的。
另一个问题就是PoS本身有一些问题需要克服,比如说纯PoS的长距离攻击。但因为BFT共识侧重在如何通过Leader进行通信的步骤上,所以带来的和转换有关的问题就是,LibraBFT的经验或者工程改动如何迁移到PoS的设计上。
问:Libra现在是联盟链,计划以后转为公链,联盟链与公链不同的特点会给转换带来什么问题吗?
吴为龙:联盟链的节点需要拥有多级的许可,本地可以直接跑Docker,不用担心分布式资源的问题;公链的准入门槛就是只要能按照出块的共识来做就可以,分布式资源有限,需要设计对应的虚拟机。
但Libra的节点权利并不是多层级的,所以Libra未来的转换还是一个以共识变化为主的改动。
问:转为PoS时,会不会存在新的验证者需要被原先的验证者批准才能进入的情况,从而无法实现「无需许可的区块链」的愿景?
吴为龙:那要看Libra如何设计了。它可以设计成需要原先的验证者批准才能进入,也可以设计为用随机的方式挑选候选者。
问:Libra提到许多支付事务将在链下进行,你认为这种链下交易是用户主动选择还是默认状态?这会不会带来中心化以及安全问题?
吴为龙:这个链下应该是用户主动选择,就与即便闪电网络存在,还是会有很多人使用比特币转账或者通过交易所交易一样。说不定会有lightningnetwork版本的Libra,毕竟Libra需要10秒才能确认。
中心化问题一直存在,安全问题完全取决于使用者是否信任这个第三方。
问:全节点的数量对于公链有重要的意义,但在Libra中,全节点是否还有重要意义?
吴为龙:全节点在这里只是一个账本备份。
问:Libra中私钥在用户手中吗?
吴为龙:LIbra的私钥在用户手中。Libra是用户先在本地生成公私钥,再通过Libra提供的一个创建账户的事务,并在完成链上的共识后,在Libra中生成相关的账号。在逻辑上,LIbra是可以做到隐私的,但这是每一个用户都会生成自己的公私钥的情况下。如果有一个第三方「方便」的工具帮你生成这个账号,那么数据就会在他人手里。
以上即是关于Libra区块链的问题与回答,希望能帮助你更加了解Libra区块链,进而更懂得Libra币。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。