当前位置:新闻中心行业动态 → 正文

用于加密货币和区块链的语言Simplicity

责任编辑:editor006 作者:田晓旭 |来源:企业网D1Net  2017-11-14 16:16:52 本文摘自:it168网站

又一种新的编程语言问世啦!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。

关键字:Simplicity区块操作语义

本文摘自:it168网站

x 用于加密货币和区块链的语言Simplicity 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

用于加密货币和区块链的语言Simplicity

责任编辑:editor006 作者:田晓旭 |来源:企业网D1Net  2017-11-14 16:16:52 本文摘自:it168网站

又一种新的编程语言问世啦!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。

关键字:Simplicity区块操作语义

本文摘自:it168网站

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^