11 蚂蚁链技术特性

概览

蚂蚁链通过引入P2P网络、共识算法、虚拟机、智能合约、密码学、数据存储等技术特性,构建一个稳定、高效、安全的图灵完备智能合约执行环境,提供账户的基本操作以及面向智能合约的功能调用。

区块结构

一个区块包含区块头和区块体,区块头包含多个关键属性,区块体包含两个列表,交易列表和回执列表

账户模型

蚂蚁链中世界状态是账户的集合。账户分为普通账户和合约账户。两者在数据结构上采用统一的模型。

交易处理流程

智能合约

特色

多语言:Solidity&wasm

安全性:合约扫描、静态预验证、越界检查

高性能:JIT/AOT技术

数据管理:数据合约虚拟机

开发套件:在线 Cloud IDE、离线 IDE ADS

合约生命周期

虚拟机

虚拟机负责执行智能合约完成业务逻辑然后更新区块链世界状态

网络传输与业务组网

P2P网络

  • 读写分离
  • 安全通信
  • 多地址
  • 支持域名

BTN网络

广域网区块链高速通信网络(Blockchain Transmission Network)

面向大规模去中心化通信场景的应用层消息路由网络

实现了多路实时路由、消息聚合传输、安全组播通信等,以可维护、可优化的网络接管区块链节点通信的中间链路,实现了传输层优化,使区块链节点之间的通信更加稳定、高效

  • 低延迟通讯
  • 低带宽消耗
  • 高吞吐量

动态子网

共识算法

联盟链共识算法

拜占庭容错(BFT)

BFT(Byzantine fault tolerance)类的算法(例如:PBFT,HotStuff)满足拜占庭容错类的要求,能够有效抵御共识网络中的主观恶意行为

故障容错(CFT)

CFT(Crash fault tolerance)算法(例如:Paxos,Raft)问问应用在传统分布式数据库环境下,用于主备数据库的数据一致性同步保证机制。

蚂蚁链共识算法

当前蚂蚁链系统中实现的共识算法主要有:MyBFT和MyTumbler。

适用场景
MyBFT

大规模集群

网络环境良好

高吞吐

MyTumbler

广域网

大规模集群

高延迟

网络不稳定

隐私保护技术

概述

蚂蚁链提供对区块链数据层面和计算层面的双重隐私保护,覆盖区块链交易全生命周期,应用低门槛,开发无入侵

交易全生命周期保护类别

交易全生命周期保护端到端流程

链原生数据存储

蚂蚁链针对区块链存储特有的持久化数据多版本及数据可验证要求,建立了链原生数据管理系统。

跨链互操作

概述

让区块链方言变成普通话

跨链需求简化为一个跨链信息交互模型:

链A信息经过共识确定,可以安全可信地流转到链B中,链B可以认证链A信息,并且按照约定执行后续的跨链逻辑。

技术要点

跨链消息可信认证

数据异构兼容

跨链事务安全设计

跨链数据连接服务

跨链数据连接服务ODATS(Open Data Access Trusted Service)实现同构及异构链之间的可信互通,助力企业之间可信协作,促进产业生态可信融合。

通过动作标准化的区块链UDAG全栈跨链协议,保证跨链交易的安全性、可扩展性及可靠性,打破区块链数据孤岛。

特性

开发的身份体系

权限管理

账本数据访问

合约消息推送

优势

异构兼容

互操作性强

高安全、高性能

便捷接入、高效协同

开发者工具

IDE集成开发环境

蚂蚁链具备一站式开箱即用的IDE集成开发环境,辅助开发者更好的完成合约开发,构建全面的智能合约生态

Cloud IDE

在线版本IDE

AntChain Studio

桌面版IDE

ChainStack

面向Dapp应用的全栈开发工具

总结

建数字时代的可信链接网络,促进产业协作和价值创造

  • 合约增强:支持solidity语言编写的合约及wasm虚拟机,具备多语言支持、高性能、高安全、精细的数据管理和一站式开箱即用的开发体验
  • 共识增强:实现自研MyBTF和MyTumble共识算法,具备更高的交易吞吐量,更低的交易确认时延,和不可回滚的交易确认能力
  • 网络增强:支持更高效的P2P网络模型,具备低延迟、低带宽消耗、高吞吐量的VTN网络;实现一个动态、灵活、立体的区块链节点互联网络
  • 存储增强:针对区块链存储特有的持久化数据多版本及数据可验证要求,建立链原生数据管理系统,提供对合约数据友好的操纵能力,存储规模可扩展,可伸缩,存储引擎高性能,低成本等特性,形成蚂蚁链原生数据管理特色
  • 应用增强:围绕应用构建,具备一站式开箱即用的IDE集成环境,提供对区块链数据层面和计算层面的双重隐私保护,实现同构及异构链之间的可信互通,助力区块链应用高质量落地。

蚂蚁链应用开发流程

传统Web应用开发框架vs蚂蚁链应用开发框架

传统Web应用开发:需要开发客户端程序、服务端程序两部分

蚂蚁链应用开发:需要开发客户端、服务端,智能合约三部分

蚂蚁链应用的开发方式

两种接入蚂蚁链的方式

1. 通过SDK与蚂蚁链进行交互

包括账户服务、查询服务、合约服务等操作。

2. 通过REST与秘钥进行交互

包括合约管理、账户管理、合约交易、存证交易、区块链查询等蚂蚁链常用交互功能,以及MYTF链下安全计算应用管理和应用执行操作功能。

两种应用开发场景

1. 通过Web应用(Client)集成SDK或REST直接与蚂蚁链交互

该方式让客户端直接访问区块链平台,去掉了中间的后端服务,更加透明,比较适合轻量级的合约调用、查询等操作。

2. 与传统Web应用开发相似,访问后端服务(Service),后端服务集成SDK或REST与蚂蚁链交互

该方式适合与传统业务系统相结合,在后端服务层实现一些比较重要的业务逻辑和计算任务。

蚂蚁链应用开发流程

智能合约开发并不是蚂蚁链应用开发的必要环节,需要根据实际业务场景选择是否进行智能合约的开发

联盟链多方参与的场景中,如何开发智能合约应用?

  1. 定义多方协议中,智能合约需要实现的逻辑和功能,实现智能合约
  2. 定义各参与方客户端或后端服务的业务逻辑,以及与智能合约交互的接口逻辑,并集成SDK实现
  3. 集成SDK的业务逻辑与智能合约交互逻辑,测试功能
  4. 多方参与的功能性集成测试

蚂蚁链chainstack开发工具

ChainStack对蚂蚁链内部业务的最佳实践进行挖掘和沉淀,形成蚂蚁链之上的区块链应用技术图谱。

一套智能合约框架

一套可复用的应用组件

一套完整的DApp应用工具链

蚂蚁链智能合约应用的开发工具

智能合约主要用于调用区块链

为提高基于蚂蚁链应用的开发效率,蚂蚁链提供了Cloud IDE智能合约开发工具和离线智能合约开发工具

Cloud IDE智能合约开发工具

  • 合约编辑与编译,展示编译结果字节码和接口说明(ABI)
  • 合约部署和调用;提供默认体验链环境和测试账户,用来部署和调用合约
  • 解析合约方法的返回值、事件日志等,辅助调试合约;保存合约到BaaS合约管理
基本框架

  • Cloud IDE是一个典型的去中心化区块链应用(DApp),可通过JavaScript SDK直接与区块链平台通信,进行合约部署和调用。

  • 通过IDE可以连接任何目标的蚂蚁链平台环境。

离线智能合约开发工具

通过简单命令完成合约编译、部署、发布,并支持单元测试框架,提高合约的开发、测试效率

蚂蚁链应用的开发SDK

SDK类别功能特性说明
Java功能最丰富,覆盖蚂蚁链的所有功能适合应用于后端服务层
C++功能丰富,与Java SDK类型比较适合与传统C++服务相结合
JavaScript覆盖基本的常用的API,支持Node.js和浏览器环境运行,不支持国密算法适合客户端Web应用集成

蚂蚁链开发者知识库

面向开发者的蚂蚁链技术栈教程和文档库,帮助开发者更好地充分利用蚂蚁链技术构建区块链应用

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

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

相关文章

【C++高并发服务器WebServer】-5:内存映射与进程通信

本文目录 一、内存映射与进程通信二、匿名映射与进程通信 一、内存映射与进程通信 内存映射Memory-mapped I/O指的是将磁盘文件的数据映射到内存,用户通过修改内存就能够修改磁盘文件,如下图所示(进程地址空间指的是虚拟地址空间&#xff09…

使用vscode + Roo Code (prev. Roo Cline)+DeepSeek-R1使用一句话需求做了个实验

摘要 使用vscode、Roo Code和deepseek-reasoner进行了一个实验,尝试使用一句话需求来生成小红书封面图片。工具根据需求提供了详细的架构方案,包括技术栈选择、核心模块划分、目录结构建议等。然后,工具自动化地完成了开发和测试,…

C语言初阶牛客网刷题—— JZ11 旋转数组的最小数字【难度:简单】

1. 题目描述 牛客网在线OJ链接 有一个长度为 n 的非降序数组,比如 [1,2,3,4,5] ,将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了 [3,4,5,1,2] ,或者 [4,5,1,2,3…

如何解压7z文件?8种方法(Win/Mac/手机/网页端)

7z 文件是一种高效的压缩文件格式,由 7 - Zip 软件开发者所采用。它运用独特的压缩算法,能显著缩小文件体积,便于存储与传输各类数据,像软件安装包、大型资料集等。但要使用其中内容,就必须解压,因为处于压…

豆包MarsCode 蛇年编程大作战 | 高效开发“蛇年运势预测系统”

🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 豆包MarsCode 蛇年编程大作战 | 🐍 蛇年运势预测 在线体验地址:蛇年…

【转帖】eclipse-24-09版本后,怎么还原原来版本的搜索功能

【1】原贴地址:eclipse - 怎么还原原来版本的搜索功能_eclipse打开类型搜索类功能失效-CSDN博客 https://blog.csdn.net/sinat_32238399/article/details/145113105 【2】原文如下: 更新eclipse-24-09版本后之后,新的搜索功能(CT…

macos的图标过大,这是因为有自己的设计规范

苹果官方链接:App 图标 | Apple Developer Documentation 这个在官方文档里有说明,并且提供了sketch 和 ps 的模板。 figma还提供了模板: Figma

C++异步future

🌎 C11异步futrue 文章目录: C11异步futrue future介绍     应用场景     future操作       std::async函数模版       std::packaged_task类模版       std::promise类模版 🚀future介绍 std::future是C11标准库…

洛谷 P2846 [USACO08NOV] Light Switching G C语言

题目描述 Farmer John tries to keep the cows sharp by letting them play with intellectual toys. One of the larger toys is the lights in the barn. Each of the N(2≤N≤105) cow stalls conveniently numbered 1…N has a colorful light above it. At the beginnin…

批量创建ES索引

7.x from elasticsearch import Elasticsearch# 配置 Elasticsearch 连接 # 替换为你的 Elasticsearch 地址、端口、用户名和密码 es Elasticsearch([http://10.10.x.x:43885],basic_auth(admin, XN272G9THEAPYD5N5QORX3PB1TSQELLB) )# # 测试连接 # try: # # 尝试获取集…

大厂案例——腾讯蓝鲸DevOps类应用的设计与实践

蓝鲸体系架构图 蓝鲸CICD应用功能架构 降低DEVOPS门槛—开发者中心 CICD应用需要的后台服务 系列阅读 12306亿级流量架构分析(史上最全)实现电商平台从业务到架构的治理体系基于主数据驱动的数据治理什么时候需要分表分库?-CSDN博客

React和Vue有什么区别,如何选择?

React和Vue有什么区别,如何选择? React 和 Vue 是当前最受欢迎的前端框架之一,两者在开发者中都有极高的声誉。它们都旨在帮助开发人员构建用户界面,但在实现方式和适用场景上有所不同。如果你正考虑在项目中选择 React 或 Vue&a…

uart、iic、spi通信总线

一、uart uart一种异步串行通信协议,用于在两个设备之间传输数据。它将数据按位发送,不需要时钟信号进行同步。在uart通信中,数据通过两根线路传输:发送线(TX)和接收线(RX)。它主要用…

LMI Gocator GO_SDK VS2019引用配置

LMI SDK在VS2019中的引用是真的坑爹,总结一下经验,希望后来的人能少走弯路.大致内容如下: (1) 环境变量 (2)C/C 附加包含目录 E:\GWQ\Gocator\GO_SDK\Gocator\GoSdk E:\GWQ\Gocator\GO_SDK\Platform\kApi (3&#…

QT QTableWidget控件 全面详解

本系列文章全面的介绍了QT中的57种控件的使用方法以及示例,包括 Button(PushButton、toolButton、radioButton、checkBox、commandLinkButton、buttonBox)、Layouts(verticalLayout、horizontalLayout、gridLayout、formLayout)、Spacers(verticalSpacer、horizontalSpacer)、…

C# OpenCV机器视觉:红外体温检测

在一个骄阳似火的夏日,全球却被一场突如其来的疫情阴霾笼罩。阿强所在的小镇,平日里熙熙攘攘的街道变得冷冷清清,人们戴着口罩,行色匆匆,眼神中满是对病毒的恐惧。阿强作为镇上小有名气的科技达人,看着这一…

立创开发板入门ESP32C3第八课 修改AI大模型接口为deepseek3接口

#原代码用的AI模型是minimax的API接口,现在试着改成最热门的deepseek3接口。# 首先按理解所得,在main文件夹下,有minimax.c和minimax.h, 它们是这个API接口的头文件和实现文件,然后在main.c中被调用。所以我们一步步更改。 申请…

2025.1.21——六、BUU XSS COURSE 1 XSS漏洞|XSS平台搭建

题目来源:buuctf BUU XSS COURSE 1 目录 一、打开靶机,整理信息 二、解题思路 step 1:输入框尝试一下 step 2:开始xss注入 step 3:搭建平台 step 4:利用管理员cookie访问地址 三、小结 二编&#…

操作无法完成,因为文件已经在Electronic Team Virtual Serial Port Driver Service中打开

报错 操作无法完成,因为文件已经在Electronic Team Virtual Serial Port Driver Service中打开 现象 这个exe文件无法删除 解决办法 按下WinR, 找到Electronic Team Virtual Serial Port Driver Service,右击停止. 再次尝试删除,发现这个exe文件成功删除!

单值二叉树(C语言详解版)

一、摘要 今天要讲的是leetcode单值二叉树,这里用到的C语言,主要提供的是思路,大家看了我的思路之后可以点击链接自己试一下。 二、题目简介 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单…