Introducing Bitstore and Open Publish

I’d like to introduce some new bitcoin blockchain services and protocols that are related to a lot of the concepts on this forum:

http://blockai.com/articles/introducing-bitstore-and-open-publish/

Bitstore is a content-addressable cloud storage web service that uses Bitcoin public key infrastructure for authentication and payment.

This is very interesting. How far along are you on this? I see the Gists but I don’t see a link to a full GitHub repo.

Both Bitstore and Open Publish are up and running on testnet and as soon as it looks like all the kinks are worked out we’ll be enabling mainnet (it’s up sporadically, but we don’t want people using it before it gets the green light) and making an announcement and launching a consumer product built on top of both Bitstore and Open Publish. This should all be happening within the next couple of weeks. The consumer product is related to image publishing and royalty tracking and collection and sits in the market somewhere between Imgur and Getty Images. We’re planning on rolling out to other media formats and industries in the future.

https://www.npmjs.com/package/bitstore

https://www.npmjs.com/package/openpublish

At some point before we start telling more people about this stuff there will be some documentation in those READMEs but for now the above article should be sufficient!

The article is interactive and lets you step through the entire process of actually using Bitstore and Open Publish on testnet.

Thanks for the links @williamcotton. I tried poking around your github to find more documentation on Bitstore but wasn’t able to find it. Can you point me to more documentation on Bitstore? More specifically, I’m looking for more information on the internal workings of Bitstore i.e., how is the data stored etc.

The Bitstore server is a private service that we run and we will not be publishing the code at the time being. The bitstore-client available on npm as the module “bitstore” has the full interface.

The basic functionally is expressed in this HTTP interface in the node module:

It’s not a decentralized data store. It is a for-profit private, centralized data store much like s3, however we use Bitcoin for payment and authentication, which make it work really well with other decentralized applications.

As long as things are content-addressable and use Bitcoin PKI, they work very well in decentralized architecture.

Since DHTs can not guarantee 100% availability, we’ve decided that traditional private and centralized services still play an important roll.

If you store content-addressable data on a private and centralized data store, then seed that data on BitTorrent and WebTorrent, and then publish that content-addressable data to the blockchain, you expose a lot of very interesting capabilities.

Again, the most important part is that the authentication and identity is provided only by the Bitcoin wallet. The second most important part is that the resulting content-addressable key and an optional permalink is published in the blockchain, providing proof of publishing and ownership. The third most important part is that this data is distributed over BitTorrent and WebTorrent. Open Publish is 100% compatible with BitTorrent InfoHash.

The most exciting thing about Bitcoin is the public key infrastructure used for authentication/identity and the shared public ledger. This allows for people to interact in a single place without having permission from a centralized authority.

We’re retaining this aspect of the software that we develop with the aim that it can be used by any Bitcoin signing authority, hopefully individuals in control of their own wallets and their own private keys, making their data and identity truly portable.

One of our main goals are to add individual accountability to the process of hosting and distributing data. Right now the majority of individuals are left out of the business of data, being given free hosting and distribution in exchange for viewing advertisements and giving away private information. The solution is to put people directly in control of their data, including the costs.

If people want to use Open Publish and then host and distribute their data in some other way, they are free to do so. They’ll still be able to claim ownership over IP, transfer rights, and plug in to the payment channels from tipping and subscriptions that we’re working on. They’ll just have to take care of the rest themselves.

Bitstore, BTW, is primarily an internal tool that we’re using to build applications to track the costs of individual data usage. It is of course also publicly available and anyone can build whatever they want on it, but it isn’t a product that we plan on marketing. We’re building accounting software for rights-management to help people publish and track their intellectual property and we’re building consumer software to direct payments from supporters to the rights-holders. Bitstore and Open Publish let us do so in a way that is fair, equal-access, and without us controlling identity or personal data.

Bitstore lets us cover our costs so we don’t feel pressure to sell private information or rely on advertising.

With Bitcoin, think about what it is… it’s about accounting, it’s about contracts, it’s about transactions and it’s about ownership.

Bitstore was a pretty cool project. I just spoke to someone who wants to use something like this.