用於加密貨幣和區塊鏈的語言Simplicity
又一種新的程式語言問世啦!Simplicity最初是被設計為執行智慧合約的低階語言,如今極有可能成為加密貨幣和區塊鏈應用的最佳應用。
Blockstream的Dr. Russell O'Connor在《A New Language for Blockchains as part of a session on new languages and tools at PLAS 2017》中是如此描述Simplicity的:
Simplicity旨在改進現有的加密貨幣語言,例如Bitcoin Script和Ethereum's EVM。Simplicity在Coq中定義了正式的指稱語義。
同時,Simplicity還引入了一種稱為Bit Machine的抽象機器定義的操作語義,用於評估Simplicity程式所需的計算空間和時間資源。
由於其Turing不完整性,Simplicity適用於靜態分析,可用於在執行之前匯出所需計算資源的上限。雖然Turing不完整,但Simplicity仍然可以執行任何有用的功能,並且我們相信它足以為區塊鏈應用程式構建有用的"智慧合約"。
Simplicity的設計目標是:
建立一個富有表現力的語言,為使用者提供構建程式和智慧合約所需的工具。
啟用靜態分析,提供所需計算量的有用上限。
最大限度地減少頻寬和儲存需求,並通過在redemption time刪除未使用的程式碼來增強隱私。
保持比特幣自設交易的設計,即程式不能訪問交易以外的任何資訊。
提供正式的語義,便於使用現有的proof-assistant software。
需要注意的是, "Simplicity是被設計為執行智慧合約的低階語言,而不是程式設計師直接編寫的語言。"
Simplicity是一種型別化的組合語言,這一點很重要。每種型別的Simplicity表示式都有兩種型別:輸入型別和輸出型別。每一個表示式都表示從輸入型別到輸出型別的函式。
"Simplicity的優勢是在於它所具有的功能,而不是它所包含的功能"
這種語言沒有狀態,也沒有命名變數,沒有函式型別(這意味著沒有更高階的函式),也沒有無限迴圈或遞迴 - 可以建立contracts狀態來實現迴圈,而不需要在Simplicity本身內無限迴圈。
結論
Simplicity可以部署在新的區塊鏈應用中,包括sidechain和比特幣本身,也可以用於需要在潛在對抗條件下傳輸和執行有限程式的任何應用。
目前,Simplicity仍然是一個Blockstream研究和開發專案,未來有可能用於Blockstream產品。它的下一步是釋出Simplicity SDK。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2153933/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 區塊鏈公司談:加密貨幣的普及之路區塊鏈加密
- 神祕預言凜冬中2019年的加密貨幣及區塊鏈加密區塊鏈
- 最新《區塊鏈+加密貨幣技術全套教程》區塊鏈加密
- 如果沒有加密貨幣 區塊鏈是否有應用的意義?加密區塊鏈
- 區塊鏈加密貨幣五年來的進展 - vitalik區塊鏈加密
- IMF主席:用區塊鏈追蹤加密貨幣,“以火滅火”區塊鏈加密
- 區塊鏈100講:加密貨幣隱私性概述區塊鏈加密
- 美國銀行應用基於區塊鏈的加密貨幣儲存系統專利區塊鏈加密
- 韓國出臺新的加密貨幣和區塊鏈監管規則加密區塊鏈
- 和數軟體:什麼是區塊鏈技術與加密貨幣區塊鏈加密
- Web3核心概念解析:區塊鏈、加密貨幣、DApp和智慧合約Web區塊鏈加密APP
- 比特幣和區塊鏈(2):比特幣中區塊鏈的實現比特幣區塊鏈
- 韓國央行:加密貨幣和區塊鏈將創造無現金社會加密區塊鏈
- 區塊鏈精進手冊 | 加密貨幣市值翻番並不難區塊鏈加密
- 西班牙左翼政治聯盟提議研究區塊鏈和加密貨幣區塊鏈加密
- 區塊鏈應用|美圖官方澄清並未發行加密貨幣,但實際動態表明仍在佈局區塊鏈區塊鏈加密
- 韓國加密貨幣監管:對交易所,ICO和區塊鏈監管的演變加密區塊鏈
- 區塊鏈研究所呼籲提高加密貨幣監管清晰度區塊鏈加密
- 從區塊鏈到數字貨幣之路區塊鏈
- 基於Java語言構建區塊鏈(四)—— 交易(UTXO)Java區塊鏈
- 區塊鏈落地應用開發,區塊鏈幣幣撮合交易系統開發區塊鏈
- G20加密貨幣監管法規將導致真正的區塊鏈變革加密區塊鏈
- 區塊鏈101:區塊鏈的應用和用例是什麼?區塊鏈
- 區塊鏈,中心去,何曾著眼看君王?用Go語言實現區塊鏈技術,透過Golang秒懂區塊鏈區塊鏈Golang
- 區塊鏈專家評SEC舉措對加密貨幣行業的潛在影響區塊鏈加密行業
- 基於Java語言構建區塊鏈(六)—— 交易(Merkle Tree)Java區塊鏈
- 基於Java語言構建區塊鏈(五)—— 地址(錢包)Java區塊鏈
- 基於Java語言構建區塊鏈(一)—— 基本原型Java區塊鏈原型
- 一個簡單的區塊鏈貨幣,python實現區塊鏈Python
- 關於區塊鏈虛擬貨幣世界中‘穩定貨幣’的歷史、機理、種類及展望區塊鏈
- 2018年區塊鏈與加密貨幣技術比特幣以太坊全套零基礎視訊教程區塊鏈加密比特幣
- 區塊鏈鼻祖比特幣之7:區塊鏈在比特幣中的真正用意區塊鏈比特幣
- 央行科技司長:區塊鏈是否用於數字貨幣,要看其不足能否解決區塊鏈
- 區塊鏈2019,LKL就是你尋找的價值貨幣區塊鏈
- 區塊鏈和比特幣常見的七大誤區區塊鏈比特幣
- 加拿大投資行業組織將提交區塊鏈及加密貨幣監管提案行業區塊鏈加密
- 為何Rust語言在區塊鏈中應用廣泛? - RedditRust區塊鏈
- Red 語言建立基金會,發力區塊鏈區塊鏈