Oyster Testnet Improvements

Friday has come once more, and today we will be mentioning a few things regarding public access of the Oyster Testnet A, as well as focusing on the significant improvements of the Testnet since its launch.

Public Testnet Access

First, we are pleased to announce that after a small delay the Oyster Testnet has been opened to the public once again. Users are now able to upload files that are less than or equal to 200kb. To use the Testnet, users should ensure that they are accessing the Testnet via HTTP, and not HTTPS.

As of publishing this article, there is a total of 543,469 Oyster transactions on the IOTA Tangle. Additionally, a new video showcasing the updated Testnet can be found here.

The Testnet can be accessed here.

Number of Oyster transactions on the Tangle. Calculating by summing transactions with tags: OYSTERPRL and OYSTERPRLTESTNETB

Testnet Improvements

The Oyster Testnet has been improved drastically since its release on January 31, 2018. As mentioned in our previous update, the back-end infrastructure of the Oyster protocol was switched to Go to improve efficiency. In addition, the upload speed of the Oyster protocol has improved significantly since launch. The initial upload speed of transferring a file to the Tangle via the Oyster protocol was 0.0083kb/s, which was improved to 0.4792kb/s after a few infrastructure changes were implemented shortly after Testnet A went live. With the release of Testnet B, The Oyster development team was able to push the upload speed to 2.2095kb/s (an increase of 26,414% from the initial upload speed).

Upload speed increase since Testnet A launch. From left to right, the exact upload speeds are 0.0083/kbs, 0.4792kb/s, and 2.2095kb/s. Percentage increases calculated using Testnet A launch (01/31/2018) as reference.

As well as the increase in upload speed, the development team has improved the interaction between our infrastructure and the IOTA Tangle. Below is an image of Oyster protocol transactions occurring on the IOTA Tangle before:

Oyster transactions prior to Testnet B launch on a visualization of the IOTA Tangle. Oyster transactions marked in light red.

As evident from this image, the Oyster protocol was creating large clumps of transactions. This behavior wasn’t particularly healthy for the Tangle overall and was the result of multiple hooknodes receiving the same transaction. This was done initially to improve upload speed; however, this behavior resulted in pushing more transactions to the Tangle than what was necessary. This led to many transactions using the same ‘trunk’ and ‘branch,’ subsequently causing the ‘balling’ behavior in the image above.

The development team corrected the behavior of our transactions in many ways. First, transactions are sent to only one hooknode at a time, which also receives a list of additional hooknode IPs. Thus, one hook node completes the proof-of-work and broadcasts an array of trytes which contains the transaction, then passes the tytes to other hook nodes which also broadcast the transaction. Furthermore, the team took advantage of ‘bundling’, which involves sending several transactions to the IOTA Tangle at the same time to cut down on requests made, and allows the client to send larger files via the Oyster protocol. Ultimately, these changes allowed the transactions created by the Oyster protocol to interact with the Tangle in a more optimized way, spread the transactions out across the Tangle, and avoid the clumping behavior witnessed previously.

Optimized Oyster transactions on a visualization of the IOTA Tangle. Oyster transactions marked in light red.

Summary

The Oyster protocol has improved leaps and bounds since its launch back in January of 2018. Our development team is gearing up to prepare the protocol for its Mainnet release, and we are very excited to share the progress with the community as these improvements occur.

We encourage any questions and comments be posted to our reddit or our Telegram knowledge channel.