Skip to content

Latest commit

 

History

History
93 lines (50 loc) · 4.72 KB

principle_zh-CN.md

File metadata and controls

93 lines (50 loc) · 4.72 KB

点对点交易平台 工作原理

1. 概述

用户在普通中心化/去中心化交易所交易时,无法自由指定交易目标和交易价格,只能对现有订单薄上的订单进行交易,无法满足大额订单一次性成交,固定价格成交,指定交易人成交的需求。

而以太坊上的HTLC交易,需要交易双方信任每一组交易合约,一组跨链HTLC合约仅支持一组代币交易,无法多币种共用,增加了用户的信任成本。合约的Owner也具备作恶的可能性。同时HTLC合约交易如果想要取消或撤回资金,需要较长的等待时间。

点对点交易平台(下文简称P2PE)主要解决上述痛点,在保证安全性和实效性的基础上,满足两名用户之间的加密货币互换需求。结合wanchain跨链功能,可安全可靠的满足多链多币种的交易需求。

P2PE具备如下优势与特点:

1) 大额订单交易0手续费;

2) 自由限定交易价格和数量;

3) 任意WRC20都可交易,支持自定义token地址;

4) 基于HTLC(哈希时间锁定合约)和Token Approve开关双重安全保障;

5) 订单未上链前可随时取消,取消后订单不再可用,无需长时间等待;

6) 订单交易信息不公开,仅在链数据上可见;

7) 无需充值,不需要将token充到任何在线钱包或合约地址中,可在ledger中直接操作;

8) 通过跨链可支持多链多币种交易。

2. 智能合约

P2PE通过智能合约保证交易的安全,直接复用WANDEX安全、成熟经过验证的合约代码。主要涉及到2个合约:Proxy和Exchange。

Exchange验证用户输入信息和信息的签名,验证用户token余额后,调用Proxy合约完成用户资产按照用户输入的信息进行原子性转移。

Proxy可以且仅能被Exchange合约调用,进行token资产转移。Proxy在释放Owner权限后,可安全公证的调配用户资产,完全杜绝了任何人(包括运营方)作恶的可能性。

用户无需对任何合约地址充值或转账,只需在交易之前,对Proxy合约进行Approve操作,使其具备操作用户token资产的能力。交易完成后,即可解除Approve,进一步保障资金安全。

智能合约代码和前端代码完全开源,可接受所有用户的审查和监督。

智能合约

前端页面

3. 安全签名

用户在将交易订单信息发送至智能合约之前,对所有关键信息使用安全加密算法进行私钥签名,保证任何信息无法被它人篡改,保证了交易的安全。

主要签名的信息包括:

序号 信息 说明
1 trader 订单创建者的地址
2 relayer 发送上链人的地址,这里是PartyB
3 data 超时时间
4 baseTokenAmount 基础token数量
5 baseTokenAddress 基础token地址
6 quoteTokenAmount 报价token数量
7 quoteTokenAddress 报价token地址

通过对上述信息进行哈希和签名,可以锁定交易人、上链人、交易币种、交易数额、超时时间等全部涉及到交易安全的关键信息。

智能合约会对这些信息和签名进行验证,保证交易安全。

4. 工作流程

在一次完整交易过程中,涉及到2个用户PartyA和PartyB。交易过程完成PartyA和PartyB两者之间的Token交换。如下图所示:

图片

主要工作流程如下:

1) PartyA和PartyB协商好交易价格(交换金额);

2) PartyA在页面上填写交易币种、交易金额、PartyB的地址信息(填写后,此订单只能由B来执行)、订单超时时间(超时后订单无效);

3) 在上述信息填写完成后,PartyA使用钱包私钥对其签名锁定,之后任何人均无法篡改;然后PartyA需要对链上智能合约执行approve操作,授权其动用PartyA钱包指定token资产的能力;

4) PartyA通过任意社交网络发送签名后的订单数据给PartyB;

5) PartyB在页面中粘贴入PartyA发来的订单数据,进行数据解析,在列出的解析结果中,核对交易token和token数量;

6) PartyB核对无误后,生成对应的订单并签名; 然后PartyB需要对链上智能合约执行approve操作,授权其动用PartyB钱包指定token资产的能力;

7) PartyB将订单发送上链,调用链上的智能合约接口;

8) 智能合约安全公证的验证PartyA和PartyB的订单信息、验证签名合法性、验证token余额足够完成此次交易;完成全部验证工作后,使用原子操作完成PartyA和PartyB之间的资产转移。

5. 结论

P2PE是一款精心设计的去中心化应用,可以安全合理的满足用户交易需求。