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,一经查实,立即删除!

相关文章

如何使用 pytest-html 创建自定义 HTML 测试报告

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 测试 Python 代码对于提高代码质量、检测漏洞或意外行为至关重要。 但测试结果又该…

【华为OD-E卷 - VLAN资源池 100分(python、java、c++、js、c)】

【华为OD-E卷 - VLAN资源池 100分(python、java、c、js、c)】 题目 VLAN是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLAN ID(1-4094之间的整数)的概念。 定义一个VLAN ID的资源池(下称VLAN资源池)&#xff0…

【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…

Coze,Dify,FastGPT,对比

在当今 AI 技术迅速发展的背景下,AI Agent 智能体成为了关键领域,Coze、Dify 和 FastGPT 作为其中的佼佼者,各有千秋。 平台介绍 - FastGPT:由环界云计算公司发起,是基于大语言模型(LLM)的开源…

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

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

【Docker】ubuntu中 Docker的使用

之前记录了 docker的安装 【环境配置】ubuntu中 Docker的安装; 本篇博客记录Dockerfile的示例,docker 的使用,包括镜像的构建、容器的启动、docker compose的使用等。   当安装好后,可查看docker的基本信息 docker info ## 查…

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

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

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

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

求平均年龄(信息学奥赛一本通-1059)

【题目描述】 班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。 【输入】 第一行有一个整数n(1≤n≤100),表示学生的人数。其后n行每行有…

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

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

C++ —— 智能指针 unique_ptr (上)

C —— 智能指针 unique_ptr (上) 普通指针的不足普通指针的释放智能指针智能指针 unique_ptr智能指针初始化错误用法get()方法返回裸指针智能指针不支持指针的运算(、-、、- -) 普通指针的不足 new和new [] 的内存需要用delete和…

C++异步future

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

# AI绘图中的Embedding、CLIP、Flux中的Clip与LCM SDXL加速生成解析

AI绘图中的Embedding、CLIP、Flux中的Clip与LCM SDXL加速生成解析 在现代AI绘图和深度学习中,涉及了多个复杂的概念和技术,这些技术在图像生成、训练加速以及多模态学习等方面起着至关重要的作用。在这篇博客中,我们将讨论几个关键概念&…

linux下jsoncpp编译

折腾了一顿,我使用ubuntu16.04编译的jsoncpp,由于使用的芯片工程需要16.04,无法使用最新的ubuntu系统。 发现jsoncpp编译时, CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. …

洛谷 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…