Description
The problem
Business transactions are more complex than they appear: they can involve multiple parties that don’t trust each other, they can be comprised of multiple payments over time, and are often regulated by contracts. Because of all these reasons, businesses have to hire the service of expensive third-parties to act as the trusted party in a transaction. Things become even more complex when you have to trade with a business based in a different country.
Cryptocurrencies solve the issue of cross border payments, but that’s only a small part of the problem. Take for example shipping an item internationally: buyers don’t want to pay in advance because they don’t know if the item will be shipped, sellers don’t want to ship before receiving payment.
Our Solution
LockerX uses Stellar Smart Contracts to solve the aforementioned problem of trust between different parties. Stellar Smart Contracts are purpose-built accounts that are limited in the operations they can make, this makes them easier to audit than smart contracts on other platforms.
LockerX creates and manages smart contracts for you, you just need to choose your use case and fill in the required details. In the future, we want to bridge the gap between the digital cryptocurrency world and the real world by making the smart contract legally binding. Imagine digitally signing a sale contract and at the same submitting a payment, all in one transaction!
The first smart contract we present is for Proof of Funds: the funds are locked in the smart contract until the other party confirmation, after that the funds will be returned to the owner wallet. For operations that modify the state of the smart contract, we always include a link to Stellar Expert so you can audit every operation.
More about LockerX
LockerX includes a custodial wallet that is used to keep users funds and create smart contracts. The wallet secret key is stored on Google Cloud SQL (encrypted at rest) and encrypted using Google KMS. Only one non-exposed service has access to this data. As support for SEP-0007 wallets increases, there will be less need to use this intermediate wallet.
We are good citizens in the Stellar Ecosystem: all wallets and smart contract accounts receive their unique federation address so they are easier to share with others. All smart contract transactions have a link to Stellar Expert so they can be independently audited.
LockerX accounts can be protected with Two Factor Authentication, visit your account page to enable it.
Goals
Integrate with wallets and the Stellar ecosystem
We do not want to create yet another walled garden application, for this reason, we believe it’s fundamental to integrate with the wider Stellar ecosystem:
- Implement SEP-0007 (Delegate Signing) to let users create a smart contract using their favourite wallet. More security-conscious users will appreciate that funds will always be under their control.
- Implement SEP-0006 (Anchor/Client Interoperability) to let users deposit and withdraw fiat and cryptocurrencies.
- Expose and document the HTTP API we use to create smart contracts. This API will let users automate their workflow.
Develop more Smart Contracts
Now that we have completed building the backend infrastructure and found a satisfying way for users to interact with smart contracts, we can continue to build more (and more exciting) smart contracts that mimic existing commercial contracts:
- Letter of Credit/Escrow: the funds are locked and kept safe until the business transaction is completed.
- Vesting Payments: used to pay, for example, a contractor only after some milestones are met.
- Security Deposit: this is similar to the UK Deposit Protection Scheme. The funds are locked for a predetermined period and released only after the two parties agree how much of the deposit will be returned.
Integrate with existing electronic signatures legal framework
The long term goal is to provide a tool that replaces existing financial contracts, to achieve this we need to integrate with the existing legal framework that is concerned with electronic signatures. We will start by looking at the EU eIDAS regulation and how it can be applied to our use case.
Timeline
Short Term (Q1 2020)
- Implement SEP-0007
- Document and expose HTTP API
- Add more smart contract types
Long Term:
- Implement SEP-0006. This goal can be moved to earlier if it gains wide support before Q2 2020.
- Identify a Law Firm that can partner with us to work on the legal side of LockerX smart contracts
- Grow the product development team
Links
Website: https://lockerx.co.uk
Twitter: https://twitter.com/lockerx_uk
Emails: info@lockerx.co.uk / security@lockerx.co.uk / privacy@lockerx.co.uk
Anything Else
There is not much information available on Stellar Smart Contracts, so we decided to start blogging about them:
LockerX is developed on .NET Core, as part of this project Francesco (@fracek) contributed with bug fixes and improvements to dotnet_stellar_sdk
.