Hackernoon logoI Got Tired of Reading About Blockchain Projects that I Can't Use - So I'm Building One Myself by@zootella

I Got Tired of Reading About Blockchain Projects that I Can't Use - So I'm Building One Myself

image
Kevin Faaborg Hacker Noon profile picture

Kevin Faaborg

Head of Product at ARA Blocks

In August in Montréal, MUTEK, an international festival of digital creativity and electronic music, showcased fantastic projects combining art, music, spherical video, and virtual reality. I attended from Ara Blocks, a software startup dedicated to building tools for digital creators like these. MUTEK invited me to speak on the blockchain panel.

I head Product for Ara. We're building software as a part of the currently emerging new generation of decentralized technologies, including decentralized identity, peer-to-peer content distribution, and of course, blockchain.

At the blockchain panel, Catherine Mathys of the Canada Media Fund presented her report, Blockchain Technology and the Canadian Media Industry. It's the result of an extensive research project conducted by CMF and partner organizations. It's excellent, providing an accurate global overview and correct details of where blockchain is now in 2019.

Few new technologies have experienced the quantity of attention that we have all given to blockchain in recent years. There's a mountain of coverage, much of it hype. I imagine this is what CMF researchers may have been responding to, when, on page 16, Blockchains: challenges and obstacles, they wrote this:

Misunderstood concepts and a lack of conclusive examples
The lack of understanding of the technology naturally gives rise to skepticism and even mistrust. It seems clear that confidence can only be built if opportunities for awareness and learning are increased.
There is also a need for more compelling examples of applications to convince industry stakeholders and consumers of the tangible benefits of blockchains. In particular, products and services developed using blockchains should offer an easy-to-use, intuitive, and customizable user experience, which attracts the attention of new users.

I agree completely. These words illuminate a growing frustration in many of our minds. If you're hungry for blockchain, there's lots of stuff to read about and do for the speculator, and for the enthusiast, but very little for the user. I'm a product person. Technology is interesting to me when it powerfully and easily solves real day-to-day problems for millions of real users. There has been very little blockchain out there for me.

Blockchain sounds cool, and I'm tired of reading about it. I want to get my hands on the wheel of this thing.

To do that (and more importantly: to let you do that), we're building Ara. It's a collection of open source Node modules that handle real-world, user-level functionality in online identity, content distribution, and rights management. The first thing that we've built with Ara we call the Ara File Manager. It's a desktop app for Mac and Windows, with Linux packages coming soon. Under the hood, it's the same Ara modules you can run on a server, or integrate into your own app, site, or device.

You can download and install the Ara File Manager to try it out yourself. Running it for the first time, you'll create a new ARAid, or sign in with credentials you created previously. To the user, an ARAid comprises two things: a hash value you can save on a USB thumb drive or in any password manager, and a password you can set and save, or just remember. (Additionally, the File Manager will give you a mnemonic seed phrase. If you forget everything else, you can use these twelve words on new computer to completely rebuild and regain access to your ARAid.) All this works because your identity is completely decentralized—you don't have to choose or trust someone else to keep your identity for you, nor can you lose control if that provider goes down or becomes untrustworthy.

image

Notice how this sign up/sign in UI is in the desktop app, not our (or anyone else's) app or website. This is something I'm quite proud of, as it's a real demonstration of true decentralization.

image

The Ara File Manager's main window lists the content that you've published and purchased. If you've gotten the File Manager following the steps here, it will start out empty. Most users will get the File Manager after first clicking a creator's

ara://
link somewhere on social media, a messaging app, or the web, and in those cases the File Manager will begin downloading the requested content. To see how that works, let's follow a creator's steps to distribute and sell their work on Ara.

But first, why would a creator choose Ara? What are the benefits of distributing your content yourself with Ara's decentralized tools, as opposed to using any of the large corporate platforms? There are many, but here are my favorite four:

No size or format limits. Online video platforms take creator uploads, and then recompress media to lower resolutions and smaller file sizes. Smartphones take photographs at resolutions of twelve megapixels, but Instagram resizes every image down to a single megapixel. Platforms do this to save their own bandwidth costs, and hope that creators and fans won't notice.

Ara doesn't do this, delivering to fans digital content exactly as creators publish it. For fans today, this means lossless multichannel audio, and video at 8K and beyond. For the immersive and mixed-media creators like those I met at MUTEK, removing size and bandwidth limitations can be enabling. Blender files of three-dimensional assets are enormous. Spherical video data must be many times the size of traditional video to appear at similar quality.

During a project's production, Ara can assist groups of creators collaborating from different locations (or just using several different computers nearby) by mirroring digital assets. One group of independent creators might be mixing spherical video with multichannel audio for delivery on the HTC Vive, or a physical venue like the Satosphère (which has 8 video projectors and 157 speakers!) Elsewhere, a major movie studio might be localizing a new film into different languages. The Ara File Manager as it exists today, and production tools that integrate the open source Ara modules in the future, can help creators work together more easily by mirroring digital assets quickly, reliably, privately, securely, and without cost.

Flat bandwidth cost. For both independent creators distributing their content on the web, and for the largest content platforms, when content becomes popular, bandwidth costs rise. This has often forced independent creators onto the platforms: It's free to upload your video to YouTube, where Google will pay the bandwidth bill, but only while adding their own advertising and monetizing your fans at the cost of their privacy. Bandwidth cost has also meant that only the largest and most moneyed platforms have survived. Google can afford to operate YouTube while few others could, employing economies of scale so large they involve constructing datacenters the size of (and some nearby) hydroelectric dams.

With Ara, the economy of scale available to individual creators is the internet itself, and the community a creator builds with their fans. Ara's peer distribution flattens the bandwidth expense curve. Fans who have purchased content seed it out to other purchasers, and earn ARA tokens as a reward. With Ara, your album can go viral without your bandwidth bill following suit.

No 30% platform tax. Even huge platforms like Spotify struggle beneath Apple's 30% tax, while turning around and charging a similar fee to artists and labels on their platform. Creators must trust that platforms pay them fairly, and when platforms make a mistake, (or simply choose to demonetize you), the financial benefit is always in the platform's favor. Banks and payment processors add their own high fees, slow settlements, and requirement to trust without the ability to verify, while only offering a patchwork of regional availability.

With the ARA token, payments happen directly between creators and fans, and are immediate, transparent, verifiable, and available globally on day one. Rights and ownership information is anonymized and verifiable on the blockchain.

Delivery and payment separated from content and moderation. In the streaming world, renegotiations fail, providers discontinue business, and purchasers lose access. Additionally, your favorite blog or podcast might be available to you one day, and gone the next—and not because a creator changed their content, but often because a platform changed their policies. Right now, the big platforms hold your content, your fans, and your revenue stream, and run it all with their rules.

Ara components allow creators and platforms to separate many of these concerns, enabling much better respect for the multiple stakeholders involved. In recent years, we've witnessed shifting, reactionary, and draconian decisions by the major platforms that frequently satisfy no one. The more distributed tools and platforms that people can build with Ara will be more equitable by default.

Back in the Ara File Manager, let's complete the creator flow. Click Publish New File to open the Publish Package dialog:

image

This creates a new Ara File System, or AFS. Choose a name for it, and then drag in a folder or some files. You can set a price for your AFS, in the ARA token. Zero works great for free content.

When you press the Publish button, the File Manager will estimate a small cost in Ether, or ETH. This is called gas, but I think of it as a blockchain postage stamp, ultimately paying the miners running the computers that make up the Ethereum blockchain. The cost in ETH is shown, and in most cases will be a value less than one cent in dollars or euros.

Please note: As of this writing, we've shipped version 0.12.5 of File Manager. All the content distribution, security, and payments functionality is in place, but we're calling it a beta. Also, this version uses the Ropsten Ethereum Testnet, test ETH, and test ARA tokens. If you're reading this a week or two in the future, your File Manager is likely a later version that's on the Ethereum mainnet, and uses actual ETH and ARA tokens.

Back in the main window, your content appears under Published Files. Right-click it and choose Copy Link to get an

ara://
link like this one:

ara://download/f8a49beb84e560ce8e98d529cccf076f399df358b5ad346a025c370a6fd2d0c4/Example%20name

Creators can post these links anywhere text goes, and fans can click to buy and download. It's fully decentralized: there's no website, platform, company, or even domain name or registrar sitting between creators and fans.

Once a fan purchases and downloads, they can keep the content in the Ara File Manager to seed it to other purchasers, and earn ARA rewards. Right now, the smart contract that governs this revenue sharing model awards up to 10% of the purchase price to seeders, with 90% or more going to the creator.

Another part of the Ara File Manager to check out to understand how it all works is the Account panel. There are two crypto token wallets here, one for ARA and one for ETH.

Creators price their content in ARA, and earn ARA as fans purchase it. Fans pay in ARA, and earn ARA to seed content to other purchasers (creators also earn ARA rewards from seeding). ETH covers the transaction costs, usually a cent or less, to record publishing and purchasing on the blockchain.

image

The Account panel shows your wallet address. This address isn't private: you can safely publicize it, and anyone can use it to send you ARA and ETH tokens. In this way, creators can simply receive donations for their work, Patreon-style. Users can send tokens by pressing the Send Tokens button, and entering the destination wallet address.

A note about privacy and encryption: The Ara modules employ strong, end-to-end encryption to protect content. (Under the hood we're using Elliptic-curve cryptography, specifically Curve25519, as provided by libsodium.) Only those who know an

ara://
link can access its contents. So, if you're collaborating during production, make an AFS with a price of 0 ARA, and send the link to your colleagues over an encrypted messenger like WhatsApp or Signal. Used this way, Ara is much more private (and less expensive) than tools like Dropbox.

A note about preventing piracy: The Ara File Manager checks ownership records in the blockchain to only seed content to peers who have also purchased it. All the code is open source, but that doesn't erode this protection: A peer modified to try to get stuff without paying won't be given bytes by the swarm of unmodified peers. At the user and product level, ARA rewards also help protect content. Sure, a user could purchase, download, then take files outside Ara. But why would they seed for free, when they can get paid to seed in the Ara File Manager with ARA rewards?

A note about DRM: While Ara works with any DRM envelope, my hope is creators will choose to sell their content without DRM. This is how most content is distributed on the web today.

What about triple-A content like movies released by the major studios, television shows, and video games? This class of content today is protected not through the complex watermarking and DRM schemes imagined necessary a decade ago, but rather by simple strong encryption between closed devices like televisions, streaming sticks, game consoles, and smartphone apps. Integrated into services and devices like these, Ara's swarm delivery will still lower bandwidth costs, and the ARA token will still incentivize seeding. The blockchain will still keep rights and ownership data verifiable while protecting privacy. And, the content will still be completely protected.

A note about usability and decentralization: On the blockchain panel, Catherine asked me: How easy is this stuff going to be to use? My answer was: About as easy as two-factor authentication.

As you saw from the steps above, users must be able to set strong passwords, copy and paste long hash values, and securely store seed phrases. Decentralized apps can focus on usability to make things easier, but only up to a point—after that additional usability is commonly gained by compromising away the protections of true decentralization.

This doesn't mean that everyone who uses Ara will have to deal with hashes and seeds. Each project, when integrating Ara modules to utilize part or all of the functionality they provide, can make its own choices that weigh the balance between usability and decentralization.

Having said that, making Ara in its fundamental, fully-decentralized form as easy to use as is absolutely possible is super important to me. Decentralized technology arrived with the promise to empower individuals. This will only work if it's easy enough for individuals to use.

A note about partners and integrations: The Ara File Manager is just the beginning of getting Ara in front of and useful to millions of regular people. I think of the Ara File Manager as raw, unfiltered Ara: the Ara Node modules, with some friendly HTML on top so you can use them by clicking buttons rather than typing on the command line. The Ara File Manager might be a little geeky, and that's OK, because most people who use Ara won't be using tools like the Ara File Manager directly. Rather, they'll be using Ara integrated into sites and apps they know and love, and new ones we and others build with Ara.

Ara grew out of a project by NYC startup Littlstar, the VR streaming platform and makers of the popular PS4 app Littlstar Cinema. Funded by Disney, Sony, Tornante, and A&E, Littlstar has partnered with most major studios and broadcasters including ABC, NBCUniversal, CNN, WWE, Showtime, Fox, Discovery, and National Geographic.

We're working to integrate Ara into projects large and small: apps and sites made by us, products and services of business partners we've got existing relationships with, and new people we're talking to. Each of these integrations will be able to make choices with Ara appropriate to their business and their users. Some might just use the content distribution capabilities, others just the ARA token. Some might layer on fees and rules they require, and that's OK, too. Different integrations may present Ara to users in different ways, but will still be compatible parts of the same Ara ecosystem.

Also: you don't have to do a business deal with us (or anyone) to use Ara. The Ara modules are open source on GitHub and npm, right now. If your app or site needs to reliably and securely mirror unlimited quantities of content to an unlimited number of users without bandwidth cost, or indelibly record identity and ownership between individuals or corporations, a few lines of JavaScript and some of the Ara modules may be all you need. While we'd love to talk to you about what you're doing with Ara, talking to us isn't a requirement.

A note about the software stack: The Ara modules make up a new software stack for decentralized applications. We picked Node.js for JavaScript's universal appeal and evented architecture. Under the hood, we share code with Dat (alongside the truly awesome Beaker Browser) including Hyperswarm and more from Hyperdivision. We built the ARA token on Ethereum, and are happy with that decision for now, but have designed Ara to allow a possible future path that's separate. We're committed to free software and very involved in the open source communities around Dat and Ethereum.

We're not using IPFS. I sometimes describe Ara as an alternative to IPFS that's simpler, exposes APIs at a much higher level, and thanks to the Ara File Manager, that you as a user can try out right now.

A note about the team: To build Ara, the team came from places including Spotify, Twitter, Amazon, x.ai, Betaworks, and NASA. Guiding the project is a group of advisors with leadership experience at Google, BitTorrent, Inc., and The Libra Association. It's an absolute joy to be working each day with such a diverse, talented, (and frankly, oftentimes frighteningly smart) group of people.

A note about the name: Ara is a constellation in the southern sky recorded by the Greek astronomer Ptolemy. In mythology, Ara is the altar where Zeus and the gods vowed to defeat the Titans. Creators and fans are the heroes in our story, and with Ara, we're forging them some pretty powerful tools.

The technologies at work here: peer-to-peer content distribution, blockchain, and crypto, aren't new. What makes Ara different is we're building useful modules at a high level. We're releasing products powered by Ara, and working with partners to integrate Ara into existing apps, sites, platforms, and services. To me, the challenge of doing this is more compelling than the technology itself, and way more interesting than the speculation and hype.

So, if you've read about blockchain for years but never used it, download the Ara File Manager and try it out. And let me and the rest of the team know what you think.

Follow @AraBlocks on GitHub, Instagram, Twitter, and Medium, and read our whitepaper at ara.one.

Kevin Faaborg first saw the web in his freshman dorm at Harvard, where he studied physics, learned C from Brian Kernighan, and wrote for the Harvard Lampoon. Four years later working at MTV, he tried to explain Napster to Viacom execs. Few people are aware that LimeWire was a company; Kevin worked there for 5 years, writing code at the start and defending it in a Manhattan courtroom at the end. Spotify then launched in America, where Kevin worked for 7 years before joining Ara. His publisher wants him to link his book, Mastering Node.js, now in its second edition. Follow Kevin on Twitter @zootella.

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.