Oyster Protocol

oyster protocol

Oyster Protocol

Oyster Protocol combines and for anonymous storage and an alternative to adverts



Protocol First, People Second

Blog post on Medium by Founder Bruno Block

Oyster is the new paradigm for the internet economy that breaks the stalemate between advertisers and ad blockers. Website owners add the one line Oyster code to their site HTML to turn their visitors into treasure hunters that search for Oyster Pearls: the PRL token. Treasure hunting means a visitor’s browser performs light Proof of Work micro-puzzles that discover embedded PRL in the encrypted data maps of uploaded files. Storage users spend PRL to reliably and anonymously store their data as website visitors’ browsers maintain the retention of such data whilst hunting for the spent PRL.

Bruno block is maintaining anonymity to preserve the decentralisation of the project.

“People refer to me as an initial reference point for the functionality and nuances of the independently defined protocol. If I were to be compromised via coercion, it could inflict too much damage on the project during it’s infancy.”

Robust, Redundant Data Storage

Files uploaded via Oyster are stored on the IOTA Tangle. This means that an excess of redundant duplicates are stored throughout the network topology of the Tangle, therefore mitigating the threat of data loss. Nodes running the Oyster Protocol perform Proof of Work to guarantee that the Tangle retains the data.

Dual Ledger Integration

The IOTA Tangle (Directed Acyclic Graph) is used for data retention and Proof of Work negotiation between Nodes. The Smart Contract technology of the Ethereum Blockchain is used to produce Oyster Pearls (the token), therefore activating the unique token attributes that enables Oyster operation.

Treasure Hunting Algorithm

Oyster Web Nodes perform Proof of Work to search for embedded Pearls on the Tangle, which inadvertently commits the user uploaded data to the Tangle. It’s like how a bee tries to get the sweet nectar of a flower, so it inadvertently pollinates the flower with the pollen on it’s body. All activity across the Oyster network is economically motivated, no aspect of the Protocol relies on altruistic actors.

Zero Knowledge, Anonymous Storage

No personal information, usernames, nor passwords are ever used. Each uploaded file is assigned a unique handle, which acts like a private seed key. Anyone that has the handle can retrieve the data from the Tangle, even if they were to use their own custom-built script and Tangle Node. Mixer contracts on the Ethereum Blockchain can conceal who paid for the storage.

Open Source, Extendable, & Auditable

The Oyster Protocol is developed in a community driven model without any single point of failure. Extension projects can be built on top of the mesh-net topology and protocol API. This enables a whole class of truly decentralized applications to be built; such as decentralized telephone calling. Anyone is able to develop clients or extensions without permission from a central figurehead.

Intrinsic Storage-Pegged Value

Oyster Pearls are the bridge between the motivation of a user to spend money on reliably storing data and the motivation of a website owner to cleanly monetize their web content. The Pearl Token (PRL) is unlike any other coin, it is intrinsically pegged to the market value of storage prices without requiring a reserve to back it up. The crowdsale price is offered at a fraction of storage prices, therefore early investors earn profit with low downside risk.

Oyster Protocol Team

Bruno Block

Protocol Designer & Lead Developer.
runo is a self-taught programmer that has been developing software for 10 years. His experience puts an emphasis on data mining, machine learning, cybersecurity and artificial intelligence. He fully developed the predecessor to Oyster, FrozenJar, and used to design schematics for software patents before working on Oyster.

Taylor French

Senior Software Engineer & Design Director.
Taylor completed a bachelor’s degree in psychology at Memorial University, and a master’s degree in experimental psychology at McGill University. This background in psychology/neuroscience is what fueled his interest in UI/UX design, which led to an interest in front-end design methodologies and frameworks. He is a self-taught computer programmer, and recently worked as an Amazon Web Services (AWS) developer intern for a prominent Fintech company.

Ian Seyer

Software Architect & Engineer
Ian Seyer is a software and devops engineer with a background in API design and paradigms of scale. He has worked in distributed computing and large scale messaging systems, as well as data processing and machine learning. He entered the crypto space 1.5 years ago as an investor.

Oyster Protocol Q&A from IOTA Slack, Telegram & Bitcointalk answered by BRUNO BLOCK

Q. Im just wondering how oyster data will work with snapshotting. Wouldn’t that mean, that the data will only be stored on permanodes which are very limited? I would expect very limited bandwith then?
1) CfB told me that manual snapshots are temporary, next is automated data pruning. After that is swarm intelligence which is the best for Oyster
2) even if a manual snapshot occurs, the Oyster Broker nodes would not implement the snapshot until the data is re-attached on the other side of the data reset.
3) Ultimate worst case scenario is that Oyster ‘hardforks’ and runs its own Tangle with it’s own rules.
Q. Do I need the same brokernode that stored my data to access it later?
A. No, you can use any broker node. broker nodes are iota nodes + ethereum nodes + oyster code. even normal iota nodes will work to retrieve the data
Q. I’m curious, the PoW that the website visitor performs, does that have any impact on browser performance?
A. It does not, there is a way of doing it so that it only uses unused performance capacities. The JavaScript code should not slow down the website speed at all. We are planning on installing what I call a ‘fragile loop’, essentially a while loop that performs a performance sensitive task per cycle. If the browser is starting to struggle a bit, the sensitive task will take much longer to perform – therefore the JS will detect the performance in realtime and govern the PoW so that it does not burden the browser.
Q. Where are the actual files stored and are there file size restrictions and such?
A. Files are store on the IOTA Tangle. There is no individual file size restriction, the prohibiting factor is the expenditure of PRL (PEARL TOKENS). However there is an aggregate upload amount, the network can hold maximum 0.5 exabytes at any given moment. To make this even more interesting, there is a possibility the aggregate limit could be changed by an artificially intelligent smart contract the will control the current PRL contract.

Q. I have a question about what plans are in place to ensure file integrity while being stored on the tangle is it simply stored encrypted in full? if so, what kind of restrictions does that place on storage size cap?

A. There are embedded checksums in the data per IOTA transaction, so the data is checked on a part by part basis. Also the entire file is checksummed as a whole if the whole thing is retrieved, a checksum for the whole file is stored in the data part represented by the genesis hash.

Q. What is the mechanism for “uploading” to the tangle? where does the encryption occur?
A. Encryption occurs in the client of the storage user. The data is encrypted in browser (assuming they are using the browser as the upload client) and the data is sent to two selected broker nodes the part of the white paper that shows the candle stick burning on two ends describes the broker node upload sequence. They initially do the proof of work to commit the data to the Tangle, but overtime the webnodes will do the heavy lifting of the proof of work
Q. What kind of restrictions does that place on storage size cap?
A.There is no immediate storage size cap, however much is payed for will have the proof of work performed for it. There is a theoritical aggregate maximum amount of data that can be retained at once by Oyster because 1 PRL entitles 1 GB for one year and there is a fixed supply amount of PRL. The last time I ran the calculation the amount was in exobytes, so by then it would have surpassed dropbox etc.

Q. … i’m assuming that the js oneliner you have on your website performs some check that one is actually mining?i.e. what is to prevent someone from simply `curl`ing a webpage.

A. There will be an option for users to disable mining if they dont want it, which will trigger the website owners policy which may or may not block the content otherwise there is no need to monitor mining and who does what, everything is done on a best-effort basis.

Q. How do you communicate to users that this is happening and that they want to let you use their CPU/GPU? I know that the pirate bay did something like this just a few weeks ago for alt coin mining. A lot of people where very unhappy about this and felt it was very invasive. How do you ask the users if they want to opt in or not? I assume that there will be an option not to allow the site to use your computer? Otherwise you are forced to not use the site if you don’t want this to happen?

A. There will be an option for website owners to activate a small temporary notice, similar to the whole European cookie consent thing. It’s up to the website owner if this should be activated or not. Activating it can be as simple as adding data-notice=”true” to the one line of javascript. I agree that people would prefer no mining rather than any mining, but there is no such thing as a free lunch and someone needs to pay the hosting and content bill at the end of the day. If people think that they can have their cake and eat it too, it will come back to haunt them in forms like wikipedia begging for donations or article paywalls.

Q.  If a user chooses not to opt in, what would their website experience look like? Would it still have adds then?

A. If a user chooses to opt out, the custom policy of the website owner is activated. For example, a website owner might tolerate a maximum of 20% of visitors opting out. The website owner can choose to either allow a warning notice to be displayed, display the content anyways, or disable access completely. Custom interactions can be setup on the visitors side too, for example they can opt out of all Oyster mining or add a whitelist that allows contributions to specific websites despite the general opt out.

Q. how will the resources of the computer be evaluated and used? For example if I am on a mobile device vs a desktop how will the website determine how much resources each can provide? And how will you ensure that the users experience is smooth since, depending on how much resources the website uses the computer might start to slow down.

A. There is no reliable technical way to tell the difference between internet connection types such as unlimited broadband or a limited phone data plan. However general internet speed can be deduced via tracking the average latency of connections with other nodes, which helps the algorithm deduce what it’s running on. Overall the Oyster protocol has been optimized to consume as little bandwidth as possible, this is mentioned in the whitepaper. It is reasonable to expect that bandwidth wise it would be around the same as loading image and light video advertisements. CPU can also be evaluated with JS, I’ve done it before for a project a long time ago. It essentially has a loop and if a delay starts occurring for each cycle it knows that the device is being pushed too hard. Therefore upper limits can be hardcoded to ensure the mining never disrupts any user experience.

Q. If 1 PRL = 1 GB/year of data storage, does it mean that an increase in the value of PRL becomes undesirable?

A. It means that once the network is live and retaining data (after the crowdsale), the value of PRL remains very stable and doesn’t go down or up by huge factors. This means that the opportunity to use PRL as an investment vehicle is now, since buying it later will be the investment equivalent of buying a hard drive (it will remain very consistent in price). Investing in PRL now (especially with the presale) means you are buying a token that is intrinsically pegged to a commodity, but at a fraction of that commodity’s price. This is a very strong formula for investors to make a huge profit whilst helping to jumpstart the network topology.

It’s very different from other coins as it is a protocol-function to pump and dump the coin initially, as it will always calibrate to storage prices as long as the network is running. The initial pump gives initial value to PRL, so that it is coveted by website owners who react by installing the Oyster code on their website (to earn PRL). This in turn spawns web nodes that go treasure hunting, hence retaining the data on the Tangle. Whales can dump the coin afterwards all they want, it will always self-correct back to storage prices because 1 PRL = 1GB/1 Year. This rate is hardcoded in the protocol and cannot change. This is the reason that huge bonuses have been assigned to the presale.

I just wrote about this on the Oyster blog, please read it and refer to the volleyball analogy to understand what I’m explaining: https://medium.com/oysterprotocol/intrinsic-storage-pegged-value-447d970f6d69


Related Post

One thought on “Oyster Protocol

Leave a Reply

Your email address will not be published. Required fields are marked *