How Yours Has Already Implemented Lightning Network-Esque Bitcoin Micropayments
Yours is the latest social media application that gives audiences the ability to reward content creators via Bitcoin payments. The project is headed by former Reddit Cryptocurrency Engineer Ryan X. Charles, and he recently discussed some of the details of the platform with Alex Sterk for an episode of Blocktalk.
One of the key differences with Yours when compared to past Bitcoin-power social media applications, such as Changetip and Zapchain, is that Yours includes a fully decentralized payments system where the intent is to give users complete control over their money (and Bitcoin private keys).
The Original Version of Yours Payments
Allowing users to use bitcoin as it was originally intended (as digital cash) has always been the plan for Yours. “You’re probably better off using dollars, in my opinion, if you’re going to make it fully centralized because it’s just going to be easier for your users if you integrate with Stripe or something like that,” said Charles during his recent Blocktalk interview.
The first version of the Yours platform included normal, on-blockchain transactions, which means they were fully decentralized, but high transaction fees quickly became a serious issue for Yours payments. “The problem at that time was that Bitcoin transactions had a fee of about five cents, and this was just in April,” said Charles. “Five cents was just too high because we think the payments are only going to be about five cents, so if your fee is also five cents, that’s extremely expensive.”
At that point, it was clear that Yours was going to need to find an alternative to on-blockchain transactions if their platform was going to work.
Yours Implements a Payment Channels Hub
After going through the Lightning Network white paper and a variety of other papers about Bitcoin micropayments, Yours ended up creating their own solution to fit their specific needs. Their micropayments implementation is similar to the Lightning Network, but it’s not exactly the same.
“The smart contracts are the same as the Lightning Network, [but] there’s only one big node,” explained Charles. “Another way of describing it is as a payment channel hub, where each person has a payment channel to the hub.”
Charles added that he doesn’t like the “hub” terminology used in the description of Yours’s micropayments solution because their implementation is less centralized than it sounds. According to Charles, the micropayments hub in Yours is completely trustless and doesn’t actually hold anyone’s money.
“It just sort of routes payments from one user to another,” Charles clarified. “It’s sort of like the Lightning Network but with only one node.”
Implementing their own micropayments solution took up most of the Yours team’s time over a period of six months, and Charles noted that there is still work to be done when it comes to securing and scaling their system. “I would say the fundamental part of making it work is now over,” he added.
The Need for Segregated Witness
According to Charles, Segregated Witness (SegWit), which is an improvement that was included in Bitcoin Core 0.13.1 (but not yet activated), makes systems like the Lightning Network much better. “SegWit is necessary to achieve a good Lightning Network,” he said. “Technically speaking, you could have kind of a crappy Lightning Network without SegWit.”
The payment channels used by Yours are unidirectional, which means that two channels are required to enable the sending of micropayments in both directions. This is essentially a crude workaround for the issue of transaction malleability. Segregated Witness solves the issue of transaction malleability, which means only one channel would be needed between two parties for bidirectional payment—if and when it’s activated.
“It’s really irritating because now it means there are two payment channels when a real Lightning [channel] would have a sort of double-sided payment channel,” explained Charles. “I believe there is a way to do it fully secure without Segregated Witness; it’s basically just worse.”
Yours has always planned to adopt Segregated Witness once it has been activated on the network, but Charles explained what the project’s options would be in a situation where it isn’t activated in a timely manner:
“We’ll assess the security status of our product and decide whether we feel comfortable launching it or not because if the security problem is small, we’ll just launch it anyway. Then, we’ll just wait for Segregated Witness to be fixed later, or we’ll fix the security problems in other ways.”
Charles mentioned whitelisting users or charging money to use the system as two possible ways of preventing attacks on a less secure micropayments platform.
“It is certainly desirable that Segregated Witness launches, so that we just don’t have to worry about these issues at all,” added Charles.