月亮链 月亮链
Ctrl+D收藏月亮链
首页 > KuCoin > 正文

MOVE:Move语言:我眼中的 Libra 最大亮点_数字资产

作者:

时间:1900/1/1 0:00:00

Facebook发起的加密数字货币项目Libra6月18日正式公开亮相。Libra同步发布了多语言官网和白皮书,定位为面向数十亿人的全球货币和金融服务基础设施。Libra还发布了多个技术白皮书,详细介绍了其新开发的编程语言Move和共识协议LibraBFT。Libra源码已在GitHub开源,测试网络也已上线。目前设计为许可链,其声称当前非许可链不存在成熟的解决方案能够支撑数十亿人的使用需求,并表明将在发布五年内开始转向非许可链的过渡工作。

Libra的一系列发布中,新的编程语言Move尤为吸人眼球。第一时间看了Move的白皮书,嗯,这也许才是未来智能合约语言该有的样子。

一位来自柏林的开发者LefterisKarapetsas在社交平台上提出了自己的观点:

Theirdesigngoalsseemtooverlap,orevenaimtoreplaceEthereum?

他们的设计目标似乎有些重叠,或者甚至旨在代替以太坊?

PuzzleToLife.com的创始人CryptoPuzzleDream认为:

Ithink"move"programminglanguagereleasedby$FBcouldbemoreinterestingthanlibra

MoveFlow将接入多重签名钱包解决方案提供商MSafe的Dapp生态:5月4日消息,加密资产流支付协议MoveFlow与多重签名钱包解决方案提供商MSafe达成合作,MoveFlow流支付产品将接入MSafe的Dapp生态,为使用MSafe多签钱包的客户提供支付解决方案。

同时,MSafe的用户可以在多签的环境下使用MoveFlow流支付产品,合作将增加双方产品应用和链上资金流动性。据了解,MoveFlow 曾入围 Zonff Partners 旗下加速器 Aceleap。[2023/5/4 14:42:13]

我认为FB发布的“move”语言比libra更有趣。

JamesClark是一名标准极客,他说:

I'musuallyprettyskepticalofanythingrelatedtocryptocurrency,buthere'sonepieceofLibrathatlookspotentiallyinteresting:abytecodeprogramminglanguagecalledMovewithsemanticsinspiredbylinearlogic.

我通常对与加密货币相关的任何东西都表示怀疑,但是Libra中有一部分看起来相当有趣:一个被称为Move的字节码编程语言,其语义受线性逻辑的启发。

ATOM 2.0白皮书将在Cosmoverse期间公布:9月26日消息,ATOM 2.0白皮书将于今天9月26日在哥伦比亚麦德林Cosmoverse的第一天发布。据Cosmos生态系统中的内容创建者Cryptocito预测,ATOM 2.0将解决代币经济学、费用燃烧和通货膨胀问题。

据Cosmoverse官方推特账户证实,活动期间的三场会谈将涵盖白皮书、愿景、代币经济学以及对区块链的未来影响。[2022/9/26 22:30:58]

而我脑子里闪过是这样一句话:

Move是为「数字资产」而生的智能合约平台型语言。

Move语言的三大用处

发行数字货币,Token,和数字资产

灵活处理区块链交易

验证器管理

自底向上的静态类型系统

Move采用的是静态类型系统,类型系统本质上是一种逻辑约束。相比以太坊的智能合约语言来说要严格地多。现代的编程语言比如Rust,Golang,Typescript,Haskell,Scala,OCaml都不约而同采用了静态类型系统,他们的优点是,很多编程低级错误都可以在编译的时候发现,而不是拖到运行期才爆出bug。

Well-typedprogramsnevergetstuck.

跨链通信协议Movr Network宣布更名为Socket:据官方消息,跨链通信协议Movr Network宣布更名为Socket,目标是通过连接所有链并实现它们之间的无缝资产和数据传输来统一多链生态系统。

据介绍,Socket使开发者能够跨链构建具有共享流动性和状态的统一应用。它充当一个元层,通过单一集成为协议提供跨链的无缝连接。[2022/2/3 9:29:35]

这是程序语言领域的一句黑话:一个类型无误的代码永远不会跑飞。意思是,如果一段合约代码经过了类型检查,那么可靠性会相当高。

Move也没有设计成一个100%静态类型检查的语言,那样会降低实用性。Move提到了尽量让类型检查在编译的时刻进行,而不是等部署到链上之后。当然有些类型检查不得不放到运行期,但是仍然可以保证类型安全。

Move有个非常好的设计思路是,从虚拟机开始就是静态类型化的,然后往上是一个中间语言层,IR,也是类型化的。将来,Move上层将会提供更多的面向各种金融应用的高级语言,那些语言自然也是静态类型,保证智能合约不再会发生非常低级的错误。

First-classResources理念

First-classResources这个词相当的学术,中文翻译过来叫资源是一等公民,这究竟什么意思呢?

哥伦比亚金融科技公司Movii完成1500万美元B轮融资:金色财经报道,哥伦比亚金融科技公司 Movii 周三宣布在 B 轮融资中筹集了 1500 万美元,用于创建比特币购买服务并扩展其他服务。该轮融资由支付服务公司 Square 和 Hard Yaka 共同牵头,后者是一家由前 Ripple 首席风险官 Greg Kidd 创立的投资基金。Movii 在一份声明中表示,与新投资者的合作将使 Movii 能够“加速其现有服务的增长并推出新服务”,并计划在今年年底前进行 C 轮融资。\u2028自 7 月以来,Movii 与 Panda 和 Bitpoint 两家交易所参与了哥伦比亚政府资助的试点计划,该计划允许金融机构提供进出加密货币交易所的存款和取款服务。(CoinDesk)[2021/10/8 20:12:25]

所谓的编程语言的一等公民就是编程语言在编程的时候首要考虑的被编程对象。

那么资源,Resources又是什么呢?这也是一个很学术的名字。Resources是和Value相对应的概念。Value是可以随意拷贝的,而Resources只能被消耗,不能被拷贝。Resources就像可乐,你喝了一瓶就少了一瓶,而Value,就好比写在本子上的英文单词,每天早上都可以念一遍,念完他不会消失,如果你记住了,那就在脑子里拷贝了一份。不仅你可以念,我也可以念,你可以背,我也可以背。

掌柜调查署 | bloXmove CTO:去中心化网络可用于实现电力网和电动汽车之间的平衡:在今日举行的《掌柜调查署 | 呼吁出行巨头停止聚合开始协作》直播中,针对“bloXmove希望打造以实现净零碳排放为目标的通用基础设施,请问bloXmove为何如此看重碳排放指标?bloXmove又将如何实现净零碳排的目标?”的问题,德国柏林bloXmove CTO Harry表示,可持续发展在欧洲是一个非常重要的话题,去中心化网络可用于实现电力网和电动汽车之间的平衡。在这里,bloXmove 连接了两个新部门,可以建立全新合作关系并带来新机会。在电网的电气化过程中,汽车或其他电动设备(如电动助力车、公共汽车)等起着储电装置的作用。bloXmove 在德国的能源合作伙伴 50Hertz是一家电网电气运营商,其网络中 60 %以上的为可再生能源。bloXmove会连接越来越多的智能设备,私人终端用户可以为耦合能源网作出贡献,并且当用户选择使用绿色和智能移动出行服务时,就能够得到奖励。[2021/8/31 22:47:43]

传统的编程语言,包括以太坊智能合约语言中,对于数字资产的记账是采用的Value方式,这会导致一个问题:记账是有可能记错的。事实上记错账的智能合约相当得多,比如张三向李四转账,李四的账户多了10块钱,但是张三的账户余额却没改。过去两年里的各种记账漏洞甚至一度搞得大家已经对智能合约的未来丧失了信心。

Move合约采用了一种吸收了传统理论「线性逻辑」的类型,叫做资源类型。数字资产可以用「资源类型」来定义,这样一来,数字资产就像资源一样,满足线性逻辑中的一些特性:

数字资产不能被复制

数字资产不能凭空消失

First-classResources的真正含义是数字资产是一等公民,这句话可以引申出,Move是为操作数字资产而生的智能合约语言。从技术角度讲,数字资产可以作为合约的变量,数字资产可以存储,可以赋值,可以作为函数/过程的参数,也可以作为函数/过程的返回值。而Move的静态类型系统使得智能合约代码能够在编译期,也就是部署前就可以通过编译器检查出绝大多数的资源使用错误。保证智能合约不再像以前那样的脆弱不堪。

摘用白皮书摘要中的一句话:

First-classresourcesareaverygeneralconceptthatprogrammerscanusenotonlytoimplementsafedigitalassetsbutalsotowritecorrectbusinesslogicforwrappingassetsandenforcingaccesscontrolpolicies.

作为一等公民的资源是一种非常普遍的概念,程序员不仅可以用它实现安全的数字资产,同时也可以编写正确的业务逻辑,实现正确的访问控制策略。

合约安全性设计

Move合约在设计时,充分考虑了安全性。首先Move完全不支持动态指派。好,我这里解释下什么是DynamicDispatch,通俗地说,这是一种非常灵活的语言机制。在程序里面是可以写很多的函数,或者过程,或者子程序。然后一个主程序可以来调用这些函数/过程/子程序,来分别完成不同的功能。如果程序在运行之前,我们就能知道它到底都调用了哪个函数,或者以某种顺序调用很多函数,那么这些函数调用是「静态」的,如果在运行之前,我们不清楚某一步的函数调用究竟是调用了哪一个函数,直到程序运行的时候,通过观察,我们才能知道的话,那么这个函数调用被称为是「动态」的。「动态」显然要比「静态」灵活的多。

但是灵活也意味着更容易出问题。现代很多编程语言都或多或少支持动态指派,也就是从语言层面直接支持,比如面向对象语言中的「继承」导致的「动态绑定」。动态特性是不利于程序的推理,更不利于形式化验证,也更容易出安全问题。在以太坊智能合约设计中就存在许多「动态特性」,比如支持函数指针做参数,合约做参数,delegatecall等等。而在Move语言中,完全不支持任何形式的「动态指派」或者「动态特性」,所有的合约执行路径都能在编译的时候确定,然后可以进行非常充分的分析、验证。

Move合约在运行前都会经过一个字节码验证器进行校验,这个验证器可以检查出各种类型错误。同时字节码在解释执行的时候,仍然是带着类型,一边运行,一边检查。

Move语言对合约可修改变量进行了非常严格的限制,并且从Rust语言那边偷师了一些设计理念。保证任何时刻只能由一个指针对可修改变量进行修改,这样不会造成混乱。以太坊Solidity里面,可以定义很多的指针指向同一个变量,如果代码逻辑没考虑清楚,就会很容易出问题。

与以太坊EVM平台相比,Move模块系统不支持循环递归依赖,完美解决合约重入漏洞。

强悍的模块系统

Move模块系统采用的是一种函数式编程语言风格的设计,按照白皮书的说法:

Movemodulesaresimilartosmartcontractsinotherblockchainlanguages.…,However,modulesenforcestrongdataabstraction—atypeistransparentinsideitsdeclaringmoduleandopaqueoutsideofit.

模块系统可以很好地将数字资产的概念打包封装,对于数字资产的操作比如通过模块的公开接口,并且在这个接口上可以做灵活的权限控制。在写以太坊智能合约的时候,以太坊上的ERC20Token是作为一个合约而存在,而在Move语言中,一个Token可以被想象成一个箱子,被随意像资源一样传递,但是同时不会暴露箱子内部细节。同时模块系统的抽象也完全基于它的静态类型系统,并且类型安全性完全可以由智能合约虚拟机来检查保证。

Move的模块系统为智能合约的形式化验证提供了非常好的基础,在模块内部可以定义「不变式」。所谓的不变式是指对数字资产内部状态的一个严格约束,这个约束可以为形式化验证的自动化提供非常有价值的信息。而且,模块系统的「不透明抽象」可以使形式化验证工作变得模块化,成本更低。在Move模块系统上编写程序分析器,符号执行器也会简单很多,因为经过抽象,可以把合约逻辑变得非常简单,易推理。

面向未来的Move智能合约

Move虽然看起来还略显粗糙和稚嫩,但是这个方向仍然让人激动人心,从Move语言层面可以看到Facebook的野心,是想做一个庞大的数字资产平台。这个角色本来是应该属于以太坊。

我为什么有点喜欢上了Move,想了想,大概下面三个原因:

汲取了PL(程序语言)领域研究成果,同时也吸收了EVM智能合约语言的经验教训

从设计上无比重视「智能合约安全性、正确性」

没有墨守成规,而是积极创新,是设计构思真正适合金融应用的智能合约语言

标签:MOVEMOV数字资产RESMOVE NetworkMOVE数字资产类应用案例包括Omniunit Cash Features

KuCoin热门资讯
BOO:倒计时半天!10大要点提前看透Facebook加密货币项目(附首批合作公司名单)_FACE

出品|火星财经APP美国时间6月18日,备受期待的Facebook加密货币项目将正式亮相。作为全球互联网第一梯队中首家公开进入加密金融领域的公司,Facebook及其加密货币吸引了全世界的目光.

1900/1/1 0:00:00
莱特币:火星一线 | 莱特币基金会将推出加密货币借记卡,支持用户使用LTC、BIX、TERN支付_BIB

火星财经APP一线报道,莱特币基金会宣布与交易所Bibox、区块链公司Ternio合作推出加密货币借记卡“BlockCard”.

1900/1/1 0:00:00
LIBRA:金色早报-美国众议院金融服务委员会主席要求Facebook暂停加密货币项目_LIBRAF

英国央行行长:对Facebook加密货币持开放的态度,但推出后可能会面临严格监管◇金色盘面BTC最近成交价9364.63美元,24小时变化2.19%;ETH最近成交价273.51美元.

1900/1/1 0:00:00
COM:关于比特国际(GJ.COM)空投给老用户LBTC活动说明_HTT

尊敬的用户:2019年4月30号,比特国际正式推出增值宝服务,为了方便老用户体验此服务,比特国际对过去账户资产大于0.1USDT以上的客户给予2LBTC的空投奖励.

1900/1/1 0:00:00
莱特币:莱特币发卡了 支持线上和线下支付交易_BIBL币

金色财经比特币6月19日讯莱特币基金会已经宣布与BiboxExchange和区块链公司Ternio达成合作,三方将联合发布实体加密货币借记卡.

1900/1/1 0:00:00
COM:LEO即将开放充提业务_LEO

亲爱的用户:比特国际数字资产平台创投区优质币种LEO即将开放充值与提现业务。LEO项目介绍LEO为Bitfinex发行的平台币,总量10亿枚.

1900/1/1 0:00:00