Storj

What is Storj?

Storj is a decentralized, open source, file storage solution. Storj uses file sharding, encryption and a hash table built on blockchain to keep user files safe on a peer-to-peer (P2P) network.

The concept behind Storj is to make sure that cloud data storage becomes a private affair, cheaper and faster, which is currently not the case.

There are several limitations that conventional cloud storage solutions like Google Drive and Dropbox have, which Storj is trying to eliminate. Most of these platforms store data in a very redundant manner. The bandwidth from their data centers are often subject to unprecedented attacks, outages and from time to time access to files is restricted.

Besides, the data stored on these platforms is not even private. These companies simply have a lot of control over your files, and how easily you can access them whenever you want to.

What is the problem that Storj solves?

Storj is offering a software solution to a challenge that has in essence always been a hardware problem. Data centers are an important part of the business world today.

Companies need to store data securely. They cannot do this on their own servers, so have to invest in storage from elsewhere. This is where cloud storage comes in handy.

However, the problem with cloud storage as we know it is that it is very expensive. There are very few companies that have been able to convincingly and securely offer these services. These include Dropbox, Microsoft Azure, and Amazon through AWS.

The cost of storage for developers, users, and providers is too high on these platforms. It gets even worse when these storage platforms suffer security breaches or data failure of some sort.

One of the reasons why these systems are expensive is because of the nature of their infrastructure. They have high infrastructural demands, like electricity, networking equipment, and physical data servers. As a result, the companies that offer cloud storage services have to keep spending billions upon billions of dollars each month to maintain their service offers, or to grow their earnings.

How does Storj solve the problem?

Storj protects user files on the nodes and while in transmission. This is done through cryptography and leveraging on some of the benefits of blockchain technology to help encrypt the files.

Storj is an open-source project, which means that it is leveraged on a large and growing community of developers who are devoted to creating apps, tools and eventually help to secure the cloud storage platform.

This is not the first attempt at P2P cloud storage. It has been attempted by virtually any credible player in the industry at the moment.

Storj has a very large community of users, who are referred to as farmers. These are the people who lease out the unused space on their computers, and their bandwidth so Storj customers can store their data in their devices.

All the users are connected through a P2P network. According to Storj, this network is very secure, is up to 10 times faster, and is 50% cheaper than most of the traditional cloud storage solutions that are built on central data centers.

Storj leverages their storage services on transaction ledgers, cryptographic hash functions and public and private key encryption. Storj has brought a revolution in the data space, by allowing users full control of their data, and their devices. There are no central servers that can be compromised.

Storj uses client-side encryption, which means that the only people who have access to the decrypted or unencrypted files are the end users. They also have the encryption keys where necessary. In fact, security has been pitched as one of the strongest selling points for Storj.

The business model

The business model behind Storj is one of the other reasons why it has been a success so far. It is built on compelling simplicity. Individuals need to store their data safely and also be able to access the said data as soon as they need it. These individuals then go ahead and pay for bandwidth and storage as they access and use their data.

Most of the money that is earned from customers is sent to the Storj farmers. The other portion is split between Storj and their partners who have helped the company create demand. This includes open source projects and user-facing file management companies.

Storj, therefore, is like the Airbnb of data storage, or as some would call it, the Uber of data storage. Storj has become one of the biggest data storage companies in the world, but they do not own any data center, neither do they operate one.

Everyone on the Storj platform has something to benefit. Farmers get compensated for access to their storage capacity. Partners, on the other hand, have an additional revenue stream for their business. Storj, therefore, is one of the most effective ways through which companies can institute financial sustainability in their operations.        

What makes Storj better than the competitors?

There are several benefits that can be associated with the decentralized storage platform that Storj is offering, which sets Storj apart from the competition.

Reliability

When it is done properly, broadly decentralized storage is more efficient, resilient, and reliable than any centralized storage platform. To be precise, individual files on the Storj network are encrypted and distributed in more than 84 nodes. They are also sharded and erasure-coded.

More than half of the >84 nodes must fail in order for the file to be inaccessible or lost, which is highly unlikely to happen. Besides, none of the nodes are correlated, which means that they do not share the same power, infrastructure or location.

Security

By design, Storj was built to be one of the most secure cloud storage platforms. The fact that it is decentralized means that there is no central location where all files are stored, which can be the focus of attack. Other than decentralization, all the files on Storj are encrypted. Therefore, for an attacker to have access to the Storj platform, they would have to find all the multiple shards in different nodes all over the world.

This means that the attacker would have to find more than 150,000 unique file locations in at least 200 countries, and in different territories. This is virtually impossible.

In order to retrieve the shards, the attacker would also have to execute an attack that would compromise all these nodes. After that, they would again have to take on the mammoth task of decrypting all the shards, then go through the same process for each of the files.

One of the security experts once described the security at Storj as spreading encrypted sand on an encrypted beach. Storj keeps growing from strength to strength, and with this growth, incredible numbers. As the numbers increase it becomes increasingly difficult for attackers to find individual file shards. Some networks become weaker and more vulnerable as the numbers grow, but the reverse is true for Storj.

Performance

Storj has been known to perform well even when using large files, or with a heavy workload. In fact, compared to most of the centralized cloud storage services, Storj easily outperforms them. The reason for this is because Storj allows several nodes to deliver individual files in parallel from the edge simultaneously. In this regard, there is no time when a single network or device becomes a bottleneck for the entire ecosystem.

Economics

Storage uses the unused and untapped potential that exists in idle storage capacity online. A lot of farmers do not need to invest in more equipment, unless they feel that they need to, for their own personal reasons, and not for Storj. Other than that, the farmers also do not feel inclined to spend on additional power, bandwidth or manpower. Therefore, Storj is an economical solution for customers, while at the same time providing some good margins to partners, farmers, and the Storj enterprise.

Blockchain

While a lot of projects are leveraged on blockchain, Storj seems to be doing the reverse. There are divided opinions on the use of blockchain since the revolution began. There are some who believe it has been overhyped however, Storj uses blockchain only for the things that they have tried and tested and believe to be efficient.

What this means is that Storj only uses blockchain for computing, trustless interaction, and payments between devices. The team at Storj is focused on creating a distributed system, and the only role that blockchain plays in this is to act as a tool that helps them achieve that.

One of the reasons why Storj is keeping their core functions away from blockchain is that more often, the legal, technical and financial roadmap for most of the blockchain projects are skewed. People are still trying to figure out what their projects are good at and where they can excel in. The one thing that most projects seem to agree on, however, is that they are out to fight Bitcoin and Ethereum for their market share.

Simplicity

One of the challenges that have dogged blockchain platforms in the past is that most of them are too difficult to understand, especially for average users. Blockchain follows a very simple principle. Mathematicians create cryptographic libraries. Developers use these libraries to create products that their users need, without necessarily understanding the libraries. This is how blockchain works. Most developers will never really come to understand how the blockchain works, but they can use it to build apps that will serve their users. The same applies to Storj. Even without working or basic knowledge of blockchain, you can still get the most out of the decentralized cloud storage services.

How can Storj be categorized?

Storj is a distributed cloud storage provider that implements client-side encryption to allow users to share and transfer data without depending on a single third-party storage service.

What’s Storj’s vision on security?

There have been lots of data leaks and security concerns over cloud storage services in the past, and as a result, the issue of security and privacy of data keeps coming up from time to time. Data on Storj is stored in a decentralized manner. For users, therefore, how can they be guaranteed that the devices upon which their data is stored, are safe and free from hacks?

It is simple. Storj is not building a fortress for data storage. Storj is simply an adaptive distributed system.

Whether the farming nodes are secure or not, Storj works just fine. In terms of data protection and security, Storj encrypts all the data before it gets into the Storj network. Therefore, from the word go, no one can be able to read any data without having an encryption key.

All the data on Storj is sharded before it exits the system to the farmers. Every single shard is sent to a different node. Finding the data shards is already a problem on its own. Even if someone were to have an encryption key, he or she would still have a difficult time.

Besides, Storj uses Reed-Solomon erasure coding to create redundant shards. Through this process, even if you were to lose some of the shards, you can still retrieve the file, and redistribute new shards. Therefore, even if many of the farming nodes have been compromised, Storj still makes sure your data is safe.

Examples of Storj use cases/applications

Heroku

Heroku is a channel partnership with Storj that offers a platform as a service (PaaS) platform for cloud services. Through this PaaS, developers have the benefit of an ecosystem where they can build, test, run and manage all their apps and software completely on the cloud.

Together with Heroku, Storj offers developers one of the best-distributed object storage platforms, backed by an easy implementation, optimized speed, and top-tier encryption.

Microsoft Azure

Storj has also partnered with Microsoft Azure to help in deploying Storj development tools. This, built on years of research, has helped them compete with some of the key players in the market. Together, they have built an interactive storage audit protocol. The network has also been bootstrapped to enable them securely store petabytes of data. There are plans to add certificate generation automation for Storj farmers.

Resources

https://coincheckup.com/coins/Storj

https://storj.io/

http://blog.storj.io/

https://medium.com/@storjproject

https://storj.io/faq.html

https://storj.io/storj.pdf

Namecoin

What is Namecoin?

Namecoin is an open-source blockchain platform that aims to improve resistance to censorship, privacy, security online and decentralization of access to the internet.

Apart from that, Namecoin was also built to help improve the speed of some components of the internet to make it more efficient, such as identities and DNS.

What is the problem that Namecoin Solves?

Over the years, there has been quite a lot of criticism against oppressive governments all over the world. Most of this criticism is often done online, and the governments find ways of clamping down on protestors.

This form of oppression and dictatorship has been castigated all over the world, especially when it infringes on the rights of people, and more importantly, the freedom of journalism.

Most people who come online to express their views are often tracked and punished. Many have lost their lives, some have been forced to flee for their lives. What Namecoin is doing, is to make the internet a safe place once again, where people can express their opinions without worrying about repercussions, especially against oppression and dictatorship.

How does Namecoin Solve the problem?   

Namecoin is a unique blockchain platform. The description behind Namecoin is to use the benefits of blockchain to give back power to the people. While Bitcoin takes monetary freedom from the financial institutions like banks and puts it in the hands of the users, Namecoin frees technologies, identities, and DNS.

The following are some of the things that Namecoin is working at, which helps them tackle the freedom concern online.

Free Speech

Namecoin aims to make the internet a place where censorship can be resisted. This is eventually supposed to protect the right to free speech.

Identities

Users can attach identity information like OTR, GPG, Bitcoin, Keys and Bitmessage addresses to the identities that they choose.

Domains

When using Namecoin, users are able to choose .onion domains on Tor that they can use for whichever purpose online.

Decentralization

Namecoin is also bringing the benefits of blockchain, especially decentralization, to the validation of TLS (HTTPS) certificates. Therefore, with a decentralized internet where servers are not located centrally, it becomes difficult for someone to track down the user online. This decentralization is supported by blockchain consensus.

Domain Access

Domains that have often been blacklisted or have restricted access can now be accessed through .bit, a top-level domain.

To achieve the intended goals, the Namecoin software registers names and stores all the associated values in the blockchain. This way, the database is shared and distributed on a P2P network in a secure manner. It is only this software that can be eventually used to ask for information from this database and retrieve the data that is securely stored in it.

For security purposes, users are expected to update or renew their names after every 35,999 blocks. This translates to roughly every 200-250 days. After this duration, the name expires. While there are no fees charged for renewals, updates or registration on Namecoin, there are transaction fees that are applied.

What makes Namecoin better than the competitors?

The codebase for Namecoin is built on the Bitcoin codebase. There are simple changes, around 400 lines on the Bitcoin codebase, and additional lines of code that are aimed to improve on a few weaknesses in Bitcoin.

Therefore, Namecoin uses the same mining protocol as Bitcoin, though their block chains are not identical. This is also where they derived the name, Namecoin.

The reason for this is because the developers at Bitcoin were keen to create a viable currency on the blockchain, while the developers at Namecoin were more interested in coming up with a unique naming system.

As a result of the disparity in intended use case between these two projects, you will notice that protocol and consensus rules might be applicable in one but not always across the board, however much code they share between themselves.

Consensus

The consensus rules at Namecoin are written to make sure that names are unique. This is not the case with Bitcoin. In fact, users are able to store data on Bitcoin, though Bitcoin on its part, does not enforce uniqueness. In fact, in theory, developers can build layers on Bitcoin that will discard any output that does not honor the uniqueness rule. This includes perhaps, an operation that is intended to use someone else’s name illegally. These rules, however, cannot be enforced by miners. For this reason, they cannot be supported by Proof of Work (PoW).

Fees

Consumers can expect a disparity in the fee structure when using Bitcoin vs. when using Namecoin. This is true because of the obvious disparity in the volume of transactions between these two platforms. The volume of financial transactions is greater than the volume of name registrations worldwide. This is also down to the fact that Bitcoin and Namecoin both have different block sizes.

Inflation Impact

Inflation can wield serious damage on a currency. However, inflation on a naming system might only be tantamount to a squatting attack, or a spamming. This is bad, but not anywhere close to the near-fatal attack that a currency might experience.

What this means, therefore, is that Namecoin is more robust and built to withstand the shock of an inflationary attack than Bitcoin. As a result, decisions on features that address inflationary risks will not always arrive at the same conclusions between Bitcoin and Namecoin.

Scripts

Bitcoin and Namecoin might share a lot of code, but there are so many features in either that might not be applicable, or make sense to the other, especially with respect to their scripts.

A good example is the scriptPubKey. When allowed to restrict the scriptPubKeys, this feature on Namecoin might make it easy to update and renew names, making the process safer and more convenient. On Bitcoin or any other currency, this script might be harmful.

How can Namecoin be categorized?

Namecoin is a name currency. In fact, the developers at Namecoin try to reduce the patchset they have to use against Bitcoin as much as they possibly can. In case it makes sense to have a feature in Bitcoin, they can push it into Bitcoin, then merge the feature to Namecoin.

Differences in Bitcoin are only introduced to Namecoin when the changes might not make any sense to Bitcoin, especially in light of their different use cases. Theoretically, Namecoin can be used as a digital currency. However, the developers do not advise this. There are several digital currency projects, and users are advised to use those for currency purposes, not Namecoin.

What’s Namecoin’s vision on Security?

Namecoin developers have an active community who constantly monitor and report any errors that they notice in their profiles. The issues are debugged as soon as possible. The following are some of the reasons why Namecoin has managed to beef up security especially in light of being a blockchain platform that aims to fight censorship.

Monitoring

The developers actively monitor the default discovery nodes. Other than that, they add more computing power through CPU and RAM to the discovery nodes, to support their cause. As a result of this, it is virtually impossible to overwhelm the discovery nodes by sending or spamming them with requests.

Caching

Caching layers are used on the platform. This way, the DHT network is protected even if it is experiencing or recovering from a failure. In this manner, the read queries will still access nodes that use the caching layer, hence, users can still access the cached data.

Proactive Reviews

The developers proactively monitor the blockchain from time to time. This is important in the sense that it helps them identify new data as and when it is available, and check whether the new data has been generated on the DHT network or not.

Safety

It is not easy to steal a Namecoin name. According to the developers at Namecoin, to do this is almost as difficult as stealing Bitcoins. The attacker would need to have a majority of the hashrate, which is virtually impossible to achieve.

The attacker would need to steal the private keys to the name, which is very difficult, especially for users who have put in place appropriate security measures. It is, therefore, upon the user to keep their private keys safe. If this does not happen, they could be highly vulnerable.

However, the script system that is native to Bitcoin and Namecoin are written in such a way that theft is naturally a difficult thing to execute.

There are features currently in development that are supposed to allow Namecoin users more flexibility in working with anti-theft protocols, which will eventually meet their individual needs.

The following are some of the security features that users should expect on Namecoin in the near future:

  • Multisig – This is similar to the multisig system used in Bitcoin. This allows users to control changes to their names with M of N keys. These keys could be administered by company directors, or stored in secure locations, or by security service providers. The Namecoin protocol already has consensus rules that support this, though end-users are not fully exposed to it yet.
  • Offline signing – This is also a protocol that is used on Bitcoin. Users can allow names that are controlled by keys stored in a secure computer like a virtual machine that is isolated offline, or a hardware wallet.
  • Delegated renewal – This feature is specific only to Namecoin. It allows users to authorize a key to renew one name. However, this does not allow the key to change the owner of the name or the value of the name.
  • Delegated alteration – This protocol would allow the key to get authorization and change the value of the name but does not change the owner of the name. It is already supported by Namecoin, though users are yet to be exposed to it fully. With a few improvements to this protocol, it will then be rolled out.
  • Delegated partial alteration – This would allow a key to get authorization to alter a subset of one of the values of a name. for example, the key can change the IP address of the domain name, but not the TLS certificate.

51% Attacks

Namecoin has the same risk exposure to 51% attacks as Bitcoin. Therefore, the only possible adversities that might affect Namecoin are an attacker preventing transactions from being confirmed, and an attacker who reverses transactions that have been sent for confirmation.

Reversed transactions can make it possible for registrations to be stolen, especially if the transaction that was reversed is a name_firstupdate.

The reason for this is because, before registration, all names on Namecoin are deemed as “anyone can spend”, which means that before it is registered, anyone who has access to the name has a fair stake in ownership as the person who registered the name.

Anonymity

Users are advised that Namecoin, like Bitcoin, are not anonymous. Bitcoin has several flaws in their anonymity properties, and as a result, it follows that Namecoin, that is primarily sharing the same code with Bitcoin, is not completely anonymous.

However, if the user were to properly use Namecoin alongside Tor, they can enjoy anonymity in lieu of their identity and location in so many use cases. In case any user feels that they need adverse anonymity for one reason or the other, they are advised to carefully evaluate the condition or situation specific to their needs.

It is also advisable to understand that the use of Namecoin on Tor might not automatically give someone 100% anonymity. Therefore, users are advised not to be reckless and irresponsible and assume that Namecoin is fully anonymous.

On their part, Namecoin is working together with projects that offer anonymity on the blockchain like Zcash and Monero, and hopefully, this feature will eventually be a reality on Namecoin.

Examples of Namecoin use cases/applications

The following are guidelines for using Namecoin for app developers.

Developers are advised to consider working on the Namecoin Testnet. This is a good way to prevent the test from bloating the production blockchain, and at the same time, allows the users to run tests without having to spend money on the names.

In case more than one implementation might benefit from the same use case, it is advisable that the user writes a spec in such a way that any implementations that are not compatible with similar ideas does not create a problem.

Resources

https://coincheckup.com/coins/Namecoin

https://www.namecoin.org/

https://www.namecoin.org/news/

https://www.namecoin.org/docs/faq/

https://github.com/namecoin/meta/blob/master/roadmap.md