在上篇《Galaxy數字之美:新型智能合約Q語言,如何實現100%無BUG?》中,我們為大家闡述了VNTChain基于形式化驗證的新型智能合約Q語言的它的設計原理及應用價值。大家似乎對這種既能保證100%無BUG同時操作簡單的Q語言如何操作應用更為“上頭”,那么本文我們就接著為大家分享其智能合約編譯方法和形式化驗證具體實現方式。
在使用這種新型智能合約Q語言前,我希望大家對它有足夠的了解,再去嘗試成為早期使用者。為了讓大家更好的理解與實操,我接下就先從類型系統來分析這種新型智能合約Q語言與傳統C,Crystal/Ruby語言的區別與優勢。
如上圖所示,在C、Crystal/Ruby語言中,`Class`是一切類的類,它也是自己的類;object為對象,一切對象均是某個類的實例,一切都是對象,包括類也是對象,=>類作為對象也有它的類。不懂技術的朋友可能會有點懵,那我們換一個直白的說法,也就是這些語言中字段不能被直接訪問,需要用方法包裝,這樣操作起來無疑比較復雜了。而這種新型智能合約Q語言中,類型被包含在更大的數學集合中,類型作為一種集合就可以交并補運算。原本的類型被叫做實體類,實體類具有字段、方法而數學集合沒有,所以操作起來就更為簡便。
Galaxy Digital CEO:政府應該關注人工智能而不是加密:金色財經報道,Galaxy digital首席執行官Mike Novogratz告訴投資者,他對監管機構對加密貨幣而非人工智能(AI)的關注程度感到震驚,他認為人工智能技術將引發“深度虛假”身份危機。“當我想到人工智能時,我們談論了這么多加密監管,而對人工智能監管卻只字不提,我認為政府完全顛倒了。在很多方面,加密技術的最佳用例之一將是圍繞人工智能的身份識別。然而,他認為基于區塊鏈的應用程序將在解決人工智能提出的一些問題方面發揮“巨大作用”。[2023/3/29 13:32:45]
另外函數方面,一般傳統C,Crystal/Ruby函數的參數具有確定的類型,而我們新型智能合約Q語言的參數是數學集合。這一點是通過大量的泛型與實例化來實現的,只有合約API入口點需要具有確定的類型,而之后的函數調用均被泛型實例化,編譯時根據實際調用的參數類型派生出具有不同對應類型的函數。同時可以大量使用虛函數表,在保證一定性能的前提下,實現多類型參數。
Galaxy Digital第二季度凈虧損達5.547億美元:8月8日消息,加密貨幣金融服務公司 Galaxy Digital 第二季度凈虧損達 5.547 億美元,虧損同比擴大近三倍。此外,截至 6 月 30 日 Galaxy Digital 流動資金頭寸為 15 億美元,合伙人資本同比增長 23% 至 18 億美元。(CoinDesk)[2022/8/8 12:10:03]
這樣設計的優勢在于,編譯語言的函數與數學上的定理(Lema)有很強的相似性——從某種角度上一個函數就是對一個定理的描述,就可以十分輕松的用HOL表達,而用戶對其的證明,只需要證明此定理,而不需要像C語言的形式化證明那樣對函數建模。
Galaxy Digital計劃推出面向加密貨幣投資者的大宗經紀服務:金融服務及投資管理公司Galaxy Digital計劃推出面向加密貨幣投資者的大宗經紀服務。Galaxy Digital的業務轉型可能會受到一些投資者和員工的歡迎。該公司的股價目前遠低于賬面價值,自成立以來一直在虧損。(The Blcok)[2020/7/9]
通過以上的對比分析,想必大家對這種新的Q語言已經有了更為深入的了解。接下來我們就來和大家具體講解這種Q語言的使用方法。如下流程圖所示:
整個過程主要包括三大步驟:編程語言解析、形式化證明、代碼發射。下面是這個實操步驟的具體拆解:
Galaxy Digital CEO:如果比特幣購買難度下降,其價格將會更高:Galaxy Digital首席執行官Mike Novogratz在CNBC節目中表示,購買比特幣仍然很困難。Mike Novogratz認為,如果購買比特幣等加密貨幣的難度減少,BTC價格將更高。在回答有關高盛稱不能將其視為資產類別的問題時,Novogratz說,傳統銀行業正在錯過更大的前景。(u.today)[2020/5/28]
實操步驟
STEP1:編程語言解析
詞法語法分析,包括詞法分析,語法分析,將用戶的代碼解析成AST。其中詞法分析和語法分析,使用Crystal宏機制實現,代碼可以作為宏直接嵌入Crystal代碼中,也可以直接輸入AST,不通過宏式的語言描述,而是直接以方法調用的形式將對象傳入。
語義分析-階段1,檢查AST是否構成合法的語義。任何錯誤的詞法和語法將報出語法錯誤,并不是所有的AST都是合法的,語義分析將檢查,若檢查不通過,觸發語義錯誤。
STEP2:形式化證明
根據AST中形式化證明相關部分,生成形式化證明用的語法樹。
根據形式化證明用的語法樹生成Isabelle/HOL語言。
使用Isabelle交互式證明工具進行證明。
STEP3:代碼發射
語義分析-階段2:注冊全局參數或函數,確定外界可調用的接口與編譯目標,推倒編譯需要的信息,包括類型推導、內存空間分配、變量分配。
代碼發射:根據語義分析得到的完全信息,從Export開始編譯函數,及此函數調用到的函數,進而編譯出:目標函數、目標函數所調用的函數、API包裝函數、內部函數、智能合約的構造器,字段包裝函數,基于AST發射代碼。其中所有的Export函數必須是實例化后的函數,故確定Export的過程中即會實例化函數,而函數的實例化也即觸發了對此函數的類型推導。
當然,我們對這個實施操作的描述是為便于技術愛好者們能夠快速的理解和加以應用。我相信熟悉該領域技術的極客大神顯然可以很容易地對上述實施操作針對不同應用環境加以修改利用,并把我們解說的一般原理應用到其他實施例中而不必經過創造性的勞動,從而極大的提高工作效率。
現在,這種操作簡單且100%無BUG的Q語言你學會使用了嘛,是不是想要快速上手體驗一番?目前VNTChain主網Galaxy已經上線,一起來加入VNTChain技術生態成為新型智能合約Q語言早期使用者,與我們共同探索數字世界的美妙吧。VNTChain是一個開放的社區,我們會獎勵每一個為VNTChain做出貢獻的開發者,期待您的加入,共建VNTChain技術生態。
Tags:TALGALGALAALAInstrumental FinanceGalaxy FinanceGalaxy SurvivorPala Int Comm
1.BitMEXCEO沉默數周后更新個人推特因CFTC調查事件消聲數周的BitMEXCEO亞瑟·海耶斯(ArthurHayes)終于露面了,于今早在推特上更新動態發布了自己的行蹤.
1900/1/1 0:00:00親愛的用戶: Binance杠桿平臺現已增加多個資產與交易對,具體如下:新增可抵押資產:ONT、ADA新增可借貸資產:ONT、ADAJustin Sun過去1小時向Binance地址轉移近1.5.
1900/1/1 0:00:00近日,中鈔區塊鏈技術研究院院長張一鋒在微眾銀行首屆FinTechDay區塊鏈分論壇上演講時表示:下一步區塊鏈發展的路徑往哪里走?我覺得PublicPermissionedBlockchain這個.
1900/1/1 0:00:00作者|龍玥,轉載請注明出處7月29日11:50:13UTC到17:31:19UTC,一批巨鯨正在悄悄挪動他們的比特幣,巨鯨追蹤推特監測到,在這6個小時里.
1900/1/1 0:00:00尊敬的BTB.io用戶:BTB.io交易所將于新加坡時間2019年8月5日,上線HSI 具體時間如下: 開放充值時間:2019年8月5日15:00開放交易時間:2019年8月5日15:00Lar.
1900/1/1 0:00:00尊敬的HCoin用戶: HCoin交易平臺即將上線“SEA”。SEA是下一代的價值交換網絡平臺,SEA平臺將區塊鏈技術、分布式存儲技術以及P2P技術等完美融合在一起,打造一個高效自治的云服務平臺.
1900/1/1 0:00:00