基于Lisk SDK实现DeFi应用

Lisk SDK致力于给开发人员带来了在Lisk主链上快速开发去中心化应用(DAPP)的技术平台。2019年7月24日,当我们去荷兰社区参加Lisk的社区活动,正好与Lisk SDK Alpha的发布不期而遇。前来发布这一消息的Max和Rachel跟我们讲解了Lisk SDK的发展和未来,以及Lisk SDK Alpha给开发人员带来的快速开发DAPP能力:

1.快速搭建一个自定义区块链测试相关应用逻辑;

2.自定义的交易类型可以让区块交易按照业务需求添加属性,以及交易发生前后的计算逻辑;

从现场的演示我们感受到:

1.使用Lisk SDK 创建一个自己开发的链非常快,配置好基本环境后,区区几行代码就可以运行。

2.开发人员不需要学习新的特定开发语言,标准的JS(Type Script)加上对SDK基本功能的理解就可以开始开发。

3.虽然没有智能合约的支持,但是自定义交易(区块数据结构)和更新逻辑,并且开发 调试都更为简单便捷。当然,在版本动态升级,不同应用的互相调用等方面,Lisk SDK还需要做出很多改进。

4.由于Lisk SDK开发的应用运行与侧链,成本相对较低。另外即使代码出现性能问题,只会影响到侧链本身,就不会出现一个大流量应用阻塞整个主链的场景了。

Lisk SDK Alpha已经引起越来越多开发人员关注,相信正式版发布后Lisk生态的应用将会快速增长。纵观各个区块链应用,与金融服务相关的DeFi一直在快速增长,并吸引了大量的资金。下面来自dapptotal的统计可以看到,各大主链的锁仓资金总额已经超过10亿美金。


各个DeFi应用锁仓金额

在各种DeFi应用中,借贷服务是其中被广泛接受的一种形式。它为持有数字资产的用户,提供了除交易和质押之外一种新的资产管理方式。2019年10月的数据显示,MakerDAO 的锁仓ETH价值达到2.6亿美金。

在对Lisk SDK Alpha的了解基础上,我们也尝试实现运行在Lisk 侧链上的借贷平台。其基本场景如下:

1.用户A有一100个Lisk,希望通过借贷获取一定的收益,于是把100个Lisk充值到借贷平台上;

2.用户B使用Lisk的侧链应用,并得到了对应的Token,1000个EXT;

3.用户B需要用Lisk做交易,又不想卖出EXT,于是选择到借贷平台上抵押EXT,借入Lisk;

4.用户B的借款请求匹配到用户A的放贷,按照市场价格的一定比例如60%,得到对应数量的60个Lisk,期限1个月,利息1%;

5.一个月后,用户B偿还60.6个Lisk,拿回1000个EXT,用户A得到0.6个Lisk的利息;

以上过程可以用下面的流程图表示:


借贷平台基本流程

对应于这些交易场景,我们需要 创建对应的自定义交易类型:

1.Deposit_transaction: 用户A和用户B都需要用到,用于分别把放贷和抵押的数字资产转入贷款平台;

2.Lend_transaction:用户A确认进行放贷,并同时设置最长借贷时间和利息;

3.Borrow_transaction:用户B用抵押的资产借入对应资产,并确认归还时间和利息金额,以及违约条款;

4.Clear_transaction:借款到期后,借贷双方结清资产转账;各自收到本金利息和抵押资产;

以上的业务模型和逻辑,通过Lisk SDK都可以快速实现,并运行于Lisk的侧链。对于区块链底层的数字加密,验证,区块数据传输等底层协议都不需要涉及。这也正是Lisk SDK设计之初立足于对DAPP开发赋能的初衷,具有一定开发经验的程序员都能通过短期的学习迅速掌握区块链应用开发的能力。

当然,从一个完整的产品体验来说,以上场景只是基本的原型,对改进用户体验需要考虑以下方面的问题:

从方便用户操作的考虑,可以开发支持LiskHub的插件,让用户在熟悉的客户端完成相关操作;

保证交易价格的公平,可以用一定时间范围如2小时,5家交易所的平均成交价作为计算基础;

如果借款用户没有按时归还贷款,平台最好支持自动清算抵押资产,规划放贷用户所借出资产;

随着Lisk SDK的不断升级完善,例如拜占庭容错的POS共识协议,侧链之间模块的调用机制等,开发者也可以实现更多复杂的功能。对于目前借贷DeFi的应用,除了做到以上改进功能之外,可以考虑在Lisk侧链平台上开发以下扩展来进一步完善平台功能:

1.实现对用户的信用贷款,通过分析用户的钱包地址历史交易分析,评估用户的信用与风险级别,按照不同违约风险可无抵押借贷一定金额的资产;

2.跨链资产交易,除了支持Lisk和其侧链上发行的Token,还可以支持跨链交易如BTC和ETH等主流数字资产,使得用户使用平台的便利性提高;

3.对用户资产的安全保护,首先可以通过对放贷和抵押资产的多重签名地址,由侧链节点共同签名,发生交易需要经过其中某几个节点都确认之后才能完成;避免单个节点私钥丢失造成资产丢失的损失;

4.合约扩展,如果要支持更多的类型的金融产品和更复杂的业务逻辑,例如基于数字货币抵押发行稳定币,就需要有智能合约功能的支持,使得产品逻辑的升级变化更为灵活高效;

以上是对Lisk SDK技术的理解以及实现DeFi平台的初步想法,随着Lisk SDK的不断迭代,以上的设想也会逐渐可行。非常期待Lisk SDK正式版的发布,当Lisk生态下的DAPP百花齐放的时候,也将是DeFi相关平台蓬勃发展的最好时机。

你可能感兴趣的:(基于Lisk SDK实现DeFi应用)