全国服务热线 15728112372

去中心化交易所开发

发布:2020-10-13 13:40,更新:2021-05-23 08:20

去中心化交易所开发

我们有幸见证了路印3.0的协议发布,并于Github上开源了其新技术设计和相关实现。这次3.0的发布是路印在去中心化交易网络协议中的一个大进步,它结合了创新的区块技术和零知识证明(ZKPs)加密大幅提高吞吐量,并且可以部署在任何支持智能合约的平台上。


相比于2.0设计,.0提供了2种模式的去中心化协议,分别是开启数据可用性和关闭数据可用性模式,前者提高了40倍吞吐,后者提高了225倍。

除了3.0以外,还发布了一个新型拍卖协议Oedax,这两者正在为去中心化交易所的扩容探索新的路径。


本文将从技术逻辑和技术细节入手,让小白用户也能快速搭建去中心化交易所。


一、使用新型Merkle Tree保存账户、余额、成交历史


Merkle Tree广泛应用于众多分布式应用中,早在比特时代,就被用来做交易的SPV证明,方便轻节点校验交易存在性。而在许多可编程智能合约平台里,比如以太坊,Merkle Tree还常常用来存放智能合约数据。


在3.0的设计中,为了更好的支持Off-chain和On-chain两种模式,开发人员设计了一个新型Merkle Tree,主要用来组织Account、Balance以及TradeHistory三者之间的关系和数据,并提供快速验证的能力。

从上图不难发现,一个账户下可以支持多种Token,而Loopring生态系统中的每个参与者都在同一个树中拥有一个账户。同时 3.0中采用账户级别的nonce设计,而不是Token级别的nonce设计。


事实上,在以太坊的账户模型里,也是使用账户级别的nonce设计,nonce值可以简单理解为该账户所有的交易数量。但是不同于以太坊,路印的Merkle Tree和账户模型中考虑了多种Token以及Off-chain请求。


每一次交易都会为用户修改3个token余额,包括tokenS、tokenB和tokenF。该设计带来的Zui大好处就是每次交易操作的代价都较低。对于每一笔交易,账户本身所在的Merkle Tree修改只涉及到一条Merkle Path。虽然Balance Tree需要修改3次,但是由于Balance Tree本身比较小,代价同样较低。


联系方式

  • 地址:深圳 深圳市龙华新区民治街道民治大道
  • 联系电话:未提供
  • 经理:刘先生
  • 手机:15728112372
  • QQ:1491318312
  • Email:1491318312@qq.com
产品分类