作者|SecondState
Libra火了,火得一塌糊涂。
一个原因是其被争相讨论的「建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施」光荣使命。朋友圈刷屏、社群刷屏,线上线下专家PK、xx论剑,支持、质疑、反对,「Libra太牛了」、「Libra被吹得太牛了」。
另一个原因,伴随其出生的Move语言也是一大亮点。不管Libra的「光荣使命」是否可以实现,但在另一阵地,在GitHubTrending榜单上,基于Rust语言搭建却又发布Move语言的Libra确实是实实在在地火了,不知不觉就冲上了GitHub日活第2名......
图片来源:https://github.com/trending?since=daily
那么问题来了,你认为Libra最大的亮点是什么?
可以说,Libra也许是目前为止本年度区块链领域最受期待、最多讨论的新闻了。
根据Libra白皮书描述的「建立去中心化的全球货币」的目标,该项目有着非常野心勃勃的加密经济学设计管理规则,同时其联盟中的合作伙伴也非常重磅。
包括VISA、ebay和Coinbase在内的29个首批合作伙伴
香港区块链协会共同主席方宏进:港府不应该发行港元稳定币:金色财经报道,香港区块链协会共同主席方宏进近日对于港元稳定币表达了不同的看法,其撰文表示,并不认同港府以外汇储备为抵押发行港元稳定币的建议。其认为,如果香港政府计划发行数字港币,为什么还要以其外汇储备为抵押物发行港币稳定币呢?香港特区政府是法币港币的发行主体,港币纸币和数字港币是同一性的,只是载体形式不同。让香港政府用自己发行的法币作为抵押物,再去发行一款衍生替代品,逻辑上是说不通的,实际操作中也一定会造成混乱:用户手中既有数字港币又有港府港币稳定币,应该装在一个数字钱包中吗?可以自由转换吗?在哪个场景应该使用哪一种?如果二者可以通用,为什么还要发两种呢?
方宏进表示,个人认为发行港元稳定币是有意义的,只是不应该由香港政府发行,而是由私营机构在香港政府的监管下合规发行。他还认为,认为,无法接受美国合规监管的加密项目跑到香港来,大概率也不会通过香港现有以及即将陆续出台的金融监管法规。[2023/7/7 22:24:10]
Libra区块链是一个去中心化的可编程的数据库,其被设计成用于支持一个波动性低的加密货币,它能作为有效的交换媒介服务世界上几十亿人。
——Libra白皮书
CertiK:谨防Twitter上宣传的Finale空投网站:金色财经消息,据CertiK官方推特发布消息,谨防Twitter上宣传的Finale空投网站,并勿与finale.website钓鱼网站互动,该网站目前连接了一个已知的wallet drainer。[2023/6/15 21:40:10]
但作为技术人员,我们对于其运用区块链技术的方式最感兴趣。
为什么Libra项目要求有自己的一条区块链呢?对于应用程序开发者来说机会在哪里?对于企业以及传统的IT公司而言,从中可以得到哪些推断?我们将分三篇文章来讨论这几个问题。
1、Libra应用程序开发方法;
2、深度解析Libra项目的核心应用;
3、如何基于Libra开发一款应用程序?
本文为系列文章第一部分,一起来看吧。
智能合约先行
Libra项目中最引人瞩目的设计功能之一,就是其智能合约先行的策略。就算是像以太坊这样的智能合约平台,智能合约的执行仅仅是一种交易的类型。以太坊原生操作仍然是币的交易。而Libra不同。智能合约是Libra上的一等公民。
区块链协会主席Kristin Smith在哥斯达黎加被捕,寻求美大使馆帮助后被释放:金色财经报道,区块链协会(Blockchain Association)主席Kristin Smith本周在哥斯达黎加利比里亚的一个豪华度假村度假时被捕,随后在社交媒体上寻求美国驻哥斯达黎加大使Cynthia Telles帮助,在拘留中心住了一晚后被释放(据悉或因其护照缺少入境签章),区块链协会发言人之后证实Kristin Smith已返还美国,在等待飞往美国的航班期间一直在哥斯达黎加移民官员的监督下。(qcostarica)[2023/4/16 14:06:56]
通过LibraCore内部组件写智能合约的流程
Libra区块链本身是用Rust编写的,但是Libra上的应用程序是使用新的编程语言Move来编写。所有来自外部的区块链互动都由Move程序来处理,在Libra上,即便是一个币的转账,也是由Move程序来处理的。每一个Libra节点都会运行一个虚拟机。虚拟机执行程序,并且记录共识达成后的结果。笔者认为智能合约先行的方式能够让Libra项目建立起一个功能多样的基础设施,这也能适用于未来的需要。
为什么使用Move编程语言
TradingView整合Volmex Finance的比特币和以太坊波动率图表:金色财经报道,加密衍生品协议Volmex Finance的比特币和以太坊波动率图表现已在技术分析平台TradingView上提供。Volmex Labs创始人兼首席执行官Cole Kennelly表示,这些图表于周五上线,每月使用TradingView的5000万交易员和投资者现在可以访问Volmex隐含波动率指数、BVIV指数和EVIV指数。[2023/3/18 13:11:22]
那么,为什么我们需要一种新的编程语言?是因为安全和性能的要求。Libra要建造一条新的链,因为目前市场上的区块链解决方案没有办法满足其对性能和安全的要求。
Facebook和Libra想要建立专注于支付和资产数字化的区块链,因此他们创造了Move编程语言,内置了对不可更改且不可复制的资产的支持。Move编程语言是一个用于数字资产管理的DSL。
比特币在加密方面成就非凡,能够在数字世界创建无法复制的东西,有着非常巨大的价值。
——艾里克斯米特,谷歌主席
Move编程语言的名字来自于Move本身支持的基础操作器。Move操作器负责移动资产。Move消除了原本常见的两步操作:减掉前面一个账户的余额,然后加到另外一个账户。Move语言将资产与资源放在一等公民的地位。当然,Move语言也有其他重要的特性,使其在资产管理方面更加安全,更加健壮。
Gala Games 将在本季度实施 Pay-by-Burn 计划,平台上用 GALA 购买时会自动销毁该部分 GALA:1月13日消息,Gala Games 区块链总裁 Jason Brink 在 Discord 中分享平台范围内 Pay-by-Burn 计划,2023 年第一季度当在 Gala 上有一个购买活动时,用于此次购买的 GALA 将被销毁。
Gala Games 表示,用户仍然可以通过 ETH 或者信用卡进行购买,不过所有用于购买数字资产的 GALA 都将被销毁。这项更改还需要几天的时间才能完全实施,下周结束时,在 Gala 平台范围内的任何购买都将自动销毁。GALA 销毁后,会有一笔相同数量的代币添加到释放池中,以通过常态分布中的 Founders Nodes 重新分配。[2023/1/13 11:09:59]
1publicdeposit(payee:address,to_deposit:Coin){2letto_deposit_value:u64=Unpack(move(to_deposit));3letcoin_ref:&mutCoin=BorrowGlobal(move(payee));4letcoin_value_ref:&mutu64=&mutmove(coin_ref).value;5letcoin_value:u64=*move(coin_value_ref);6*move(coin_value_ref)=move(coin_value)move(to_deposit_value);7}
Move操作器,存款代码
1publicwithdraw_from_sender(amount:u64):Coin{2lettransaction_sender_address:address=GetTxnSenderAddress();3letcoin_ref:&mutCoin=BorrowGlobal(move(transaction_sender_address));4letcoin_value_ref:&mutu64=&mutmove(coin_ref).value;5letcoin_value:u64=*move(coin_value_ref);6RejectUnless(copy(coin_value)>=copy(amount));7*move(coin_value_ref)=move(coin_value)-copy(amount);8letnew_coin:Coin=Pack(move(amount));9returnmove(new_coin);10}
Move操作器,取款代码
Move编程语言是静态的,并且由编译器工具来发现错误和潜在的问题。
Move源代码被编译为由虚拟机执行的静态的IR(intermediaterepresentation)代码。IR代码由工具进行检查并验证是否正确。
1publicmain(payee:address,amount:u64){2letcoin:0x0.Currency.Coin=0x0.Currency.withdraw_from_sender(copy(amount));30x0.Currency.deposit(copy(payee),move(coin));4}
实际上,目前的Libra资料仅仅有MoveIR代码的案例。Move源代码的细节,在撰写本文时还未公布。
Move编程语言和虚拟机是Libra项目的关键创新之处,但是Move编程语言与传统的Solidity和Vyper智能合约语言,以及EVM和WebAssembly区块链虚拟机相比,所做出的妥协有哪些呢?
牺牲图灵完备性
大多数DSL特定语言系统都会就具体的任务进行优化,因此并不适用于广泛意义上的计算。Libra并未直接表示Move编程语言是不是一个图灵完备的体系,但是,Move专门针对金融交易进行优化,Move系统可能并不适合用在开发加密货币游戏或。
也就是说,Libra软件对于大多数企业智能合约用例来说并不合适。但还有其他的方面,Move编程语言在很大程度上不是智能合约。
Move程序不是智能合约
Move程序必须进行编译,并且集成到一个Libra节点软件当中,对普通用户来说才是可用的。Libra区块链如果要支持新的Move程序,必须要暂停整条链,并且所有三分之二的验证人节点进行软件升级,才能够支持同样的Move程序,这在本质上意味着,每次要添加新的Move程序到区块链,都要进行硬分叉,期间伴随着区块链服务暂停。这不是智能合约,而是chaincode。
智能合约的一个决定性的特点就是它有能力按照要求在区块链在并不需要暂停服务的情况下,通过共识,部署并且执行新代码,这对于企业区块链或者是公链来说非常重要。
公链必须允许任何人在不需要得到授权也不需要暂停服务的情况下部署并执行智能合约代码;
企业级的区块链特别需要使用智能合约来创造自动化的商务决策。比如在不同几方之间,进行担保交易。雇员与合伙人必须能够按照实际需要来修改和部署智能合约,同时不需要暂停整条链。
Libra项目作为一个专注于金融交易的准入式区块链,它的最初的方案,是使用不可更改的chaincode。这样能够让整个系统更加安全,而且更加稳定,因为所有的Move程序都会至少要得到100个验证人节点中的67位的检查和允许。但是Libra项目所声称的目标是在接下来五年当中,进化成一条公链。我们相信Move架构会与区块链共同进化。
写在最后
在本篇文章中,我们聚焦讨论了Move编程语言以及由其驱动的智能合约。当然,Libra还有其它很有意思的技术创新。比如以下值得关注的点:
以太坊每个节点都维护了一个全球性的数据库,在每个区块更新之后,数据库也会跟着更新;而Libra与以太坊不同,Libra的数据库是基于不同版本的,Libra的状态数据库在每个交易完成后得到更新。对Libra来说,相较交易的概念而言,区块的概念没有那么重要。
Libra区块链最初的性能目标是每秒1000笔交易。很显然,这对于一个全球性的支付企业或者全球性的电商场景而言,已经足够了,因为VISA平均TPS也仅仅在1700左右。Libra没有不切实际、不负责任地吹嘘百万TPS。
在接下来的两篇文章中,我们将提供对Move程序的深度解读,并向读者展示Move语言具体是如何工作的。敬请期待。
FunTwitter每日最新大咖观点,看我就够了!2019/06/24期本期作者:三月既望01你心中以太坊上最好的三个应用是哪些?以太坊创始人V神发推询问:你心目中.
1900/1/1 0:00:00亲爱的用户:Binance即将上线新的Launchpad项目-Elrond,并开启BNB专场!此次将基于摇号抽签模式,BNB持仓快照将从2019年06月22日上午08:00开始计算.
1900/1/1 0:00:00进入2019年,数字货币市场表现良好,主流币种都出现了持续回暖的迹象。6月17日,比特币站上9000美元大关,并一举创下13个月以来的新高.
1900/1/1 0:00:006月18日,Facebook发布加密货币项目Libra白皮书,再次引发了业内对加密数字货币的讨论。Libra的目标是建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施.
1900/1/1 0:00:00Gate.io的理财和借贷市场是一个用户对用户的借贷平台,平台不参与任何借贷和放贷。市场出现大幅波动的时候,就会出现因为市场借贷需求增长同时提供理财借出的资金不足而造成的市场无币可借的问题.
1900/1/1 0:00:00今天各大媒体头条都是“比特币涨上一万美金了”,当然,在媒体头条推送到你的手机屏幕之前,相信你已经被朋友圈亢奋的持币者们刷屏了.
1900/1/1 0:00:00