ONO White Paper: Part 3 Technical Framework
Chapter Three
Technical Framework
The technical framework of ONO can be divided into the following six parts:
3.1 Status Authentication System
As one of the basic services of the ONO ecosystem, the ONO identity certification system provides many basic services including account registration, content confirmation, identity certification and limit management and so on. After the user registers in the system, the identity certification will be made. The user going through identity certification will have more authorities, such as participating in the referendum and ecosystem building and so on.
3.2 Content Storage System
The content produced by ONO users in the ONO system are the core products of users and also the core assets of ONO’s attention economy. Therefore, ONO must guarantee that the content of users is stored in a safe manner.
The content data established by ONO users will use the private key of the users to enable encryption. Also, the encrypted data will be stored in the decentralized DHT distributive storage network, for example, IPFS. The Hash of the data will be stored in the blockchain. The users with the proper authority can quote it by smart contracts, thus addressing the data. In the meanwhile, the storage provider will not be able to obtain the corresponding private key of encryption, thus will be unable to extract the user’s data.
IPFS is a decentralized and distributed storage system, aiming to connect all computer data into the same filing system. IPFS adopts content addressing techniques, with which, the users don’t have to worry about the position of the server nor consider the name and route of file storage. Each file is stored in an IPFS node and will get only the encrypted Hash function based on the content.
The Hash function directly points to the content of the file. Even if only one bit is altered, the Hash function will be totally different. When IPFS is requested by the Hash of a file, it will employ the distributed Hash table to find the node where the file is stored, and then extract the file and verify the data of the file. The IPFS network is an unfixed, fine-grained and distributed network. It can better adapt to the requirements of any content delivery network.
Currently, IPFS is under development. In order to guarantee the experience of users, in the early stage, ONO employs highly efficient central development server architecture. The contents of the users will be encrypted and stored in the central database. On the premise of fully protecting the safety of users’ data, the high performance of reading and writing operations is guaranteed; furthermore, the interaction experience of social network products are guaranteed in the largest degree.
3.3 Consensus Mechanism and Incentive Mechanism
The ecosystem that ONO is establishing has a large quantity of data concurrency.
It is presumed that the daily users in the platform will be about five million, and then, it might be estimated that the blockchain needs to run more than 600 transactions per second.
The formula:
If the number of active users are 1,000,000:
1,000,000 users* 10 times of operations per user each day (post, comment and forward)
= 10,000,000 transfer/day
= 10,000,000/24/3600/second
= 116 times/second*
If the number of active users are 5,000,000:
= 580 times/second
The existing POW (Proof Of Work) and POS (Proof Of Stake) consensus mechanism is obviously unable to meet these high transactional needs. To meet both the user experience and the decentralized system, the current leading DPOS+BFT is a better solution.)
Delegated Proof of Stake (DPOS) is a consensus mechanism based on the consignor’s proof of interests. It is mainly used to realize the consistency of distributive accounts. Under the DPOS mechanism, by node voting, N witnesses who can sign the block are generated. Due to the implementation of a decentralized voting mechanism, DPOS is quite democratic, in which can guarantee that the behaviors of the witnesses are honest and unbiased. In the meanwhile, each block can prove that the previous block was correctly confirmed by the witnesses.
The pseudo code of DPOS mechanism is realized as follows, for round i
dlist_i = get N delegates sort by votes dlist_i = shuffle(dlist_i)
loop slot = global_time_offset / block_interval pos = slot % N
if delegates[pos] exists in this node generateBlock(keypair of delegates[pos]) else skip
Byzantine Fault Tolerance (BFT) is a kind of measuring model of distributive system of error tolerance degree. If a distributive system can tolerate the occurrence of any fault (these faults might include hardware error, network congestion and delay, hacker attack and node betrayal), we can say that the system has reached Byzantine-Fault-Tolerant level. Although as early as in the 1980s, Lamport has proven the feasibility of Byzantine-Fault-Tolerance in the paper, there is no practical and highly-efficient algorithm to realize it. Until the year of 1999, Castro and Liskov published Practical Byzantine Fault Tolerance. 2.1Firstly transfer BFT theory into a solution can be achieved in practice.
ONO hopes to adopt a consensus mechanism of DPOS+BFT to strengthen the security of DPOS and make it to tolerate byzantine faults. It is a kind of powerful and decentralized solution and can effectively solve the technology problems that the ONO platform faces.
The appearance of EOS enables the implementation of the ONO vision.
EOS is a blockchain operation system designed for commercial distributed applications. Theprocessing capacity of DPOS+BFT-based underlying architecture logic can reach millions of transactions per second and meanwhile it can achieve the performance extension of distributed applications, perfectly applicable to the ONO DApp.
The ONO platform will come online on April 15, 2018 and be deployed on the Ethereum public blockchain in the initial stage. In order to meet the needs of community operations and the early-phase keynote construction, ONO will implement an invitation system to restrict the access to 300,000 potential users; On the other hand, the Ethereum chain performance is able to support 300,000 active users. After EOS formally launches its own chain, ONO will immediately migrate to EOS.
2.1 M. Castro, B. Liskov et al., “Practical byzantine fault tolerance” http://pmg.csall.mit.edu/papers/osdi99.pdf
Incentive Mechanism
Compared to some blockchain businesses, POW is not only the consensus mechanism, but is also the incentive mechanism used to encourage active miners to keep doing work.
Given that ONO is the social network app, within the network system, the users who create value and who have high output are the ones who are more critical to the ONO ecosystem. At the same time, the cost to run the DPOS+BFT system is extremely low. It’s different from traditional blockchain cryptocurrencies in that it has no need to reward the miners.
ONO uses the contribution degree to prove the POC (Power of Contribution) mechanism. POC will be used to define and quantify the user’s contributions and issue the matching ONOT. The user’s active behaviors include but are not limited to: being a co-partner of building the social network, joining the developer teams, being a content producer and software user, etc.
More details in “Chapter Four Economic System”.
3.4 End-to-End Encrypted Instant Messaging
To ensure user privacy, ONO encrypts each message end-to-end. The key of the message sender is protocol-signed to access the conversation content, whether it is a one-way chat or a group chat. The message will be sent in a P2P network. If the reciever node’s address is known and online, then the message will be sent directly. Otherwise, the message will be temporarily stored and forwarded in a P2P network node. Because the message is encrypted end-to- end, any other node is unable to check the forwarded message content. In addition, once the message is read by the recipient, it shall be permanently deleted in all temporary storage nodes.
3.5 App Open Platform
The continuous development of the ONO ecosystem depends on the content generated by users. The evolution of social engagement and development of rich applications in a social network are the necessary components which drive growth. The ONO open platform provides a large number of basic components. By using the basic components offered by the platform, the developers can create customized community applications to satisfy the demand of different users and reap rewards for doing so. The basic components of ONO consist of UI components and functional components. UI components can be subdivided into view container components, navigation components, sheet components, map components, multimedia components and canvas and so on. The common functional components include payment components, database components and network components and so on. The advertisers will gain access to certain distribution channels by placing bids. The ONO advertising system provides multiple payment methods including CPA (Cost Per Action) and CPC (Cost Per Click).
According to the pacing 2.2 algorithm, the ONO advertising system optimizes the distribution rate of advertising budgets. The pacing algorithm will learn to compete with other advertisements which all point to the same target audience and which will try to offer optimal pricing.
The rules of this algorithm are as follows:
Final bid (per impression) = optimal bid (per impression) * CTR where optimal bid <= max_bid
CTR refers to click-through rate. The above formula is also applicable to reflecting the VTR used to show watching times and CVR used to show transferred amount.
3.6 Advertising Algorithm
The advertisers will gain access to certain distribution channels by placing bids. The ONO advertising system provides multiple payment methods including CPA (Cost Per Action) and CPC (Cost Per Click).
According to the pacing 2.2 algorithm, the ONO advertising system optimizes the distribution rate of advertising budgets. The pacing algorithm will learn to compete with other advertisements which all point to the same target audience and which will try to offer optimal pricing.
The rules of this algorithm are as follows:
Final bid (per impression) = optimal bid (per impression) * CTR where optimal bid <= max_bid
CTR refers to click-through rate. The above formula is also applicable to reflecting the VTR used to show watching times and CVR used to show transferred amount.
2.2 Facebook pacing algorithm https://developers.facebook.com/docs/marketing-api/pacing
Read Part 1 of the ONO White Paper
Read Part 2 of the ONO White Paper
Medium: Read Part 4 of the ONO White Paper
Medium: Read Part 5 of the ONO White Paper
Medium: Read Part 6 of the ONO White Paper
Medium: Read Part 7 of the ONO White Paper
ONO Official Links
Official website: https://www.ono.chat
Telegram Chinese: https://t.me/ONOCN
Telegram English: https://t.me/ONOUS
Sina Weibo: https://weibo.com/ONOofficial
WeChat official account: onogogo
Twitter:https://twitter.com/onosocial
Medium: https://medium.com/@ONOsocial
Steemit: https://steemit.com/@onosocial
Facebook: https://www.facebook.com/ONOofficial
Instagram: https://www.instagram.com/onosocial/
Snapchat: https://www.snapchat.com/add/onosocial
English Version App Demo: https://marvelapp.com/3dbhih3/screen/41476138
App demo created by @rubenalexander
What are your thoughts + questions for ONO?
Ask them in the comments below and drop your links to your ONO related posts so we can read them. When posting about ONO, be sure to use #ono!
I can only view Part 1 - 3 of Ono whitepaper, part 4 to 7 is blocked. Medium platform is blocked in my country :( Any other way to access the remaining parts @onosocial?
Hello @angiechin28, we will be uploading part 5, 6, and 7 to Steemit this weekend! Part four can be viewed on Steemit here: https://steemit.com/ono/@onosocial/ono-white-paper-part-4-economic-system
Have you joined one of our Telegram groups yet?
Yes already. Thanks @ameliabartlett! Got the remaining parts from the members. Thank you again!