安全的Sui Move是Web3大规模采用之路的基石

没有信任,就没有Web3的大规模采用。还有其他重要障碍阻碍了首个十亿用户的到来,包括令人困惑的用户体验、复杂的身份验证模式以及不确定的监管体系,但所有障碍中,要数大多数人对区块链技术持怀疑和不信任态度最严重。

对于许多人来说,区块链就是加密就是骗局。关于黑客攻击或流氓行为的故事,占据了人们在大众媒体中看到的Web3故事的很大比例。仅在2023年的前八个月,几乎有10亿美元的资金在链上因恶意活动而流失。在人们相信区块链安全之前,Web3将无法成为流行产品的标准基础设施。

正如技术存在许多风险一样,安全也有许多组成部分。但保持区块链安全的一个关键方面是编写安全的代码。不安全的代码可能导致资产被盗窃、欺诈和未经授权的访问,这反过来可能会减少对像DeFi这样的高价值行业的投资。容易受攻击的代码可能被攻击者利用,导致数据操纵和财务损失。用户依赖加密代码的安全性来信任交易和智能合约的完整性。由于编写不良代码导致的破坏可能会破坏这种信任,从而导致对系统的信心丧失。

以太坊于2015年首次推出作为智能合约平台。尽管已知Solidity等编程语言存在安全漏洞,但Ethereum的Solidity编程语言仍然很受欢迎,包括Vyper,在大多数EVM和EVM兼容链上使用。尽管工具和审计有所改进,但许多重大漏洞和大规模黑客攻击仍然是由自智能合约编程的最初时期就已知的漏洞引起的。已经开发了新的编程语言来解决这些问题,为开发人员和用户提供更高的安全性。例如,在Sui上,使用了Move编程语言的变体Sui Move,因为它本质上是安全且有表现力的。

Move尤其在本质上是安全的,并且在一定程度上是为了解决Solidity漏洞问题,如递归攻击、双花、DoS攻击和编译器问题。这些类型的攻击仍然会导致重大财务损失,包括2023年7月Curve Finance池的递归攻击,攻击者利用了价值6000万美元的数字资产。虽然Move明确设计为通过保护开发人员免受将某些错误和漏洞写入代码的影响来消除Solidity中的许多缺陷,但它并不能阻止人们故意编写恶意代码。仍然需要审计和其他检查来查找那些以及其他漏洞。

Move内置的另一个安全功能是字节码验证器。它确保智能合约的字节码是有效且安全可执行的。EVM只有源代码验证,它仅确认源代码等于要执行的字节码,但不确认智能合约本身的正确性。字节码验证器的设计是为了确保不会在链上执行创建假币、人为增加币值或复制/销毁现有币的恶意代码。

Sui Move是以对象为中心的,还有助于最小化不安全代码的执行次数。自然而然地,每个函数都清楚地显示它正在操作哪个对象。只需查看函数签名,您就能确定合同被设计为恶意行为时可能造成的最大损害。您可以清楚地知道函数接受的参数以及函数带出的参数。例如,当您接受一个币余额时,很明显您正在操作您钱包中的币余额,这不会让人感到意外。在使用Solidity编写的合同中,情况并不那么清楚。

虽然目前尚不存在完全安全的智能合约编程语言,但Move,特别是Sui Move,在市场上比其他语言更安全。立即开始学习Move吧!


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|英文Twitter|中文Twitter|Discord|英文电报群|中文电报群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动态规划】123. 买卖股票的最佳时机 III、188. 买卖股票的最佳时机 IV

提示:努力生活,开心、快乐的一天 文章目录 123. 买卖股票的最佳时机 III💡解题思路🤔遇到的问题💻代码实现🎯题目总结 188. 买卖股票的最佳时机 IV💡解题思路🤔遇到的问题&#x1f4…

docker搭建rocketmq集群

单机搭建 1 拉取rocketMq镜像 docker pull rocketmqinc/rocketmq:4.3.2 2 创建挂在目录 mkdir -p /mydata/rocketmq/data/namesrv/logs /mydata/rocketmq/data/namesrv/store mkdir -p /mydata/rocketmq/data/broker/logs /mydata/rocketmq/data/broker/store mkd…

flink1.15 savepoint 超时报错 java.util.concurrent.TimeoutException

savepoint命令 flink savepoint e04813d4e7480c526912eb4d32bba510 hdfs://flink/flink/migration/savepoint56650 -Dyarn.application.id=application_1683808492336_1222报错内容 org.apache.flink.util.FlinkException: Triggering a savepoint for the job e04813d4e7480…

Java开发-参数校验@NotEmpty、@NotBlank、@NotNull

大家好,我是小资。今天给大家说下参数校验。 标题中说的这三个注解所在的包路径为import javax.validation.constraints.*; 千万不要导错包哦,因为他们在好多包里都存在。开发只需引入Spring-web依赖就可以使用了。轻轻松松干掉多余的if-else。 下面我…

Springboot 订餐管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 订餐管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有 完整的源代码和数据库&…

基于图像识别的迁移学习之一

案例分析 加载数据部分同上一个案例,只需把数据输入到预训练的VGG-16或者ResNet50中。VGG-16的网络结构为右侧图绿色栏所示,其中block1中有2个包含64个卷积核的卷积层,block2包含2个128个卷积核的卷积层,block3有3个包含256个卷积…

ESP32网络开发实例-从LittleFS加载Web页面文件

从LittleFS加载Web页面文件 文章目录 从LittleFS加载Web页面文件1、应用介绍2、软件准备3、硬件准备4、Web页面代码与LittleFS文件系统上传4.1 Web页面代码实现4.2 Web页面代码上传5、Web服务器代码实现在文中,将展示如何构建一个 Web 服务器,为存储在 ESP32 的LittleFS文件系…

LeetCode142:环形链表II

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数…

Linux知识点 -- 高级IO(一)

Linux知识点 – 高级IO(一) 文章目录 Linux知识点 -- 高级IO(一)一、5种IO模型1.IO再理解2.阻塞IO3.非阻塞轮询式IO4.信号驱动IO5.IO多路转接6.异步IO7.同步通信vs异步通信8.阻塞vs非阻塞 二、非阻塞IO1.设置非阻塞的方法2.非阻塞…

44.ES

一、ES。 (1)es概念。 (1.1)什么是es。 (1.2)es的发展。 es是基于lucene写的。 (1.3)总结。 es是基于lucene写的。 (2)倒排索引。 (3&#xf…

一行代码优化 pdfjs 加载大文件的pdf 速度

目录 介绍问题分析解决结束 介绍 先简单介绍下pdfjs 怎么 去加载pdf文件 import * as PDFJS from pdfjs-dist/legacy/build/pdf PDFJS.GlobalWorkerOptions.workerSrc require(pdfjs-dist/legacy/build/pdf.worker.entry.js)// blobUrl container指 dom 承载pdf 的容器 expo…

stm32学习笔记:中断的应用:对射式红外传感器计次旋转编码器计次

相关API介绍 EXT配置API(stm32f10x exti.h) NVIC 配置API (misc.h) 初始化的中断的步骤 第一步:配置RCC时钟,把涉及外设的时钟都打开 第二步:配置GPIO,设置为输入模式 第三步:配置AFIO&#xff0…

基于Java使用SpringBoot+Vue框架实现的前后端分离的美食分享平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 在当今社会&#xff0…

03 | Defining Query Methods 的命名语法与参数

Spring Data JPA 的最大特色是利用方法名定义查询方法(Defining Query Methods)来做 CRUD 操作,这一课时我将围绕这个内容来详细讲解。 在工作中,你是否经常为方法名的语义、命名规范而发愁?是否要为不同的查询条件写…

软件测试学习(五)

报告发现的问题 设法修复软件缺陷 ●没有足够的时间。在任何一个项目中,通常是软件功能太多,而代码编写人员和软件测试人员太少,而且进度中没有留出足够的空间来完成项目。假如你正在制作税务处理程序,4月15日 (赶在应付税务检查…

串的基本操作(数据结构)

串的基本操作 #include <stdlib.h> #include <iostream> #include <stdio.h> #define MaxSize 255typedef struct{char ch[MaxSize];int length; }SString;//初始化 SString InitStr(SString &S){S.length0;return S; } //为了方便计算&#xff0c;串的…

LeetCode【74】搜索二维矩阵

题目&#xff1a; 代码&#xff1a; public static boolean searchMatrix(int[][] matrix, int target) {int rows matrix.length;int columns matrix[0].length;// 先找到行&#xff0c;行为当前行第一列<target&#xff0c;当前行1行&#xff0c;第一列>targetfor…

【TA 工具积累】参考图展示 PureRef | 截图 Snipaste

贴两个平常看图和截图比较方便的工具&#xff1a; PureRef 官网指路&#xff1a;PureRef 油管简单的使用教程视频&#xff1a;Free Download | PureRef 知乎上大佬总结的快捷键&#xff1a; PureRef 快捷键 提炼总结 - 知乎 (zhihu.com) b站大佬总结的快捷键&#xff1a;…

一文告知HTTP GET是否可以有请求体

HTTP GET是否可以有请求体 先说结论&#xff1a; HTTP协议没有规定GET请求不能携带请求体&#xff0c;但是部分浏览器会不支持&#xff0c;因此不建议GET请求携带请求体。 HTTP 协议没有为 GET 请求的 body 赋予语义&#xff0c;也就是即不要求也不禁止 GET 请求带 body。大多数…

Idea集成Docker

1、前言 上一节中&#xff0c;我们介绍了Dockerfile的方式构建自己的镜像。但是在实际开发过程中&#xff0c;一般都会和开发工具直接集成&#xff0c;如Idea。今天就介绍下idea和Docker如何集成。 2、开启docker远程 要集成之前&#xff0c;需要我们本机能够访问docker服务…