当前位置: 首页 > news >正文

什么是原子交换?

安全地在各个区块链网络之间传输资产对于释放被困流动性并吸引更多用户进入这一领域至关重要,同时也保持 Web3 的信任最小化核心价值。原子交换是一种让两个人在不依赖于中介来促成交易的情况下,在不同的区块链网络之间交换通证资产的方式。这为 DeFi 用户提供了一种在多链 Web3 生态系统中保持高度去中心化的方式。

什么是原子交换?

原子交换能够实现不同区块链网络之间的加密通证点对点交换,只有在双方各自向交换合约存入预定数量的通证时才会执行交换。这使得任何两个用户都可以在不依赖第三方促成交易的情况下交换数字通证,从而降低交易对手风险。

"原子性"是一个指数据库事务只能完整执行或完全不执行的软件术语。原子交换按名称分配,要么从每个用户那里接收必要的通证存款并执行交换,要么将所有存入的通证退还给其原始所有者。

原子交换是如何工作的?

原子交换使用哈希时间锁合约(HTLC),它充当“虚拟保险库”或“加密托管账户”,安全地保存用户资金,并仅在正确数量的通证存入合约后执行。每个用户必须在指定的时间间隔内确认收到通证,才能解锁它们。

哈希时间锁合约(HTLC)

HTLC是一种有时限的智能合约,其中使用私钥和密码哈希来控制对资金的访问。每个参与方必须满足所有交换协议才能完成交换,否则通证将退还给其原始所有者。

一个HTLC包括两个核心安全特性:

  • 哈希锁定密钥 — 双方都必须提交密码学证明,证实他们已满足了交换合约的条件。
  • 时间锁定密钥 — 如果在预设的时间限制内未提交证明,存入的通证将退还给原始所有者。

原子交换示例

  1. Alice 同意与 Bob 交换 10 枚 X 通证,以换取 10 枚 Y 通证。他们创建了一个在一小时后到期的 HTLC。
  2. Alice 创建了一个合约地址,并将她的 10 枚 X 通证存入其中。这会生成一个只有Alice 可以访问的私钥。Alice 对私钥创建了一个密码哈希,并将其发送给了 Bob。
  3. Bob 使用这个哈希来验证 Alice 是否已经将 10 枚 X 通证存入合约地址。但由于他只有哈希,而没有实际的私钥,所以他无法访问这些资金。
  4. Bob 使用这个哈希生成了一个新的合约地址,并在其中存入了他的 10 枚 Y 通证。现在双方都将资金存入了合约。
  5. 由于 Bob 使用了 Alice 私钥的哈希创建了地址,Alice 能够领取 Bob 存入的 10 枚 Y 通证。她这样做,并在此过程中向 Bob 揭示了私钥。如果 Bob 在时间锁定到期之前未完成交易,由 Alice 领取的通证将会归还给 Bob。
  6. 现在,Bob 使用私钥提取了 10 枚 X 通证并完成了交易。
  7. 在一个小时内完成了交换,合约无法恢复,Alice 成功地将她的 10 枚 X 通证与 Bob 的 10 枚 Y 通证交换了。

原子交换的优势

原子交换为交易者提供了一些其他解决方案所不具备的优势。

  • 降低交易对手风险 — 无需将资金托付给中心化第三方来促成交易。交易者完全控制其资产。
  • 更深的流动性 — 使资产能够在不同的区块链网络之间交易,增加了这些资产的流动性。
  • 直接资产对资产交换 — 用户可以直接购买加密资产,无需首先兑换成高流动性的稳定币并进行多次交易。用户可以在去中心化环境中交易任何他们喜欢的通证。
  • 保障结果 — 交易者有保证合约将按照描述执行,否则他们将收回资金。
  • 更低的成本 — 点对点交换可能会比依赖第三方管理员产生更低的费用。

原子交换的缺点

由于使用原子交换来交易通证化资产存在一些缺点,因此去中心化交易所(DEXs)和中心化交易所仍然保持高需求。

  • 易用性 — 每个交易方都必须就交易金额和价格、时间锁定期限、交换数据和哈希达成一致,并等待交易被处理。这可能会变成一个耗时且复杂的过程,对于初学者来说尤其困难。
  • 隐私问题 — 原子交换需要多个区块才能完成,这可能会引起恶意行为者的警觉,让他们有时间追踪地址并针对交易者。
  • 兼容性 — 不能在所有区块链网络之间执行原子交换。每个区块链必须使用相同的哈希算法才能实现原子交换。

原子交换与跨链桥梁

虽然原子交换实现了本地资产的点对点交换,但跨链桥梁提供了区块链之间的连接。跨链桥可以通过锁定/解锁或铸造/销毁机制促成封装资产的转移。到目前为止,由于跨链桥梁的黑客攻击,已经有超过26亿美元的损失,这就是为什么 Web3 生态系统正在迅速采用更优越的跨链解决方案的原因。

由 Chainlink CCIP 提供动力的跨链通信

交易者和协议可以通过使用 Chainlink CCIP 克服跨链桥和原子交换的限制,Chainlink CCIP 是跨链互操作性标准,可以在各种区块链之间安全、高效、可靠且可编程地进行通证转移,包括使用不同哈希算法的区块链。例如,Synthetix 正在使用 CCIP 来驱动其 Synth Teleporters,实现流动性在其多链生态系统中的无缝流动。探索 CCIP 如何打开 Web3 的跨链未来。

欢迎关注 Chainlink 预言机并且私信加入开发者社区,有大量关于智能合约的学习资料以及关于区块链的话题!

相关文章:

什么是原子交换?

安全地在各个区块链网络之间传输资产对于释放被困流动性并吸引更多用户进入这一领域至关重要,同时也保持 Web3 的信任最小化核心价值。原子交换是一种让两个人在不依赖于中介来促成交易的情况下,在不同的区块链网络之间交换通证资产的方式。这为 DeFi 用…...

java springboot word文档转pdf

java springboot word文档转pdf 1、环境2、依赖3、代码 1、环境 1、java、springboot 2、maven或者gradle 3、办公软件(自己电脑上的wps或者office等,如果部署到服务器上也要安装,linux、Mac 都有,自己安装) 可能会遇…...

【Leetcode Sheet】Weekly Practice 2

Leetcode Test 1281 整数的各位积和之差(8.9) 给你一个整数 n&#xff0c;请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 提示&#xff1a; 1 < n < 10^5 【原始代码】&#xff1a; int subtractProductAndSum(int n){//1 < n < 10^5//…...

【BERTopic应用 03/3】:微调参数

一、说明 一般来说&#xff0c;BERTopic 在开箱即用的模型中工作得很好。但是&#xff0c;当您有数百万个数据要处理时&#xff0c;使用基本模型处理数据可能需要一些时间。在这篇文章中&#xff0c;我将向您展示如何微调BERTopic中的一些参数并比较它们的结果。让我们潜入。 二…...

2023年上半年数学建模竞赛题目汇总与难度分析

2023年上半年数学建模竞赛题目汇总与难度分析 ​由于近年来国赛ABC题出题方式漂浮不定&#xff0c;没有太大的定性&#xff0c;目前总体的命题方向为&#xff0c;由之前的单一模型问题变为数据分析评价优化或者预测类题目是B、C题的主要命题方向。为了更好地把握今年命题的主方…...

Linux下搭建java环境

文章目录 一&#xff0c;xshell链接linux二&#xff0c;linux安装jdk环境 一&#xff0c;xshell链接linux 这里用到的工具,VMware搭配CentOS7 64位Xshell5 操作之前确保,传输Xshell连接了虚拟机 打开Xshell,文件->新建 主机ip—>进入虚拟机,右键打开终端,输入命令:ifco…...

String、StringBuffer、StringBuilder三者的异同?

String字符串 不可变的字符序列在 jdk1.8&#xff0c;我们底层用 char [ ] 存储在 jdk 17&#xff0c;我们底层用 byte [ ] 存储 StringBuffer字符串缓冲区类 可变的字符序列&#xff0c;线程安全的&#xff08;synchronized&#xff09;&#xff0c;效率低在 jdk1.8&#xf…...

htmlCSS-----弹性布局案例展示

目录 前言 效果展示 ​编辑 代码 思路分析 前言 上一期我们学习了弹性布局&#xff0c;那么这一期我们用弹性布局来写一个小案例&#xff0c;下面看代码&#xff08;上一期链接html&CSS-----弹性布局_灰勒塔德的博客-CSDN博客&#xff09; 效果展示 代码 html代码&am…...

Fiddler模拟请求发送和修改响应数据

fiddler模拟伪造请求 方法一&#xff1a;打断点模拟HTTP请求 1、浏览器页面填好内容后&#xff08;不要操作提交&#xff09;&#xff0c;打开fiddler&#xff0c;设置请求前断点&#xff0c;点击菜单fiddler,”Rules”\”Automatic Breakpoints”\”Before Requests” 2、在…...

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入

配置DID 一、Developer中创建SWC1.1 创建Application Component Type1.2 实例化Component二、在SWC中创建接口以及Runnable2.1 创建DID的Service Ports2.2 创建DID的Service Runnable三、在Configurator连接接口以及生成代码3.1 连接DCM与SWC3.2 生成RTE3.3 生成SWC的DID的模板…...

ChatGPT收录

VSCode插件-ChatGPT 多磨助手 多磨助手 (domore.run) Steamship Steamship 免费合集 免费chatGPT - Ant Design Pro 免费AI聊天室 (xyys.one)...

Nginx随笔

Nginx下载链接 安装命令&#xff1a; apt update apt install nginx 一、基础命令&#xff08;Ubuntu&#xff09; 1、在全局 nginx -t //检查Nginx的配置文件是否有错 systemctl start nginx //启动Nginx systemctl stop nginx //停止Nginx systemctl status nginx //查…...

61. 旋转链表

61. 旋转链表 题目-中等难度示例1. 快慢指针找到分割位置2. 连成环后截断 题目-中等难度 相关企业 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出…...

Python实现动态调用Matlab自定义函数

首先需要下载与python版本对应的matlab&#xff0c;并成功执行matlab中的setup.py文件 参考流程如下 https://blog.csdn.net/s1k9y9/article/details/127793053 完成上述步骤即可开始实现动态调用matlab文件。 文件目录如下 D://call/ |–matlab |–test1 |–main.m |–test2 |…...

redis集群和分片-Redis Cluster:分布式环境中的数据分片、主从复制和 Sentinel 哨兵

当涉及到 Redis 中的集群、分片、主从复制和 Sentinel 哨兵时&#xff0c;这些是构建分布式 Redis 环境中非常重要的概念和组件。下面详细介绍这些概念以及它们在分布式环境中的作用。 Redis Cluster Redis Cluster 是 Redis 官方提供的分布式解决方案&#xff0c;用于管理和…...

【数据库基础】Mysql下载安装及配置

下载 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 当前最新版本为 8.0版本&#xff0c;可以在Product Version中选择指定版本&#xff0c;在Operating System中选择安装平台&#xff0c;如下 安装 MySQL安装文件分两种 .msi和.zip [外链图片转存失…...

iptables安全与防火墙

防火墙 防火墙主要作用是隔离功能&#xff0c;它是部署在网络边缘或主机边缘&#xff1b;另外在生产中防火墙的主要作用是&#xff1a;决定哪些数据可以被外网访问以及哪些数据可以进入内网访问&#xff1b;顾名思义防火墙处于TCP协议中的网络层。 防火墙分类&#xff1a; 软…...

Linux 内核线程启动以及内核调用应用层程序

#include <linux/kthread.h> //内核线程头文件 static task_struct *test_task; test_task kthread_run(thread_function, NULL, "test_thread_name"); if(IS_ERR(test_task)) { pr_err("test_thread_name create fail\n"); } static int th…...

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …...

【linux学习】linux的模块机制

文章目录 前言模块的Hello World&#xff01; 前言 Linux允许用户通过插入模块&#xff0c;实现干预内核的目的。一直以来&#xff0c;对linux的模块机制都不够清晰&#xff0c;因此本文对内核模块的加载机制进行简单地分析。 ref:https://www.cnblogs.com/fanzhidongyzby/p/…...

从零开发游戏需要学习的c#模块,第二十二章(音效与背景音乐)

本节课学习目标 加载并播放背景音乐&#xff08;循环&#xff09; 收集金币时播放音效 碰到敌人时播放音效 用 MonoGame 内置音频系统实现 第一步&#xff1a;准备音频文件 去这些网站下载免费音效&#xff1a; freesound.org opengameart.org mixkit.co 需要三个文件…...

量子机器学习可解释性:从经典XAI到XQML的挑战与创新方法

1. 项目概述&#xff1a;当量子机器学习遇上“黑盒”挑战作为一名长期关注前沿技术交叉领域的从业者&#xff0c;我最近花了大量时间研究一个既烧脑又极具潜力的方向&#xff1a;如何让量子机器学习&#xff08;QML&#xff09;模型变得“透明”。我们都知道&#xff0c;经典深…...

抖音无水印视频解析终极指南:5分钟快速上手DouYinBot

抖音无水印视频解析终极指南&#xff1a;5分钟快速上手DouYinBot 【免费下载链接】DouYinBot 该项目仅自用&#xff0c;不提供抖音视频下载 项目地址: https://gitcode.com/gh_mirrors/do/DouYinBot 在短视频创作日益普及的今天&#xff0c;如何快速获取抖音无水印视频、…...

MySQL 子查询优化:从慢查询到飞起的实战之路

开场白 说起 MySQL 子查询优化&#xff0c;这事儿我还真踩过大坑。有一次上线一个报表功能&#xff0c;SQL 里套了两层子查询&#xff0c;测试环境跑得挺快&#xff0c;上了生产直接把数据库干到 CPU 100%&#xff0c;整个系统卡了十分钟。后来 DBA 找过来&#xff0c;一看执行…...

告别黑窗口!保姆级教程:在Win11上用Xming给WSL2装个轻量级桌面(XFCE4)

告别黑窗口&#xff01;Win11 WSL2轻量级桌面配置全指南 对于习惯Windows图形界面的开发者来说&#xff0c;初次接触WSL的黑窗口命令行界面总有些不适。本文将手把手教你如何用Xming和XFCE4为WSL2打造一个轻量级Linux桌面环境&#xff0c;无需虚拟机就能运行GIMP、VSCode等图形…...

Necesse 多人沙盒生存 RPG 服务器搭建教程

Necesse 多人沙盒生存 RPG 服务器搭建教程 Necesse 是一款融合了《泰拉瑞亚》式俯视角探索与《边缘世界》式基地管理的沙盒生存 RPG 游戏。当你和朋友想一起挖矿、打地牢、建造基地时&#xff0c;自建专用服务器能带来更稳定的连接、更低的延迟&#xff0c;以及完全由你掌控的…...

大数据供应链预测模型监控:KS检验与Bhattacharyya系数的工程实践

1. 项目概述在供应链预测这类高价值、高风险的机器学习应用里&#xff0c;最让人提心吊胆的时刻&#xff0c;往往不是模型训练&#xff0c;而是它上线之后。我们精心调校的模型&#xff0c;就像一个被派往复杂前线的侦察兵&#xff0c;训练时用的是一套“地图”&#xff08;历史…...

【AI Agent法律应用实战指南】:20年律所技术总监亲授3大落地场景与5个避坑红线

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;AI Agent法律应用的认知重构与行业定位 传统法律服务长期依赖人工经验、线性流程与静态知识体系&#xff0c;而AI Agent的出现正推动法律行业从“工具辅助”迈向“自主协同”的范式跃迁。它不再仅是检索法条或…...

超冷原子吸收成像的深度学习优化方法

1. 超冷原子吸收图像分析的技术挑战在超冷原子实验中&#xff0c;原子云的空间分布信息是理解量子态的关键指标。吸收成像技术通过测量原子云对共振激光的吸收情况&#xff0c;能够非破坏性地获取这一信息。典型的吸收成像过程需要采集三帧图像&#xff1a;包含原子的图像&…...

荣耀出征官方下载地址|装备绑定与非绑定决策分析

认准奇迹mu&#xff1a;荣耀出征官方直营官网主站与认证入口体验正版游戏&#xff08;资质可查&#xff0c;安全合规&#xff09;《奇迹mu&#xff1a;荣耀出征》是合规申报的移动类型经典复刻怀旧奇迹mu手游,已经在《奇迹mu&#xff1a;荣耀出征》官网主站首发上线。游戏高度还…...