Lisk.Bike: showcasing custom blockchain transactions and sharing lessons
Gimly is a firm believer in moving the blockchain space forward by focusing on collaboration over competition, building with each others strengths, and learning from each others projects. For this reason, Gimly is excited to have joined a group of bright minds working on Lisk.Bike — an open source bicycle sharing project lead by Marc Buma from blockchain030 , together with Eric van Riet Paap , Bart Roorda , Susanne Pieterse and Albert van Egmond. It is a fine example of collaboration and building on top of existing projects, as it builds forth upon the open source code for the commonbike platform, as well as code written and submitted to the project by the Lisk community member JesustheHun . Since Lisk.Bike is primarily meant to demonstrate how the Lisk Software Development Kit (SDK) provides a new tool for developing blockchain applications, ensuring a strong learning effect is a primary objective of the project. An objective to which Gimly is happy to contribute through the documentation of the steps taken throughout the project on github , through the preparation of the Lisk.Bike workshop during the upcoming Lisk developers conference, and through this series of blogposts on the progress made and lessons learned by the team.
The aim of this blog series is not only to share the progress made in the project, but more importantly to ensure that the lessons learned by the team can further the blockchain industry in general. In this post, I will first set the scene for the Lisk.Bike project, and give a brief summary of the roles and components in the Lisk.Bike platform. Finally, I will provide a general direction on the lessons that we are aiming to learn, and the questions that we are planning to answer in subsequent posts in this series.
Lisk.Bike: Setting the scene
As I have written in an earlier post, understanding the context of innovation is essential in creating solutions that matter. So what is the context of Lisk.Bike? What are the main objectives of the project and what are the stakeholders’ drivers?
Let us start with the question that most likely comes to mind first: “Why a blockchain bike sharing platform?”. There are few use cases that scream blockchain technology louder than mobility sharing platforms. If you ever visited Berlin, capital of the shared mobility platforms, you will most likely have installed at least three different e-scooter and bicycle apps on your phone, each of which you have provided with your full credentials including your social security number and credit card data. You may even be unlucky enough to have paid a €50 deposit to use the tiny oBikes that flushed so many cities around the globe — only to say farewell to your money when they quit operations unexpectedly last year. With blockchain technology, a functional bike-sharing platform in which anyone can act as a service provider or user can be created while avoiding the need for disclosing private information and handing over control over funds to a central service provider.
With the benefit of a blockchain bike sharing platform explained, the question that remains is of course: “Why Lisk?”. The primary answer is simple; the project is funded by the Lisk community to showcase how the Lisk SDK provides a set of tools and libraries to easily create and customize blockchain applications. As Michiel Mulders describes in the Lisk SDK tutorial, the ease and customizability of the Lisk SDK primarily evolves around the use of custom blockchain transactions, allowing developers to implement the required business logic for their specific blockchain use-case. With the launch of the alpha version of the SDK, Lisk is inviting developers to start building their own blockchain applications with two primary objectives: 1) to let developers discover the tools that the Lisk SDK has to offer to them, and 2) to collect feedback from developers that will contribute to further improvements of the user experience of the final Lisk SDK release.
Thus, with Lisk.Bike, the primary objective is to learn. We, the Lisk.Bike team aim to learn more about the useability and pro’s and con’s of using the Lisk SDK for developing blockchain applications. We also aim to share these lessons with blockchain developers in and beyond the Lisk community. And, perhaps most important at this stage, the Lisk SDK development team aims to learn how they can further improve and optimize the Lisk SDK for future releases.
Lisk.Bike: how will it work?
The project is still very much in development, and the definite architecture and process-flow are optimized as the development progresses. In general, the solution will include the following components and roles:
Components in Lisk.Bike
- Smart bike lock (Concox BL 10):
- SMS, GPRS, GPS, and Bluetooth enabled.
2. Lisk.Bike sidechain, built using the Lisk SDK, deploying custom transactions:
- Create a BikeID (lisk public/private key pair) for each smart lock;
- Create a Bike UserID (lisk public/private key pair) for each user;
- Send, store and validate transactions for the start and end of bike rentals.
3. VPS server:
- Lisk.Bike administrators deploy their Lisk.Bike node here;
- Includes the Virtual lock Server
4. Virtual Lock Server, based on the commonbike platform:
- Connect the smart bike lock to the Lisk.Bike node;
- Receive bike GPS location and lock status;
- Send commands to smart lock, such as open lock or send lock status, in accordance with custom transactions in Lisk.Bike sidechain;
- Sign custom transactions using BikeID private key.
5. Client / Lisk.Bike web application:
- Create user account;
- Create admin account;
- Provide bike location and status;
- Call Lisk.Bike custom transactions.
Roles in Lisk.Bike
- Administrators: deploying and managing LiskBikes
- Running a Lisk.Bike node and Virtual Lock Server on VPS;
- Onboarding of smart lock on the Lisk.Bike node via server (registration of Imei via SMS);
- Create BikeID (public/private key pair) for each smart lock;
- Fund each BikeID with Lisk.Bike coins (for transaction fees as an anti-spam measure).
- Run a Virtual Lock Server:
- Manage smart locks’ Imei’s + BikeID signatures;
- Run smart lock commands;
- Manage funds of LiskBikes.
2. Users: finding and renting LiskBikes
- Create Lisk.Bike account: public/private key;
- Obtain Lisk.Bike coins;
- Search for available Bikes in webapp;
- Start/end rentals.
Lessons to be learned
Learning is the main objective for this project. Even though the most valuable lessons in life are always those most unexpected, we aim to facilitate the learning process by defining the following guiding questions:
- What are the major challenges and solutions in developing decentralized sharing platforms on blockchain technology?
- How does the use of custom transactions in Lisk compare to the use of smart contracts in Ethereum?
- What are the major pro’s and con’s of the alpha version of the Lisk SDK?
- How could the Lisk SDK be further improved?
In this blog post series, I will share the progress of the project and our insights. Do you have any suggestions, ideas, comments? Make sure you subscribe to my blog, and I would love to hear from you in the comments below, through www.gimly.io, or through LinkedIn.
Originally published at https://www.gimly.io on November 1, 2019.