Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

The goal of this challenge is to create high level architecture for automated (drone) delivering model using Blockchain (Smart Contract) technology which should be highly transparent so that all parties involved can prove the contracts are set correctly, each parties to get payment correctly, has the smallest intermediate cost, and goods are delivered correctly.

The architecture created is planned to be an input for PoC application challenge series in the future on Topcoder.

We will be providing detail actors and use cases to create the architecture.

 

Competition Task Overview

We are looking for you to come up with ideas on how drones can verify each other, then design high level architecture using Hyperledger Fabric Blockchain technology for following imaginary future scenario with all the different actors (users and companies) involved.

The architecture must show the details of how Blockchain is used (what are the prerequisites, and data to be written inside Blockchain).

 

Scenario:

 Let’s assume we will be creating a mobile app where user can rent a drone. For this challenge we’ll assume that user will be renting a drone to deliver parcel box to a friend’s house. In this world, drone will come to the user automatically, pick up the box, and drop the box to anywhere the user has specified to.

We assume that sender and receiver lives far enough that it will take multiple days for the box to arrive to the receiver’s house. Drone needs to stop at unmanned charging station to recharge its batteries during the way.

1. 
The user will open mobile app. This mobile application is created and provided from telecommunication provider (the mobile phone company).

1.1. User will be paying for the drone rental via phone company’s pay bill.

2. On the mobile app, the user will see the list of drone rental companies. These rental companies operates drone vehicles that can carry boxes to wherever the user wants them to drop.

2.1. On the app, the user select the drone rental company that best fits their need, and requests a pickup location and time, also with the information where the box should be dropped at.
2.2. Drone rental company receives the payment from the phone company.

 3. The drone owned by the chosen rental company will pick up the box from the sender.

3.1. Note that drone needs to understand that the sender is the actual user who requested for the rental from the application.
3.2. Note that the sender might not be at the requested location for some reason. In that case, the rental agreement should be cancelled.

4. The drone will deliver the box, but needs to stop and charge it’s batteries multiple times during the way. Each charging station are operated by different companies. Also, charging stations are all unmanned station. The charging station can only charge drones that are partnered with specific drone rental company.

 4.1. Note that unmanned charging station needs to understand that the drone belongs to their partnered rental company.
4.2. Charging station companies receives the payment from the drone rental company.
  

 
Scenario Overview

  

In this world, there will be multiple Drone rental providers and multiple charging stations.
 

Few key points: 

1. Human is only engaged only at the beginning (the user/sender of the box).

2. Please assume that human and devices (drones and charging stations) have different SIM cards (mobile phones for a human) to identify himself/itself. The binding of SIM to the actual human being is managed by the telecommunication (phone) company and knows how to contact them. The binding of SIM to each drones are managed by the drone rental company. The binding of SIM to each charging stations are managed by charging company.

3. All companies are involved in the same Blockchain network built with Hyperledger Fabric

4. You can assume that this is “perfect world”, where machines will not break, drone can move to its desired destination correctly, and there will be no other actors to interrupt the scenario (ex. box getting robbed during the shipment).

 

Actors and Terminology: 

 

Prerequisite:

The architecture should use Blockchain (Smart Contract) technology using Hyperledger Fabric. It must be designed so that it is highly transparent, has the smallest intermediate cost reliably.
1. 
We will use Hyperledger Fabric consisting of companies participating in the above scenario. i.e. Consensus algorithm used is PBFT
2. 
Note that in Hyperledger, smart contracts are implemented by chaincode.
 

Items that needs to be clarified and written in the document:
1. Please come up with some idea on following 2 items.
1.1.
 How drones can identify the user upon arrival and user can identify the drone that it is the actual drone he/she has rented.
1.2. 
How drones and unmanned charging station can verify that drone is owned by, and charging station is the correct operator of partner company.

For example on (1), drones can have number plates where a user can identify that is the drone assigned from the rental company and the user punching code into drone to identify him/herself. But we’re looking for better idea that is secure, more automated, and trustworthy from everyone.

Please note that it’s not just “how” both will verify each other physically, but we’re looking who (or what application) will be reading and writing information using Blockchain.

2. 
High level architecture of the system with following items written. The architecture does not have to be a level that can be implemented immediately, but it must be document that has a use case list, using sequence diagram, component diagram, flow diagram of Blockchain, etc.
2.1. 
How Blockchain (Hyperledger Fabric) is used and the advantage of using Blockchain over traditional system model is clarified.
2.2. 
List of all contracts between the parties should be mentioned. The architecture should clarify how each contracts are verified and the services are provided.

2.2.1. Please think that in existing situation, a human being can be involved between service provider and receiver to verify the other parties (for example by checking their photo ID, swiping credit cards, or getting signature). With this scenario, the architecture should document how each service provider can verify/authenticate the provider, and be able to conclude each contracts and get payments correctly.
2.2.2. 
We want to see at a glance what kind of contracts (or agreements) need to exist, with which parties.
2.2.3. 
The risk should be as few as possible for each business operator/companies.
2.2.4. 
The list or table should be complete without any omission.

2.3. What data will be written to Blockchain and how that is handled within the provided scenario. Following are the items we will be looking for;

2.3.1. What will be the prerequisites and assumptions.
2.3.2. 
Who will be writing what kind of data into the blockchain and how chaincode is used from high level.

2.3.2.1. We will just need high level components and brief summary of data that will be written. No need to architecture the details of the fields and data written.

2.4. Modules or components are clearly defined. Also the scope and responsibility of each components should be clarified.
2.5. 
Detailed list of technical issues and potential problem areas to realize the scenario if any.
2.6. 
List of assumptions and ideas you have put in to create the architecture.

3. 
List of functions necessary for the mobile application that user uses
3.1. 
If you think there will be other application necessary to fulfill the scenario, please write them down with brief overview.

Notes
1. As the scenario is an imaginary scenario, we understand there needs to be multiple assumption to decide and make architecture clear. You are encourage to put your own assumptions and ideas into the scenario/use cases, and state those details into the document.
2. 
The architecture should clearly state how to realize reliability, persistence, and transparency of services autonomously
2.1. 
It should be realistic
2.2. 
Innovativity is evaluated as plus

2.2.1. Being a system that does not generate intermediate cost or operating expenses as much as possible.
2.2.2. Being a system that conduct contracts and services without human intervention as much as possible.

2.3. It is encourage to put your own thoughts and ideas. Also digging into details of technical challenge area to provide inputs to future implementations is considered as plus.

Output Format
A document more than 4 pages in Word or PDF format to describe your architecture.
It should be written in plain English.
Use charts, diagrams and tables to explain your ideas.

Judging Criteria
1. As an ideation challenge, this contest will be judged subjectively by the client and Topcoder. However, the following criteria will largely be the basis for the judgement. We will be sharing the scores to forums for each submissions after the challenge:

2. Completeness and Innovativity of idea for (1) (30%)
2.1. Is your idea secure, more automated, and trustworthy from everyone.
2.2. Is your idea seen as innovative

3. 
Completeness and Depth of architecture for (2) (30%)
3.1. 
Are all requirements and necessary items correctly captured and met?
3.2. Does the architecture cover what makes it better if we use Blockchain instead of traditional system?
3.3. Does the architecture have list or table of all the contracts necessary for this scenario and its details?
3.4. Is architecture constructed in logical manner?

4. 
Completeness and Depth of function list for (3) (20%)

5. 
Readability (20%)
5.1. Easy to understand.
5.2. Tables and figures are highly recommended.
5.3. Is document clear on the assumptions you made, what is your unique idea that could differentiate from other submissions.

Checkpoint

We'll also be warding 5 checkpoint prizes at $100 each. You do not have to submit for checkpoint to earn final prizes, but you need to submit to the final phase in order to qualify for the checkpoint prize.

If you want to submit for checkpoint, then you must submit before 03.22.2017 09:00 EDT, submissions after this date won't be considered as checkpoint submissions.


Reference
Following site has reference to many useful resources that you can learn about technologies such as SmartContracts used in this challenge.
http://crowdsourcing.topcoder.com/softbank_blockchain_asset_library



Final Submission Guidelines

Submission Deliverables

Please see details above for submission requirements.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056871