The Bubble Manifesto (bubblecrypto.com)
A decentralized social cryptocurrency platform for the masses
Colorado Technical University
David McGlauflin
[email protected]@Spayse_
10/20/2017
Introduction
Bubble is an experiment. Started in 2015, it is a project for me to develop while I learn software systems engineering at the university. It is rooted in very traditional American ideologies of a free market that fosters free speech and promotes both ideological and financial equality. Bubble is both a cryptocoin as well as a software layer running on top of the “Wallet” to provide a basic platform for social applications such as messaging or sharing things like thoughts or art or recipes. There are many inferences that could be drawn as to the implications of this project but, I wish to focus on the basic functionality and real world goals of this project.
History
“This Project began in 2015 as a project for me to build as I learned programming. Bubble was not an ICO nor was it premined. The Bubble coin swap began on june 10th 2017. During that time the network problems were resolved by swapping to a new chain. Only 450,000 Bubble were produced during POW. “
(Bubblecrypto.com )
To this date the development team has spent over 10 BTC (and countless hours) developing bubble
The current specs for the bubble coin are as follow:
Blocktime : 2 minutes
Block reward : 5 BUB per block
Current supply : 1.8 million
Current price $0.035 usd
Project overview
Bubble is a decentralized application (DApp) whose primary function is a p2p social media application. It utilizes blockchain technology (AKA DLT or distributed ledger technology) alongside a distributed file system called the Interplanetary File System (IPFS) to achieve a self-monetized permissionless , decentralized network using cryptocurrency to generate wealth for each user via 2 methods :
1.Proof Of Stake Minting (currently active )POS
“ POS is a type of algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus. Unlike proof-of-work (PoW) based cryptocurrencies (such as bitcoin), where the algorithm rewards participants who solve complicated cryptographical puzzles in order to validate transactions and create new blocks (i.e. mining), in PoS-based cryptocurrencies the creator of the next block is chosen in via various combinations of random selection and wealth or age (i.e. the stake).” (wikipedia)
2. Proof Of Post (Future feature)POP
This method works alongside POS architecture allowing rewards to be earned through posting new content on the network. This is achieved by creating a pool of available funds by allocating the previous days rewards generated through “staking ” a fund of donated coins called the “Foundation” The foundation currently holds 750,000 of the current 1.85 million coins available or 40.5% of the current supply. When a user posts new content it will be given a cryptographic hash as an address where the content can be retrieved from the IPFS. This address will be stored as a reference in the bubble blockchain thereby creating an immutable link between the content and the transaction. It is this method which will prove ownership of the content.
Architecture
Bubble will actually be implemented as a p2p DApp built in Node.js it will have three primary network resources:
1. The bubble blockchain (storage/data/transaction layer)
a. This is used to handle transactions on the network where bubble is used as a means of payment or reward. This also is a record of the content that was used to generate rewards via proof of post rewards method.
b. More on blockchain
https://www2.deloitte.com/ch/en/pages/strategy-operations/articles/blockchain-explained.html2. The bubble server (application /private layer)
a. This is the core of the bubble platform. It will exist as a server built in Node.js and will be owned and maintained by the user. It will contain personal data not shared on the network (like passwords private photos configuration files. etc. this really could be modified by the user as bubble is open source. ) . Being built in JavaScript it will be easy for the user to build upon. It is my goal to create a tool more than an application.
3. The IPFS (data/application/storage/public layer)
a. “A technical Examination and IPFS (InterPlanetary File System) is a synthesis of well-tested internet technologies such as DHTs, the Git versioning system and Bittorrent. It creates a P2P swarm that allows the exchange of IPFS objects. The totality of IPFS objects forms a cryptographically authenticated data structure known as a Merkle DAG (hashtable) and this data structure can be used to model many other data structures.” (Lundkvist, 2016)
b. More info on IPFS
https://ipfs.io/What we are interested in here is the hash table. This will provide us an index of content as objects in the merkle tree. This also gives us a way of distributing that content across the network.
As you can see the bubble network is a mesh network built upon 2 mesh networks. Each providing decentralized services which comprise the main features of the network. This creates a kind of permanent database by assigning each IPFS a TXID on the bubble network.
The DAO of bubble
Bubble is not a corporation in the traditional sense. Bubble acts like a decentralized autonomous organization or DAO . A DAO can be described as : “An organization defined by Smart Contracts (distributed computer programs). These contracts are kept alive by a blockchain. The code is therefore executed in a decentralized manner and the state is maintained by a consensus in the system”. (Verhoelen, 2017)The governing smart contract will act as a payment server which will divvy the POP rewards as per a predefined set of rules (determined at a later time) and expressed in JavaScript .
An egalitarian system
Bubbles’ stakeholders and intended audience are both its users. Bubble is meant to be owned and used by the people who choose to use it. Because it is open source and peer to peer no one person can control or define what bubble is. Without a central server there is no way to censor or eliminate it. Because it is permissionless it is beyond any rule system or ideology. It is distributed between all of its users and permeant with ownership of content provable through cryptographic hash functions and merkle trees. Because bubble was conceived as a “Protocol coin”(a coin which exists as the foundation of a network) in a “fair launch”(a way of fairly distributing the initial coin supply through Proof Of Work mining) It is beyond regulation as a financial vehicle(although it is classified as a commodity in the united states).
Because bubble is freely distributed to all participants through POP rewards system, it serves as a way to guarantee some income to all people. As of now bubble is traded on 3 different cryptocurrency exchanges
Requirements
The primary goal of this round of development is to create the foundation and proof of concept. The effort will be considered successful if the application meets the following criteria.
Function: Decentralized
Requirements
1. IPFS
2. BUBBLE WALLET
3. BUBBLE SERVER
Function : user account
Requirements:
1. account is generated from a bubble wallet address.
2. Needs local bubble wallet and bubble server running on host with access to internet.
3. Private data stored on local host server and secured with asymmetrical keypair (Generated from bubble wallet private and public key?)
4. Public data stored on IPFS
5. Can view other users (PUBLIC DATA)
6. Can search for users
7. Can give and receive tips
8. Follow and be followed by other users
Function : Follow user
Requirements:
1. Pay to follow (user pays to follow other user)
2. A database of users who follow you
3. Each user as an object
Function: create content(with digital rights)[limited to text for POC]
Requirements:
1. User can create public content
2. User signs content with key and is given IPFS hash
3. IPFS hash is stored in rewards transaction and has a transaction ID (TXID) the txid proves wallet address created content.
4. Content is stored on IPFS and is called by hash when requested.
5. Content is rewarded with payment from the foundation
6. Content can be monetized on a pay to share basis.
Function: save and retrieve content from IPFS
We wish to not only use the IPFS as a “hard drive” but also as a database. Because all things on the blockchain are immutable all we can do is create a database of tables and append each table. The database will actually be an index of pointers (saved as hashes)to the actual information be it on the ipfs or the bubble blockchain. The idea here is to just display the content held at the address on the IPFS. In the users social“Feed”.
Proof of post mechanisim
Proof of post will allow a portion of the daily “stake” generated by the “founation” to be given for each post as they occur. This will be done a previous days balance so that the coins available for proof of post are generated the previous day. This wil be handled as a smart contract written in java script and will be determined later.
MODULAR
Bubble needs to be modular so that components can be added without interruption to the network. It is opensource and it should be possible for anyone to add on to it. Each module needs to be simple to understand for future developers.
TESTING
Each component will really be tested as it is developed and will likely be continuously tested in the real world. The over pass will be when other people can connect and it works. At first there will be an alpha phase of just local servers then a beta phase with trusted community members. Finally a public testing phase.
References
Lundkvist, D. C. (2016, february 17). IPFS by Example. Retrieved october 21, 2017, from medium:
https://medium.com/@ConsenSys/an-introduction-to-ipfs-9bba4860abd0Verhoelen, J. (2017, september 1). Decentralized Autonomous Organization – Organizations on the Blockchain. Retrieved october 22, 2017, from codecentric:
https://blog.codecentric.de/en/2017/09/decentralized-autonomous-organization-blockchain/wikipedia. (n.d.). Proof-of-stake. Retrieved october 20, 2017, from wikipedia:
https://en.wikipedia.org/wiki/Proof-of-stakea.
https://www2.deloitte.com/ch/en/pages/strategy-operations/articles/blockchain-explained.htmla. More info on IPFS
https://ipfs.io/