We are long-time supporters of Bitcoin. We spent almost a year and a half of our lives building routed payment channel technology for Bitcoin in order to make micropayments on Yours possible. Our technology is similar to the

We are long-time supporters of Bitcoin. We spent almost a year and a half of our lives building routed payment channel technology for Bitcoin in order to make micropayments on Yours possible. Our technology is similar to the

Unfortunately, in early 2017, fees on Bitcoin got so high (at about $3 per transaction) that even with payment channels we couldn't get fees low enough for micropayments. The cost of opening a channel was about $5, which is a lower bound cost for onboarding a user. That is far too high for a social network. That doesn't even include the funding of the channel itself, which would have to be at least $50 to make the fees economical.

Unfortunately, in early 2017, fees on Bitcoin got so high (at about $3 per transaction) that even with payment channels we couldn't get fees low enough for micropayments. The cost of opening a channel was about $5, which is a lower bound cost for onboarding a user. That is far too high for a social network. That doesn't even include the funding of the channel itself, which would have to be at least $50 to make the fees economical.

We realized that Bitcoin no longer made sense for our use-case, so we went shopping for an alternative. Ethereum was the next largest candidate, but it was so technically different from Bitcoin it would have taken too long to pivot our infrastructure.

We realized that Bitcoin no longer made sense for our use-case, so we went shopping for an alternative. Ethereum was the next largest candidate, but it was so technically different from Bitcoin it would have taken too long to pivot our infrastructure.

We realized that Bitcoin no longer made sense for our use-case, so we went shopping for an alternative. Ethereum was the next largest candidate, but it was so technically different from Bitcoin it would have taken too long to pivot our infrastructure.

Litecoin was the largest Bitcoin-like blockchain which meant pivoting our infrastructure would be simple. Furthermore, Litecoin had an extensive economic infrastructure including vast support from wallets, exchanges and merchants meaning it would be very friendly for our users.

Litecoin was the largest Bitcoin-like blockchain which meant pivoting our infrastructure would be simple. Furthermore, Litecoin had an extensive economic infrastructure including vast support from wallets, exchanges and merchants meaning it would be very friendly for our users.

However, the alpha was just an alpha, and we had a lot of work to do to make our payment channel technology work well for users. We have now been through three iterations of the payment channel system in order to make it work as intended: Be able to cash in, be able to send payments with one click, and be able to cash out.

However, the alpha was just an alpha, and we had a lot of work to do to make our payment channel technology work well for users. We have now been through three iterations of the payment channel system in order to make it work as intended: Be able to cash in, be able to send payments with one click, and be able to cash out.

However, the alpha was just an alpha, and we had a lot of work to do to make our payment channel technology work well for users. We have now been through three iterations of the payment channel system in order to make it work as intended: Be able to cash in, be able to send payments with one click, and be able to cash out.

Opening a channel cannot happen instantly. You must wait for the funding transaction to confirm before being able to use the channel in order to have strong security. We worked around this by indicating to the sender that the payment had succeeded even though it had only just started. In about 50% of these cases, the recipient never received their funds due to being offline.

Closing a channel cannot happen instantly. You must wait for the CSV delay to be able access your funds after closing a channel. For security reasons this must be a long time, such as many days or weeks, which are painful for users who want to access their funds immediately. We chose to set this to 30 minutes, which was about as low as we could possibly justify from a security point of view, but it was still irritating to users.

The user must be online to receive a payment. This is an unrealistic assumption for a social media app, so we invested enormous effort into our protocol and infrastructure to make this matter less, but it is not possible to fully allow recipients to be offline while preserving the economic advantages of payment channels.

The user must continuously be online in order to monitor for the broadcasting of old commitment transactions. (This can be solved by moving some of the monitor logic to a server, but that was a technical challenge that we never got around to due to the abundance of other issues that had higher priority).

Payment channels can be in weird states where payments are not possible for reasons than seem obscure for the user. For instance, users could not make micropayments as the first payment across a channel or the value would be below dust and thus the channel could not be closed. Another common case was that the number of outputs could increase greatly due to too many recipients being offline, increasing fees beyond the point where payment channels made economic sense.

Payment channels require much more state than a normal bitcoin wallet, which has to be backed up somehow and synced across devices. We never fully implemented backup or sync during our alpha due to the technical complexity of doing so, which meant that the user's wallet could not be accessed on other devices and funds would be lost if their browser database were cleared. (This problem can be solved with a greater investment in backup and sync).

Payment channels are at least 10 times more complicated than a normal Bitcoin wallet and require at least 10 times as much code. Although this would theoretically not lead to problems for end-users, in reality in meant we had many hard-to-fix bugs in our web of complicated code that lead to many minor problems for users. The result was that our payment system was only about 50% reliable. We estimated it would have taken another six months of full-time effort to fix all of the subtle issues to improve reliability to 99%.