Professional Documents
Culture Documents
Whitepaper:
Tokit.io
Document purpose
The purpose of this document is to present a detailed technical
description of the SingularDTV Decentralized application, Tokit.io. It will
explain the purpose and features of the system, the interfaces of the
system, what the system will do, the constraints under which it must
operate and how the system will react to external stimuli.
Scope of Project
The S-DTV Tokit.io (the platform), is a multi-layered system that allows
considerable flexibility and decentralization in funding and monetizing
entertainment products such as movies, TV shows and music - any
piece of entertainment or IP that can be digitized in a decentralized
way, using blockchain technology.
To achieve this, the platform provides the following functionalities
through its different interconnected modules, that provide:
• Wallet management
• User authentication
• Project creation
• Ethereum Smart Contract System (SCS) deployment for each
project
• Rights Management Mechanisms
• On-chain payment processing
• On-chain token (project) registry
Wallet Management and User authentication
Since many parts of the platform operate on the blockchain, funds
never flow through our servers. In order for our users to be able to
interact with the Ethereum blockchain, they need a private key. Our
interface allows them to generate one locally, in their browser without
touching our servers, and then encrypt that private key with password,
and download it in a special file called “wallet”.
We provide recovery mechanisms through a 12-word mnemonic
phrase, using BIP32 and BIP39
User’s public key and address are derived from their private key. Once
the wallet is created or imported in our front-end application, the user
can interact with the Ethereum blockchain. Ethereum addresses are
160 bit values represented in 40 characters long hexadecimal format.
Off-chain it has:
The payment receipt is sent to the server alongside all the collected
information about the project:
The server verifies the payment, and if ok adds the project creation into
a job queue and returns a job id to the client.
The creation job runs:
1. Add an entry to our SQL data base with the project, and flag it as
pending.
2. Deploy the 2 Smart Contracts (Token and Rights), with the given
parameters. All the created tokens are allocated to the user
(project creator).
The client will verify the job creation until it’s done (it may take a few
minutes to deploy everything on the blockchain). Once the creation is
done, the user will see the newly created project in their dashboard UI.
The user can now transfer his newly created tokens to any ethereum
address, using our wallet interface. Since the tokens are directly linked
to Rights/Rewards aspect of the platform, this transfer of tokens
represents transfer or rights, effectively turning tokit into a Rights
Management Gateway. This is a simple and elegant, yet very powerful
solution, to a very complicated problem.
As seen in the description, Tokit is a hybrid application, with some
functionalities performed by our back-end server(s).
It needs 2 global
(as opposed to per-project) smart contracts to function properly: