弄懂数字货币交易平台(二)
# 一次轻松的探险:解密数字货币交易平台的奥秘 🚀
Ahoy,数字货币的探险家们!在我们上一次的奇妙之旅中,我们一起揭开了数字货币交易平台的神秘面纱。今天,我们要深入探讨的是这些平台背后的技术秘密。如果你曾经在传统金融交易系统的设计或实现上留下过你的足迹,那么这次的探险对你来说将会是轻而易举的!
由于中心化交易所是主流应用,所以今天我们的探险重点就放在中心化模式下的数字货币交易平台上。
# 两套账本 📚
数字货币交易平台技术在很大程度上借鉴了金融交易技术的系统架构。简单来说,它就是将原本用于管理法币和证券(或平台代币)的资金管理系统,完全替换为专门针对数字货币的管理系统。换句话说,就是换了一套内部账本。
但等等,区块链本身也是用来记账的,也算作一种金融账本。所以这里就有了两套账本:一套内部账本,一套区块链本身的账本。如何管理这两套账本,就成了资金管理系统的首要任务。
图示:数字货币交易所
# 数字货币交易所的系统模块 🧩
一个数字货币交易所的后端至少由四部分构成:
- Web 业务逻辑系统
- 交易撮合系统
- 运营后台管理系统
- 资金管理系统
# 各模块的特征 🚀
- Web 业务系统:与我们常见的电商系统无异,主要是用户账户以及简单的业务逻辑,重点是可扩展性,业务要求比较弹性。
- 交易撮合系统:本质上是一个高并发的计算系统,特点是系统性能高和稳定性好。
- 运营后台系统:在整个交易所生命周期的早期并不凸显重要性,但是运营后台系统恰恰是交易所中后期发展的核心系统。
- 资金管理系统:这里的资金管理其实包含了三部分,第一部分是法币的支付网关,第二部分就是数字货币钱包管理,第三部分是用户持仓信息。
# 技术栈探讨 💻
我们来解释一下这张图。首先是存储,持久存储通常可以选择 MySQL,撮合相关的模块由于要避免接触磁盘 IO,所以需要为撮合模块提供 Redis 类型的内存存储,二者需要保证最终一致性。
# 交易过程 🔄
让我们通过一个例子来理解用户 A 用 0.01BTC 换取了 B 的 10 个 ETP 的过程。
- 用户 A 挂单:挂 10ETP 买单,出价 0.01BTC。
- 用户 B 挂单:挂 10ETP 卖单,出价 0.01BTC,与 A 的订单撮合匹配成功。
- 成交 Trade:资产变化通过资金管理系统写 RDB 数据库,形成成交记录。
- 用户 B 提币:发起提币请求,请求提取 10ETP 进入自己的数字货币钱包。
- 提币审核:运营人员审核用户 B 的信息。
- 区块链交易:数字货币钱包服务根据区块信息查询交易 x 是否被打包。
# 总结 🎉
今天我们一起探讨了数字货币交易所的业务逻辑,希望你已经对数字货币交易所有了一个初步的了解。这些交易所是区块链行业最重要的业务之一,全世界每个月都有新的数字货币交易所诞生。
问题时间:去中心化交易系统应该如何设计呢?主要会遇到哪些挑战?欢迎留言,我们一起探讨。
上次更新: 2023/10/09, 1:10:00