Jessie:简单、通用的安全移动代码
在当今的互联网世界中,JavaScript 已经成为一种无处不在的(相对)安全移动代码的表示形式。然而,为了快速实现另一种表示形式的通用性,它必须成为 JavaScript 的一个子集,从而能够在 JavaScript 运行的任何地方运行。Jessie 正是这样一种简单、通用的安全移动代码表示形式。
项目介绍
Jessie 是一种小型的、安全的、面向对象能力(ocap)的 JavaScript 子集。它不仅易于编程,而且可以在 JavaScript 系统中轻松运行。Jessie 的设计目标包括:
- 表达性强:编程体验愉悦,表达能力强。
- 易于集成:可以轻松地在 JavaScript 系统中运行。
- 安全链接:能够安全地与对抗性的 SES 代码链接。
- 独立实现:易于实现为独立的运行环境。
- 轻量传输:作为轻量级的安全移动代码进行传输。
- 静态分析:适用于多种静态分析工具。
- 去芜存菁:去除了 JavaScript 的大部分“坏部分”。
- 非专家友好:非专家用户可以使用 Jessie 编写非平凡的、不可利用的智能合约。
项目技术分析
Jessie 是基于 EcmaScript 2017 标准的子集,通过一系列的静态和动态子集化,逐步去除了 JavaScript 的不安全特性。具体来说:
- ES-strict:作为 EcmaScript 的严格模式子集,去除了松散模式中的不安全特性。
- SES:在 ES-strict 的基础上,通过 Frozen Realms 进一步限制了全局作用域的访问权限,并冻结了原生对象,从而实现了面向对象能力的安全性。
- TinySES:作为 SES 的静态子集,进一步简化了语法,去除了
this
和类,使得编程更加简洁。 - Jessie:在 TinySES 的基础上,进一步限制了运行时依赖,使得 Jessie 程序可以在独立的 Jessie 环境中运行,同时仍然可以与 SES 代码安全链接。
项目及技术应用场景
Jessie 的应用场景非常广泛,特别适合以下几种情况:
- 智能合约:Jessie 的安全性和简洁性使其成为编写智能合约的理想选择,尤其是对于非专家用户。
- 跨平台应用:由于 Jessie 是 JavaScript 的子集,因此可以在任何支持 JavaScript 的平台上运行,非常适合跨平台应用的开发。
- 安全计算:Jessie 的安全特性使其在需要高度安全性的计算环境中表现出色,例如金融交易、数据加密等。
项目特点
- 安全性:Jessie 去除了 JavaScript 的大部分不安全特性,通过静态和动态子集化,确保了代码的安全性。
- 简洁性:Jessie 的语法简洁明了,易于理解和使用,特别适合非专家用户。
- 通用性:作为 JavaScript 的子集,Jessie 可以在任何支持 JavaScript 的环境中运行,具有极高的通用性。
- 易于实现:Jessie 的设计使其易于实现为独立的运行环境,开发者可以轻松地在各种平台上实现 Jessie 的编译器或解释器。
总之,Jessie 是一种简单、通用且安全的移动代码表示形式,适用于多种应用场景,特别适合需要高度安全性和简洁性的项目。如果你正在寻找一种既安全又易于使用的编程语言,Jessie 绝对值得一试。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考