OPEN ARCHIVE
ABSTRACT
The Open Archive is a decentralized network designed for digital content to be published by individual creators. The intention is to enable a universal, decentralized library, of which digital contents, include but not limited to digital books, comics, videos, photos, studio or homemade soundtracks, documentaries, tutorials, software and games can be published, reviewed and traded.
Traditionally, these contents are published and distributed via different channels such as publishing houses, software and game stores, online Appstore, YouTube and social networks. With blockchain, smart contract and crypto technologies, we see no reasons that we should be contented with the status quo that these contents continue to be siloed in disparate databases, buried deep in digital landfills and sold with middlemen’s fee charged.
The purpose of Open Archive Network is to establish a “global public library of digital contents”, by which such digital contents can be published, reviewed, discovered and traded from a single source that is not controlled by a private company or government, but instead, owned and governed by the community, by everyone.
Everyone can contribute contents and acquire them on Open Archive Network. Everyone can acquire Open Archive Tokens and be part of the Open Archive Community.
Copyright ? 2017 Open Archive Foundation
TABLE OF CONTENT
1. A BIG BANG OF BYTES
2. OPEN ARCHIVE
2.1 Open Archive Participants
2.2 How Open Archive Works?
2.3 Discovery Incentive Plan
3. EUREKA DAPP
4. A USE CASE
5. TECHNICAL DESCRIPTION
5.1 DAG
5.1.1 Main DAG
5.1.2 Main Chain
5.1.3 Side DAGs
5.2 Transactions
5.3 Consensus
5.3.1 Witnesses
5.3.2 Witness Round
5.3.3 Transactions Confirmation Process
5.4 Security
5.4.1 Double spending
5.4.2 Tamper
5.5 Rewards
6. ADVANTAGES
6.1 Open
6.2 No Gatekeeper Fee
6.3 Faster Transaction
6.4 Payment-Ready
6.5 Social and Diversified
7. MORE USE CASES
8. ROADMAP
9. COMMUNITY DEVELOPMENT
10. REFERENCES
1. A BIG BANG OF BYTES
In his best-selling book Sapiens: A Brief History of Humankind, Yuval Noah Harari argued that the most important quality that human has is the ability to tell stories. We can work together with strangers because we believe in things like gods, nations, money, companies and human rights, none of which exists outside the stories that we invent and tell one another.
You can never convince a chimpanzee to give you a banana by promising him that after he dies, he will get limitless bananas in chimpanzee Heaven. Only Sapiens can believe such stories. This is why we rule the world, and chimpanzees are locked up in zoos and research laboratories.
- Yuval Noah Harari
Today, stories are contained in digital contents in forms of e-books, photos, soundtracks, apps, games, videos, documentaries, and movies, stored on billions of computers known as smartphones, tablets, laptops, and servers connected by the internet.
According to a Google Advance Algorithm, there are 129,864,880 books ever published; there are 97,000,000 songs ever recorded and still counting. As of 2017, there are 2,800,000 and 2,200,000 apps respectively on Android and iPhone; On Steam, there are 781,000,000 registered games; these digital contents have already topped up to a staggering 1,012,864,880 titles.
How to discover a particular content in this byte cosmos? You may suggest that we search. Unfortunately, the “virtual library” exists nowhere except in our imaginations. Most content data are siloed in disparate databases of often rivalrous companies such as Google, Apple, Amazon and thousands of publishing houses from all over the world.
More importantly, does it make sense to store all stories of humanity in proprietary databases owned by private companies that die someday?
2. OPEN ARCHIVE
We propose the Open Archive, a digital content library that is built for public, owned by the public and governed by the public. Creators could have their contents published without permission and sold free of commissions. Never would they need to pay the 30% cut to gatekeepers like Apple Appstore and Google Play Store.
Best part is that the cryptocurrency used on Open Archive Network will appreciate in value so they can share the value of the network and community they help to build.
Digital content metadata stored in Open Archive includes the following strings and number:
1. A content title; The content title is a human readable “name” of the content such as A Beautiful Song;
2. A description of the content with a length restriction of less or equal to 280 characters. The content description explains what the content is all about; The length restriction is applied because of two reasons: 1) people hate reading lengthy passages; 2) developers might want to synchronize the reviews up to Twitter;
3. A 32-bit content hash; the content hash provides with an access link should readers choose to get a copy downloaded;
4. A price set by creator when she/he submits the content entry; the price tells the consumers how much Open Archive Token they will pay if they choose to download;
5. Discoverer Incentive Plan, by which content discoverers/reviewers can share a fraction of content sales with creators, so they are incentivized to recommend quality content;
2.1 Open Archive Participants
There are four roles on Open Archive: creators, witnesses, discoverers and consumers.
1. Creators are content authors who upload their contents to Open Archive; When a creator has a content published, she can choose either 1) join the Discovery Incentive Plan to share profit with discoverers who post reviews; 2) not to join the Plan to share profits with discoverers;
2. In Open Archive Network, the publishers are also the miners. Before posting a transaction, they refer to previous transactions to earn the right to publish a transaction of their own;
3. Discoverers are people who write reviews of contents on Open Archive; since the reviews are streamed on Open Archive Eureka, this allows contents to be discovered; hence reviewers are called discoverers on Open Archive Network and Eureka community.
4. Consumers are people who download and purchase paid ones;
2.2 How Open Archive Works?
Eureka is an autonomous Decentralized Application (DApp) that enables content publishing, content review and content purchase/download. It is built on Open Archive Network, which utilizes Delegated Proof of Stake consensus.
On Eureka DApp, content reviews are streamed by Pub/Sub model like that of Twitter. Consumer can follow creators and discoverers so everyone has an entirely personalized content review stream.
The following models are used to personalize stream of each users on Eureka Dapp:
Publication/Subscription Model
It works like a Twitter of Content:
● Users can follow creators;
● Users can follow discoverers;
Like Model
● Unlike the Like on Facebook, it costs user 1 token to like a review;
● Like on Facebook, the action Like is streamed on DApp as an “update”;
2.3 Discovery Incentive Plan
Discovery Incentive Plan is a content profit sharing smart contract between creators and discoverers. The purpose is to help new contents to be discovered by consumers with help of community, aka, discoverers.
To make things simpler, the Discoverer’s Incentive Plan sharing ratio between creators and discoverers are predetermined, Creators can choose to participate or not to participate.
If the creator chooses to participate in the Plan, she agrees to share sales revenue with discoverers who wrote reviews that generate downloads/purchase of their contents. The proceeds are automatically sent to wallets of creators and discoverers. The proceeds will be automatically redistributed as follows:
1. Week 1: Discoverers receive 50%;
2. Week 2: Discoverers receive 30%;
3. Week 3: Discoverers receive 20%;
4. Week 4: Discoverers receive 10%;
5. The Plan expires on 1 month; the creator can choose to end or renew.
3. EUREKA DAPP
Eureka is a social discovery DApp of Open Archive. Creators, consumers and discoverers use Eureka to interact with Open Archive Network.
Eureka DApp runs on Web, Android and iOS. Eureka App retrieves data from the Open Archive Network and streams content by title and descriptions so users can browse the contents by descriptions and reviews.
On Eureka Dapp the reviews are streamed and consumers can read them and discover contents they like.
Eureka DApp adopts a Twitter-like Publication/Subscription model, by which consumers can follow creators and discoverers.
The DApp allows users to perform the following operations:
1. Account management
2. Browse the content review
3. Add a review on a content hash and review;
4. Up-vote on a review
5. Download content and pay for it in tokens
6. Check token balance
4. A USE CASE
Assume that you are a creator, a songwriter.
1. You register an Open Archive account;
2. Your content A Beautiful Song is uploaded onto Open Archive nodes and a cryptographic hash is generated;
3. You send A Beautiful Song publishing transaction up to Open Archive Network, checking the box of “Discovery Incentive Plan”, which means you agree to join the plan;
4. The A Beautiful Song transaction is verified by new transaction and it is published on Open Archive Network, which looks like this:
Title: A Beautiful Song
Description: This is one of the most beautiful songs that I have heard when I was travelling in the countryside of Provence, South France. I fell in love with it and the girl who sings it at a nice café.
Content Hash: a39a3ee5e6b4b0d3255bfef95601890afd80709
Price: 50
Discovery Incentive Plan: Yes
5. A consumer Alice downloads a copy of A Beautiful Song and 50 tokens is transferred from Alice’ wallet to your wallet;
6. Alice likes A Beautiful Song and decides to post a review, which costs her 1 tokens;
7. Fred discovered A Beautiful Song from Alice's review, and he buys one copy. Alice receives 25 tokens and the remaining 25 tokens are transferred from wallet of Fred to your wallet.
5. TECHNICAL DESCRIPTION
Disclaimer: The technical solutions described in this document are what we think the best solution available at present to build the software that solves the problem that we mention in the first part of the document. As technologies continue to progress, the Open Archive Foundation may choose technologies that are considered best in implementation.
Introduction
The underlying data structure of Open Archive Network is Directed Acyclic Graph (DAG), compare to the traditional blockchain such as Bitcoin there is no block in the network, every transaction in a DAG is like a block in a bitcoin or Ethereum blockchain. Every node can publish transactions to Open Archive Network. Each transaction refers to and verifies earlier (parent) transactions. New transactions verify parent transactions directly and grandparent transactions indirectly.
Multi transactions can proceed simultaneously; the transactions grow and finally form a stable DAG.
Since there are no blocks, miners and block reward in the DAG network. There is no need to waste awful load of electric power to sustain the network.
Open Archive Network is asynchronous; this means the nodes in the network does not have to hold the same set of transactions. Diverging in the network is normal, with growing transactions, the branches converge and the DAG stabilizes.
The transactions in Open Archive Network tend to be minuscule; low fee would facilitate transitions and induce a booming marketplace. In the meanwhile, a low transaction fee would have to be expensive enough to keep spammers away.
We have decided to build Open Archive with JavaScript, which is the most popular programming language in the world with largest pool of developers. Plus JavaScript is a cross-platform language so Open Archive will be accessible in all mainstream platforms. The development communities evolve very fast and are willing to adapt to new innovations.
5.1 DAG
In mathematics and computer science, a directed acyclic graph (DAG ?d?ɡ), is a finite directed graph with no directed cycles. That is, it consists of finitely many vertices and edges, with each edge directed from one vertex to another, such that there is no way to start at any vertex v and follow a consistently-directed sequence of edges that eventually loops back to v again. Equivalently, a DAG is a directed graph that has a topological ordering, a sequence of the vertices such that every edge is directed from earlier to later in the sequence. [1]
There are two types of DAG in Open Archive Network: Main DAG and Side DAG. Main DAG is the backbone of Open Archive Network; Side DAG servers as a service or Dapp for a specific scenario.
5.1.1 Main DAG
Terminologies:
● Nodes: The Open Archive Network is composed of nodes, they are entities that create and validate transactions.
● Transaction: Each dot in the graph is a transaction.
Every node can publish transactions to Open Archive Network. Each transaction will refer to and verifies earlier (parent) transactions. New transaction verifies parent transactions directly and grandparent transactions indirectly.
Other than Main DAG, there is another DAG which we call Side DAG. It will be explained in more details in later section.
5.1.2 Main Chain
Terminologies:
● Witnesses: There are N delegates called Witnesses in DPoS consensus;
● Witness Transaction: Transactions created by witness
If we start from any transaction, there will be multi paths to trace back to the Genesis. From any transaction, we can find at least one path to refer to all the other transactions directly or indirectly. If we add the index for the Main Chain, assign 0 to Genesis, then increase by 1 moving forward along the Main Chain, finally we get the index of Main Chain.
Abbreviations:
● T: Transactions
● WT: Witness Transactions
Witness Main Chain has the most Witness Transactions, from one of which you may move backward to any other normal transaction on the graph, these normal transactions then have the same index.
5.1.3 Side DAGs
Some decentralized network store all data in one place and this often causes bloated data that makes it slow. In Open Archive Network, we provide the capability to isolate data to different DAGs by different purpose.
This makes the system more modular, the main DAG only contains core data from core Dapps/Services, which is kept leaner.
A Side DAG is like a service provider such as Avatar Management Service, which helps you to manage your avatar, including uploading, updating, etc. You can upload your avatar to AMS DAG after you register your address; the avatar file is stored in the AMS Side DAG instead of in the Open Archive DAG.
Main Chain in Side DAG uses the same algorithm as in Main Chain.
5.2 Transactions
To create a transaction, a node needs to do the following:
● The node randomly chooses two other transactions to refer to according to an algorithm. In general, these two transactions should be relatively new.
● The node checks if the two transactions are valid:
? Check if the signature is valid
? Check if they contradict with each other
● If they are both valid, the user adds the hash values of these two transactions into its own transaction
5.3 Consensus
Consensus is vital for every decentralized network as it secures integrity of data across all nodes, so the network could sustain and scale.
To cope with possible high growth and secure final data integrity, Open Archive combines two kind of consensus:
● Directed Acyclic Graph (DAG) consensus
● Delegated Proof of Stake (DPoS) consensus
5.3.1 Witnesses
A witness is a special type of account that is registered with a witness registration transaction; these accounts have a special purpose within Open Archive as they are allowed to generate Witness Transactions for the network.
Any account can be a witness, but only accounts with the required stake are allowed to create Witness Transactions.
5.3.2 Witness Round
During one round, each witness will create Witness Transaction. If a witness cannot create transaction during a round, another witness will take his place and create instead.
At the beginning of each round, each witness is assigned a slot indicating their position in the transaction generation process. Once a node with an enabled active witness has created a transaction, the node associated with the witness signs and broadcasts that transaction to the network.
Once the transaction is broadcasted to the network, the next witness will proceed in the slot assigned to them.
5.3.3 Transactions Confirmation Process
There is a special kind of transactions, published by witnesses, is treated as Witness Transaction and will be a node of Main Chain in the future.
Before a transaction is confirmed, the Main Chain for every node is different because there are new transactions added constantly, and the Main Chain is different for every node, every node has its own Main Chain depending on its transaction data set. When number of transactions increases and there are witnesses involving in transaction confirmations, we will have an identical and final Main Chain to everyone.
Witnesses publish Witness Transactions within the network; these witnesses are selected by a voting protocol that lists all the parameters, configurations and history performance for each witness candidate. Each stake holder can cast less then N votes, and the votes are weighted by the amount of tokens that the stake holders possess.
Transactions are not valid until they are verified by newer transactions that refer to them. If the transaction can be traced back from transactions created by witnesses, the transaction is deemed verified.
5.4 Security
5.4.1 Double spending
If 2 transactions are identical, the second transaction will be declined.
If 2 transactions are not continuous and buried deep in the network and there seem to be no relation exist between them, we can use the Main Chain index to identify which is valid. The transaction with smaller index will be deemed valid.
5.4.2 Tamper
In DAG, if a malicious user tries to tamper transaction data, it would invalidate all its child transactions due to the hash changes introduced by the tampered transaction. It’s almost impossible to change all the following child transactions since the network grows very fast. Additionally the final state of the transactions is verified by all witnesses, it is highly impossible for one user to control all the witness nodes.
5.5 Rewards
There are 2 kinds of rewards in Open Archive Network:
● Reference fee: a child transaction gets the fee after it refers to its parent transactions;
● Witness fee: Witness gets the witness fee after all Witness Transactions are verified in one witness round. The fees from all transactions that have the same index with the Witness Transaction will be aggregated and divided evenly and reward to all the witnesses in that witness round.
6. ADVANTAGES
Open Archive Network is both a library and a marketplace. It has advantages as follows:
6.1 Open
Open Archive is a DAG-based transaction network, on which anyone can publish content. Nothing can be censored by anyone, including us.
6.2 No Gatekeeper Fee
Open Archive is free as free beer and as freedom of speech. Unlike Apple Appstore or Google Play Store, Open Archive is an infrastructure owned by the community of Open Archive Token holders. Download/stream/view proceeds go to the creators and discoverers. At Open Archive Network there is no gatekeeper who collects the 30% cut.
6.3 Faster Transaction
The more users, the faster the transactions get verified.
6.4 Payment-Ready
There is a community cryptocurrency Open Archive Token in the Open Archive Network. Should creators choose to charge for their content, they simply set a price on the content. Whenever there are downloads, streaming or view of the contents, tokens will be transferred from wallets of downloaders, streamers or viewers directly to creators’ wallets. No human intervention is required and the payment is automatically completed by smart contract.
6.5 Social and Diversified
There is a DApp Eureka that works with Open Archive Network. On Eureka, contents are not listed in rankings like they are on Appstore and Google Play; instead, reviews of contents are streamed like tweets on Twitter. The more the contents are talked about, the more exposure they have, the more download/stream/view are generated, the more tokens the creators and discoverers would earn.
Through Eureka, users can interact with each other and with Open Archive Network; the content creators can interact with fans and supporters, sell contents directly to consumers.
Consumers get contents cheaper because there are no middlemen. Discoverers are rewarded for helping with discoveries.
SOCIAL DISCOVERY
Social discovery means that a user gets information about anything based on reviews, advice or other input from another user.
In this whitepaper the term social discovery is defined as the process of discovering information about digital contents such as music, game, books, documentaries, videos, stories from other people via social sharing on the Open Archive through Eureka DApp.
7. MORE USE CASES
Open Archive Network has a simple and elegant design to provide with flexibility that accommodates all kinds of digital content. The decentralized database management and content storage have given it use cases that we can hardly imagine at present, but we could list some of them that come across on top of our minds:
Swably
Swably is an app sharing community for Android users. It is an Android app. It could be transformed into a DApp based on Open Archive. By moving storage of the apps apks files onto Open Archive, it can become a truly decentralized Appstore that is driven by user reviews. On user side, the change of user experience is hardly noticeable, only the download link lead to an apk hash stored on Open Archive, rather than a folder on a server.
More use cases can be built on Open Archive:
● Decentralized Appstore;
● Decentralized personal publishing platform;
● Decentralized Kickstarter;
● Decentralized iTunes;
● Decentralized Stock Images shop;
● Decentralized Stock Video Shop;
● Decentralized Stock Music Shop;
8. ROADMAP
9. COMMUNITY DEVELOPMENT
Q3 2018
● Publish online documentation for developers and users to quick start
● Adopt agile methodology for development, publish the progress of development and get more involvement from community
● Hiring global talents include developer, designer, marketing, etc.
Q4 2018
● Publish more documents for community users to easily get involved
● Keeping hiring global talents
10. REFERENCES
Directed acyclic graph - Wikipedia: https://en.wikipedia.org/wiki/Directed_acyclic_graph
Byteball White paper - https://byteball.org/Byteball.pdf
IPFS white paper - https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
Author: Dennis Chu, Harry Liu, Open Archive Foundation
1