TrustBase宣言:让简单的语言再次伟大

2023-11-01 23:20

本文主要是介绍TrustBase宣言:让简单的语言再次伟大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:TrustBase是一个帮助全球开发者无障碍参与波卡生态建设的平行链。它允许传统的Web开发者、普通的Java工程师和其他常规领域编程人员也能以低门槛进入智能合约开发工程,以壮大Web3.0建设者的阵营。我们要做的事情,就是通过提供最基本的语言,让全球Web开发者共创波卡生态,实现Web3.0网络的目标。
在这里插入图片描述
我们在我们设想的Web3.0世界里,信用货币必然经受不住时间的考验。实物货币经历了几千年的考验,而所谓的“无锚印钞”的法定货币,历史却非常短暂。从1971年布雷顿森林货币体系(35美元与一盎司黄金锚定)崩溃算起,也不过49年的时间。

法币“无锚印钞”的结果,就是无上限加杠杆。而持续49年的加杠杆行为已经让信用货币走向一次比一次严重的金融危机。金融危机下因不断放水而失信的全球央行只好寻求黄金避险——这个金本位时代的古老货币锚。

我们认为黄金有着被造物主赋予的天然底层语言。它在分子维度里实现了稀缺、轻便和鲜明的辨识度。遍历人类历史,人们对黄金的共识,本质上是对这种“天然的技术”的崇拜。

技术经常反映了它的过去,只是会比之前更快、更优或者更健壮。2008年11月1日,中本聪坐在电脑前,最后审视着自己的杰作——《比特币:一种点对点的电子现金系统》。他点击了发送键,这篇论文便悄悄进入了极客网站的密码学邮件组。此时,深夜中熟睡的人们并不知道,一个全新的时代已经悄然拉开序幕,比特币和区块链将给社会带来多大的变革。

比特币是黄金的“天然底层语言”被复制到网络层的人为实现。在Web2.0的金融垄断环境下,比特币让人类看到了“货币自由”。这是在阶级森严的Web2.0下野蛮生长的新一代价值网络,这是反制美元霸权的新的外汇锚。

比特币成就的背后,是其底层脚本语言的精密搭建。我们更愿意把比特币脚本语言视作一件艺术品,它充满了结构的简单美和巧妙的智慧,它折射出了黄金的技术本质并充满了对金本位下健康经济的愿景。比特币的源码,是我们研发自身语言的伊甸园。

一个真正有价值的语言,必须足够简单。这里的“简单”指的并不是简陋,而是它必须像一个通用的模型。比特币的脚本语言和黄金一样,都使用了同一种侧重稀缺、安全的模型,但牺牲了灵活性。比特币系统很难出现智能合约生态,就源于这种灵活性的底层限制。

而在灵活性上做的最好的,不可否认是以太坊的Solidity语言,它几乎凭一己之力定义了区块链智能合约的成就。但目前来看,Solidity显得过于灵活了。例如,在作用范围内,Solidity的状态变量的定义声明与调用没有绝对的顺序关系,定义声明可以在调用语句之后。类似这样的特性允许以太坊的智能合约“在逻辑之上再套逻辑”,这是以太坊频繁发生DeFi合约漏洞的根源。

面对“安全”与“灵活”的选择,我们借鉴了东方的古老智慧,把比特币脚本语言和Solidity语言的核心精神做了中庸的糅合,并在波卡的Substrate框架下启程。

我们为我们相信的Web3.0的希望——波卡——设计了一个轻量级的新语言:Subscript。2020年9月,这门语言被Web3.0基金会Grant计划选中,成为了官方扶持的波卡开发者工具。

Subscript沿用了Javascript的语法,并在Assembly Script中完成了对Substrate智能合约api和sdk的封装。简单来说,Subscript实现了支持任何Web开发者快速入手部署波卡原生智能合约的能力。我们的开发者无需学习Substrate框架要求的rust语言,也无需精通merkle树、共识协议、p2p等技术难题。

“看到Subscirpt就像看到了老朋友。”是的,我们希望用Subscript语言告诉全世界,也许在Web2.0互联网行业的竞争下,再优秀的开发者如果不精通新语言,也会被市场淘汰;但在Web3.0的字典里不存在淘汰一词。Web3.0 将是一组包容性协议,为应用程序开发者建块。这些构建块取代了传统的 Web 技术,但是提供了一种开发应用程序的全新方式。在这种方式下,Web3.0必将兼容所有曾被认同的基本底层语言,也必将容纳全球范围内的优秀开发者。

精通智能合约开发语言的开发者数量远远不够,而我们不希望看到优秀的传统开发者站在波卡的对岸喟然生叹。经过我们的搭建,使用Subscript语言开发的任何智能合约应用和基于Subscript的编程工具将通过平行链TrustBase共享与波卡的全域互操作性。

这门语言必须牺牲一定的灵活性,以换取波卡原生智能合约的共享安全性。如果我们拿Subscript与以太坊久负盛名的Solidity语言相比,Subscript牺牲了一定的灵活性,它继承了比特币源码和Javascript的精神,实现了底层的安全性和严格的类型。同时,我们让它可以支持任何和Substrate架构兼容的智能合约开发平台,不仅限于TrustBase平行链。从语法和开发环境上说,遍历已知的所有智能合约开发语言,没有任何一门语言比Subscript更基本。

Subscript从API到语法都为WASM而设计,整体使用严格类型和语言检查,同时提供了范型功能支持第三方库的封装。

以下为我们的具体实现:
a、静态的语法检查。与针对动态类型运行环境的TypeScript不同,Subscript在编译时具有严格的静态语法检查,避免了无法提前有效编译TypeScript的动态特征。通过分配或推断确定的类型,编译器能够从执行开始就产生可预测的性能,同时保证所产生的WASM目标代码足够小。
b、严格的类型。Subscript中的基础类型为WASM标准而设计,使用WASM特定的整数和浮点类型。在处理数值类型时允许开发者实现制定数值的理想类型。
c、底层访问支持。智能合约与沙盒外环境交互时,能够传递的参数仅限于基本的整数类型。Subscript提供了完备的语法可以用来定义外部接口类型。Subscript还自带可访问WASM底层的指令函数,提供整数运算,虚拟机栈访问,内存加载等操作。
d、范型支持。能够定义范型类型来支持代码的复用,Subscript通过范型定义了一系列可复用的库函数。

我们的愿景就是“让简单的语言再次伟大。”黄金提供了底层语言技术的自然范式,比特币开启了基础的区块链脚本语言,以太坊扩展了更多金融交易的方式,而TrustBase希望去创造一个更加通用的语言模型。我们是波卡的引渡人,如果说波卡打破了公链间的隔阂,那么Subscript将打破所有开发工程师的隔阂,共赴Web3的彼岸。
在这里插入图片描述

这篇关于TrustBase宣言:让简单的语言再次伟大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326457

相关文章

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 10130 简单背包

题意: 背包和 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX