赛场直击:万向黑客马拉松Qtum题目全解析


回顾:Qtum量子链应邀参加2018万向区块链黑客马拉松前端


近日,Qtum量子链应邀出席参加万向区块链黑客马拉松,其中Qtum核心开发工程师郑翊做为评委向在场的各位开发者出两道区块链技术题目,而且在场开出10000美金的奖赏做为对优秀团队的奖励。git


QtumSwap团队赢得了本场活动的重金悬赏,那么他们是如何解开题目呢?github


首先,咱们先来看看题目是什么?算法


测试网水龙头安全

其中咱们要求开发者设计一个测试网的水龙头,其中用户必须在社交网络上发一条消息来获取代币,其次每一个社交网络帐户天天只能获取有限数量的代币,固然安全性的考量也要求系统必须可以抵御DDoS等恶意工具,此款测试的工具能够用于开发者获取测试网的代币,从而实验代币转移、运行智能合约。网络


原子跨链交换工具


原子跨链交换主要为了实现Qtum和BTC之间的原子跨链交换。区块链


其中原子跨链交换指两个用户持有两条链上的代币,按照约定的数量进行交换,系统在不依赖第三方的状况下,实现原子交换。这里的“原子”是指,两条链上的两笔交易必须保持交易同态,不能出现一条链上交易完成另外一条上交易失败的状况。原子跨链交换能够做为工具实现不一样链上数字货币的相互流转,支持除Btc之外其余数字货币和Qtum的交换。测试


其中得到本场奖金是来自于QtumSwap团队,接下去看看他们是如何交出技术完美答卷。编码

团队介绍

邱飞旸,QtumSwap项目的主要负责人,清华大学专业为密码学,共识算法和随机数


许迪星,西交利物浦大四信息与计算科学,来自Hyperledger,负责fabric-sdk-py的编写


徐斌,浙大信息与电子工程系大四,主要负责一部分合约,合约监听脚本,和一部分前端,正在从应用层过渡到系统和算法层


冯力全,来自北邮,如今仙女座科技作智能合约开发,实现了Qtum上的erc20与BTC原子交换中部署在Qtum的合约,以及改进用BTC在Qtum平台上租房的合约


5sWind,来自IBM和复旦,目前在IBM作区块链开发,主要兴趣在公链和联盟链,底层协议




QtumSwap项目介绍

1. Qtum和BTC:

基于Qtum以及BTC的UTXO实现了正常流程的原子交换。

具体原理详见:https://github.com/PRIEWIENV/QtumSwap/tree/master/quantum_swap


2. Qtum上的token和BTC:

Gateway合约已经能够支持完整的HTLC特性了,Gateway合约支持Qtum上的token和BTC上的UTXO脚本进行原子交换,其实也支持Qtum、Qtum上的token和任何支持EVM的主链进行价值交互。

合约代码:https://github.com/PRIEWIENV/QtumSwap/tree/master/contracts 的Gateway.sol


3. D-rent:

去中心化的airbnb。这里实现玩家用BTC来解锁模拟电子锁的树莓派。

具体原理详见:https://github.com/PRIEWIENV/QtumSwap/tree/master/demo/d-rent

其中在查看代码时咱们不难发现QtumSwap主要实现了如下三种跨链的原子交换分别为:

  1. Qtum和BTC的原子交换

  2. QRC20和BTC的原子交换

  3. 如何用BTC原子调用Qtum智能合约

团队基于Qtum的UTXO实现了正常流程的交换,全部的脚本都是硬编码在code里,为了快速实现。


目前Qrc20合约已经能够支持完整的htlc特性了,这样的改进版Qrc20合约也已经成功经过测试并部署在Qtum的公共测试网。


其中团队为此技术底层提供了特定场景:D-rent——去中心化的airbnb。基于这样的场景团队写了相应的智能合约并部署在Qtum链上了,正常流程已完成测试。


团队的计划是首先完成Qtum和BTC的原子交换,把超时情况测试了以后将它解耦作成一个工具。而后基于这样的工具完成咱们后面QRC20的原子交换。


这次黑客马拉松咱们见到了许多优秀的团队致力于用技术改变世界其中咱们不难发现许多Qtum技术个工具的狂热爱好者,咱们也很是欢迎愈来愈多的年轻Qtum开发者与咱们一同加入改变将来新经济的大潮中。