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

简介:

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


本文转自d1net(转载)

相关文章
|
14天前
|
安全 物联网 网络安全
网络安全的屏障与密钥:揭秘网络漏洞、加密技术与安全意识的重要性新技术趋势与应用:区块链、物联网与虚拟现实的未来展望
【8月更文挑战第27天】在数字时代的浪潮中,网络安全成为了我们不可忽视的话题。本文将深入浅出地探讨网络安全中的漏洞问题、加密技术的应用及其重要性,以及提升个人和组织的安全意识的必要性。通过分析常见的网络攻击手段和防御策略,我们将了解到保护信息资产的紧迫性,并掌握一些基础的防护措施。文章还将分享几个实用的代码示例,帮助读者更好地理解加密技术在实际应用中的作用。
|
11天前
|
安全 物联网 区块链
未来已来:探索区块链、物联网与虚拟现实的融合趋势网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】本文将带领读者穿梭于新兴技术如区块链、物联网(IoT)和虚拟现实(VR)的发展浪潮之中,揭示这些技术如何相互交织,共同塑造我们的未来。我们将从技术的基本原理出发,逐步深入到它们的应用场景,并探讨它们如何在未来形成一股不可逆转的融合趋势。通过深入浅出的分析,本文旨在为读者提供一个关于这些技术发展趋势的全景视图,同时激发思考它们将如何影响我们的生活和工作方式。
|
11天前
|
安全 物联网 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享未来技术浪潮中的领航者:区块链、物联网与虚拟现实
【8月更文挑战第30天】在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和建议来保护个人信息和数据安全。
|
14天前
|
安全 物联网 网络安全
揭秘网络防御:安全漏洞、加密技术与意识提升新兴技术浪潮下的未来社会:区块链、物联网与虚拟现实的融合与创新
【8月更文挑战第27天】在数字时代的浪潮中,网络安全已成为保护个人隐私和企业资产的盾牌。本文深入探讨了网络安全的核心要素:安全漏洞、加密技术和用户安全意识。我们将通过实际案例分析常见的安全威胁,并解释如何利用最新的加密算法来保护数据不被窃取。此外,我们还将揭示提升用户安全意识的重要性,并提供实用的策略,以增强个人和组织在网络空间的防御能力。
|
3月前
|
安全 算法 定位技术
[Solidity][区块链安全入门]Solidity语言关于密码学知识的运用以及存在漏洞
密码学在区块链中扮演关键角色,确保机密性、完整性、身份认证和不可否认性。对称密钥加密用于快速加密,但不支持不可否认性。非对称加密(如RSA)解决了这一问题,每个用户拥有公钥和私钥。散列函数(如SHA-1、SHA-2)用于数字签名,保证信息来源和完整性。同态加密允许在不解密情况下处理加密数据,增强隐私保护。零知识证明则能验证信息正确性而不泄露额外信息,如ZCash使用该技术隐藏交易详情。环签名技术(如在门罗币中)隐藏签名者身份。区块链隐私保护措施包括混币技术,旨在混淆交易路径。网络和应用层面上也存在隐私挑战,需要综合策略来防御。
|
3月前
|
供应链 安全 算法
加密技术与区块链:守护数字世界的双重保障
加密技术和区块链携手打造数字安全。加密通过算法和密钥保护数据,区块链以其分布式、不可篡改的特性增强数据安全。两者结合,应用于数字签名、密钥对、哈希函数,保障信息传输与存储的安全。未来,它们将在物联网、供应链和金融等领域深化数据保护,促进数字经济创新。
|
4月前
|
存储 区块链 数据安全/隐私保护
《区块链简易速速上手小册》第4章:区块链与加密货币(2024 最新版)
《区块链简易速速上手小册》第4章:区块链与加密货币(2024 最新版)
53 1
|
4月前
|
供应链 安全 物联网
深度剖析:区块链技术掌握必备知识,加密货币与智能合约应用解析
深度剖析:区块链技术掌握必备知识,加密货币与智能合约应用解析
202 0
|
10月前
|
存储 供应链 Go
使用Go语言搭建区块链基础
使用Go语言搭建区块链基础
|
10月前
|
存储 安全 Go
Go语言在区块链开发中的应用
Go语言在区块链开发中的应用
下一篇
DDNS