比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > ADA > Info

Move語言:我眼中的 Libra 最大亮點_MOVE

Author:

Time: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

Aptos推出Move V1.3,簡化跨不同資產的資源管理和降低Gas成本:5月23日消息,Aptos宣布發布Move V1.3,針對Move Objects,該框架簡化了跨不同資產的資源管理,開發人員現在可以使用獨立于帳戶的全局存儲來訪問和管理異構資產。Aptos表示,這大大簡化了開發復雜性,并在可組合性、所有權管理、每個帳戶多個資源、事件跟蹤、安全權限和持久存儲方面解鎖了新的可能性。此外,Aptos稱,Gas方面Aptos上90%的交易的Gas減少了10倍以上,執行Gas使用量降低了100倍。多簽賬戶(Multisig Account)v2方面,新的多重簽名賬戶提供比原多重簽名賬戶設計更透明的功能。Multi-ed25519身份驗證密鑰可改善密鑰托管和資產安全性,顯著改善資金管理和智能合約管理。[2023/5/23 15:21:03]

我認為FB發布的“move”語言比libra更有趣。

JamesClark是一名標準極客,他說:

I'musuallyprettyskepticalofanythingrelatedtocryptocurrency,buthere'sonepieceofLibrathatlookspotentiallyinteresting:abytecodeprogramminglanguagecalledMovewithsemanticsinspiredbylinearlogic.

Move to Earn應用 STEPN 昨日新增用戶8837人:4月22日消息,據Dune鏈上數據顯示,Move to Earn應用STEPN昨日新增用戶8837人,新增用戶和日活維持較高水平。

此前消息,4月19日,STEPN上線v0.6.3版本更新,新版本支持BNBChain。[2022/4/22 14:41:13]

我通常對與加密貨幣相關的任何東西都表示懷疑,但是Libra中有一部分看起來相當有趣:一個被稱為Move的字節碼編程語言,其語義受線性邏輯的啟發。

而我腦子里閃過是這樣一句話:

Move是為「數字資產」而生的智能合約平臺型語言。

Move語言的三大用處

發行數字貨幣,Token,和數字資產

靈活處理區塊鏈交易

驗證器管理

自底向上的靜態類型系統

Move采用的是靜態類型系統,類型系統本質上是一種邏輯約束。相比以太坊的智能合約語言來說要嚴格地多。現代的編程語言比如Rust,Golang,Typescript,Haskell,Scala,OCaml都不約而同采用了靜態類型系統,他們的優點是,很多編程低級錯誤都可以在編譯的時候發現,而不是拖到運行期才爆出bug。

Move to Earn游戲STEPN將為早期用戶發放約4500萬枚GMT:3月14日消息,Move to Earn游戲 STEPN 官方在社交媒體上發文表示,STEPN將在3月15日至17日期間,為其超5,000名早期用戶發放約4500萬枚GMT空投(占總量的0.75%)。

STEPN 是一款具有 Social-Fi 和 Game-Fi 元素的 Web3 生活方式應用程序,由 Find Satoshi Lab團隊創建,運行在 Solana 網絡上。STEPN重新構造了用戶身體活動與區塊鏈游戲之間的共生關系,該項目將玩家的運動數據作為了一系列游戲化的輸入,繼而向玩家轉化為鏈上游戲內的Token和NFT獎勵。[2022/3/14 13:54:55]

Well-typedprogramsnevergetstuck.

這是程序語言領域的一句黑話:一個類型無誤的代碼永遠不會跑飛。意思是,如果一段合約代碼經過了類型檢查,那么可靠性會相當高。

Move也沒有設計成一個100%靜態類型檢查的語言,那樣會降低實用性。Move提到了盡量讓類型檢查在編譯的時刻進行,而不是等部署到鏈上之后。當然有些類型檢查不得不放到運行期,但是仍然可以保證類型安全。

Move有個非常好的設計思路是,從虛擬機開始就是靜態類型化的,然后往上是一個中間語言層,IR,也是類型化的。將來,Move上層將會提供更多的面向各種金融應用的高級語言,那些語言自然也是靜態類型,保證智能合約不再會發生非常低級的錯誤。

跨鏈通信協議Movr Network宣布更名為Socket:據官方消息,跨鏈通信協議Movr Network宣布更名為Socket,目標是通過連接所有鏈并實現它們之間的無縫資產和數據傳輸來統一多鏈生態系統。

據介紹,Socket使開發者能夠跨鏈構建具有共享流動性和狀態的統一應用。它充當一個元層,通過單一集成為協議提供跨鏈的無縫連接。[2022/2/3 9:29:35]

First-classResources理念

First-classResources這個詞相當的學術,中文翻譯過來叫資源是一等公民,這究竟什么意思呢?

所謂的編程語言的一等公民就是編程語言在編程的時候首要考慮的被編程對象。

那么資源,Resources又是什么呢?這也是一個很學術的名字。Resources是和Value相對應的概念。Value是可以隨意拷貝的,而Resources只能被消耗,不能被拷貝。Resources就像可樂,你喝了一瓶就少了一瓶,而Value,就好比寫在本子上的英文單詞,每天早上都可以念一遍,念完他不會消失,如果你記住了,那就在腦子里拷貝了一份。不僅你可以念,我也可以念,你可以背,我也可以背。

傳統的編程語言,包括以太坊智能合約語言中,對于數字資產的記賬是采用的Value方式,這會導致一個問題:記賬是有可能記錯的。事實上記錯賬的智能合約相當得多,比如張三向李四轉賬,李四的賬戶多了10塊錢,但是張三的賬戶余額卻沒改。過去兩年里的各種記賬漏洞甚至一度搞得大家已經對智能合約的未來喪失了信心。

“Move to Earn”游戲STEPN即將發布雙倍能量計劃:1月30日消息,Move to Earn游戲 STEPN 宣布即將發布雙倍能量計劃,具體開啟時間和詳細活動內容將隨后發布。[2022/1/30 9:23:22]

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智能合約語言的經驗教訓

從設計上無比重視「智能合約安全性、正確性」

沒有墨守成規,而是積極創新,是設計構思真正適合金融應用的智能合約語言

Tags:MOVMOVE數字資產RESmovr幣值得投資嗎MOVEY價格數字資產管理Presale.World

ADA
孟巖:扎小哥 你還能再鋒芒畢露一點嗎?丨深度解讀Libra白皮書_LIB

6月18日,Facebook發布區塊鏈項目Libra的白皮書。出世即王者,一時間,Libra的海嘯一下子席卷了加密貨幣,乃至整個金融、科技行業.

1900/1/1 0:00:00
女俠靈魂拷問室第六期:攜1500萬用戶進場-Uzone來就來 還帶這么多韭菜_ONE

6月19日晚上八點,女俠區塊鏈“靈魂拷問室”活動第六期在線上正式開始,20多家媒體、40多個社群同步進行采訪轉播.

1900/1/1 0:00:00
加密貨幣研究人員提出證實澳本聰并非中本聰的關鍵證據_加密貨幣

據CryptoSlate報道,近日,加密貨幣研究人員聯合發表分析文章,提出證實CraigWright并不是中本聰的關鍵證據.

1900/1/1 0:00:00
KuCoin已完成5月ONG的分發_Kucoin

親愛的KuCoin用戶 KuCoin已完成5月ONT持幣用戶的ONG發放,用戶可通過資產中心>我的福利>其他獲贈查看分發記錄.

1900/1/1 0:00:00
【公告】CoinPark將于2019年6月19日全球首發Algorand (ALGO)_COI

親愛的CoinParker:CoinPark將全球首發Algorand(ALGO),具體時間如下:新加坡時間2019/06/1924:00開放?ALGO/USDT,ALGO/ETH交易.

1900/1/1 0:00:00
XRP短時回踩5日線 后續有望繼續上行_PLE

XRP結束長達半年多的底部震蕩箱體區間后近期一直處于通道上邊線附近反復盤整割據,近期在利好較多的推動下幣價展開放量上攻,這幾天一直沿5日線持續上行,量能顯著增強,日線MACD金叉向上.

1900/1/1 0:00:00
ads