基于加密货币和区块链应用的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。

如何在CentOS 8安装Tomcat 10
雷军发布微博宣布:做了透明版小米98+256GB版本
江苏省集成电路产业技术创新战略联盟
格力董明珠变身“野蛮人”?拿下海立股份的“一石三鸟”之计
智慧校园安装热成像系统检测体温异常情况
基于加密货币和区块链应用的Simplicity语言介绍
中国石墨烯行业的优势与劣势分析
最新iPhone8概念图曝光,或许就是这样子了
瓦斯保护动作后的处理措施及回路
PCB钻孔的流程、分类和技巧
三星S24系列将搭载Exynos自研处理器 北美市场仍用高通芯片
联想再度携手中科院共建HPC平台,为基因测序科学研究赋能
麻省理工学院提出更环保的AI训练方式,可降低碳排放
照明的革命---双强LED灯泡
星辰大海 予力同行 | 遨游“AIGC+元宇宙”世界,掌行业风口,占赛道先机
新唐科技W584A032介绍
英飞凌的新型XENSIV™PAS CO2传感器可室内监测和控制空气质量
三摄风潮将爆发?智能手机市场已无新意
小米的复工复产情况已恢复达到了平日的近90%
借助深度学习AI技术实现全彩夜视系统