2016-03-28

How not to do Proof of Reserves - a look at Uphold / BitReserve

Uphold, formerly known as BitReserve, recently came into some people's attention thanks to a Reddit user by the handle of askwhy10, who noticed the company might be somewhat insolvent according to their own Proof of Solvency. Anyone that has been around the Bitcoin world when MtGox has collapsed will know how important maintaining solvency is in our little corner of the world. But before we delve into that issue, lets have a retrospective on Uphold / BitReserve.

What is BitReserve?


BitReserve has been an interesting project for me to observe from a distance every now and then. Early on it was mostly a project about creating hedged accounts - you would deposit BTC, and then you could convert it over to USD or other currencies. In that sense it was similar to Locks from Coinapult or CoinJar's Hedged Accounts - BitReserve would dictate the exchange price, and it looks like you could only move money in and out of the system using BTC. One advantage it had over the other hedged accounts at the time was that one could transact directly in those hedged currencies, making it a bit more usable.

While lacking the free flow and exchange of money that systems like Ripple provided with their gateways, BitReserve still had a good idea to focus on the Proof of Reserves / Proof of Solvency to avoid insolvency:

"What people do with their money is their business,
what we do with people's money is everyone's business"

As BitReserve put it: "When you transfer your Bitcoin to your dollar card, we actually take your bitcoin and we sell it and we put those dollars in our reserve. And then, through our transparency system, we show that you are now actually holding dollars, not Bitcoin.", etc.

It is a very reasonable strategy for any financial service to take. In the Bitcoin world, you don't want to get caught in a swing holding the wrong currency and end up insolvent like MtGox. As long as you have 100+% reserves on all outstanding balances in all currencies, you can call yourself solvent. If you want to be strict about it, you combine Proof of Reserves with Proof of Liabilities, etc. So, how solvent is BitReserve / Uphold?

Uphold's solvency question


BitReserve, rebranded as Uphold in late 2015, seems to have shifted their focus away from Bitcoin and focus more on a PayPal-like model - allowing users to directly deposit and withdraw in fiat currencies as well as precious metals. They also seem to have expanded their trademarks to include such entries as bitdollar, bitgold, bitelectrum, reservechain, reserveledger, etc. and getting on the bad side of people like Andreas Antonopoulos. But lets go back to the issue of solvency.

Askwhy10 has made a post on 2016-02-15, in which he calculated that Uphold was insolvent at the time. It was short about $120k out of its expected balance of $5.6M (without Voxels, more on that later), so about 2% of total money was missing. But that was the total difference in balances. Looking at individual currencies, the company had only 4'594 out of 5'834 BTC (short 1'240BTC, 21%, or just shy of $500k). Missing 21% of your reserves in a currency that can swing by 10+% on a rough day is essentially gambling!

Uphold's BTC balance, 2016-02-14.
Columns: Currency, Obligations to our Members, Assets in Reserve, Exchange Rate.



Despite those glaring omissions, Uphold's transparency page on 2016-02-14 stated it had "101.0% Full reserve status". Most of that came in the form of Voxels, an "official coin of virtual reality".

Reading into this I am reminded of the timeless Bitcoin tale - "Story of Bob Surplus", wherein an altcoin pumper would create elaborate stories to attach to worthless currencies in order to pump them. Voxels looks like an altcoin looking for a problem - in this case, "wouldn't it make sense if Unity's Asset Store had it's own currency?", missing the point that you can just use Bitcoin...

Going back to our topic, with $350k worth of Voxels sold at the presale, Uphold evaluated that their share is worth, I kid you not, $110M. They hold 314 times the value of Voxels as were sold at the entire presale, with a surplus of $1.2M:

Uphold's Voxel balance, 2016-02-14

As the story went on, Uphold apparently became solvent again within a day of askwhy10's post, has removed Voxels from their transparency page, but they apparently are still going short on Bitcoin (holding 3'652 out of 4'944 BTC, 1'292 BTC or 26% short, worth $537k):

Uphold's BTC balance, 2016-03-27

While it may be understandable to hold some small imbalances between a few fiat currencies that won't swing more than a few percent per day in relation to one another, having such a short position on Bitcoin is a MtGox waiting to happen. At least Uphold is insignificant in the Bitcoin economy, but if I were someone holding Voxels...

Conclusions


Any company that doesn't hold at least 100% reserves on EVERY currency it operates in is gambling with their customer's money at least, and posing themselves to be the next MtGox at worst. Full Proof of Solvency is a requirement we should challenge all Bitcoin financial companies with and not accept any shortcomings or deficiencies. Lastly, if a company's CEO thinks Bitcoin won't exist in five years, especially if they are going short on BTC, they are not running a Bitcoin-friendly company and don't deserve your business.

Related discussions:


2016-03-23

It's all about trust, context and timeliness - reinventing social media with blockchain

In the recent week after posting about my experience as /r/Bitcoin moderator, doing an AMA on the subreddit, and the subsequent discussion that followed in the related topics (1, 2, 3, 4, 5, 6), I've heard a lot of people voicing their opinion that the way Reddit works is rather broken. This further amplified by the recent research by BashCo into possible vote manipulation that might be going around in our subreddit, as well as a few people noticing that some of the most popular subreddits seem to be both heavily moderating the content about the Brussels terror attack, removing some highly-voted submissions and a lot of comments on the subject. Long story short - it looks like a lot of the discussion on Reddit is swayed and controlled by a handful of people controlling the subreddits (/r/Bitcoin notwithstanding). So would it be possible to reinvent Reddit and similar social media in a way that would make vote manipulation, trolling, spamming and centralization of power irrelevant?

Filter bubbles and Web of Trust


We consume a lot of the media and news. The more relevant something is to our interests, the more likely we are to consume it, so logically a lot of companies try to give us "filter bubbles":


In short, a filter bubble personalizes the news and stories we see in our social media feeds based on what we enjoy and have consumed in the past. If we're pro Bernie Sanders, we might hear more news from /r/SandersForPresident/ rather than from /r/The_Donald/. Companies like Facebook do this more covertly, while Reddit is more explicit about allowing you to subscribe to whichever subreddit sparks your interest the most.

We could use the concept of explicit and personalized filter bubble to figure out what news would be relevant to us. We would have to pick which things we're interested in (tech news, pictures of cute animals, videogames, etc.) to create the "context" for our interests (more on that later). However, this would only be as useful to us as the quality of the content to consume, which can be filled with spam and manipulated. Here is where the idea of Web of Trust comes in.

Web of Trust is a formal way of stating who do you trust, and creating a network of trust-based relationships between the users. This applies to both finding trustworthy websites as well as money. In our context, we would create our digital identity (or multiple identities), and then state which other identities we trust or distrust. Whether it would be family members, celebrities or just some random stranger on the internet posting funny pictures, we could cherry pick who is relevant to our interests. Those people, and the people they are connected with would allow us to access the relevant data feeds.

The Web of Trust can also be resilient against sybil attacks and vote manipulation - it wouldn't matter if I created a million identities and they would all "Like" some post if you wouldn't trust anyone trusting those puppet accounts. Trust could also be diluted in a PageRank fashion - if I trust a million people, I might be less reliable than someone that trusts only a handful.

Context is also important for trust. While I might trust someone to provide me with animated book reviews, I wouldn't be taking technical advise from them. Similarly, if someone was blatantly in opposition to my views, I might explicitly distrust them in that field. This would allow us to mix and match who do we trust and under what circumstances to make our filters and web of trust more explicit. For example, my trust might look like:






[Self]
Videogames
Wrestling
Bitcoin
Astronomy
0.1
0.9
0
0
0
LukeJr
0
0
0
0.2
-1.0

In this example, I would value TotalBiscuit's opinion on videogames to a strong degree - he's a competent critic with years of reputation. While he might also be a fan of wrestling, I don't share his passion for the topic so I'm indifferent to anything he would share in that content. He's not an expert on Bitcoin, so I'd also give him a 0.

LukeJr's opinion on Bitcoin I would trust a bit - he's a competent developer, although his abuse of trust in the Gentoo story leaves something to be desired. Similarly, his view that the Sun orbits the Earth makes me distrust whatever he has to say on the subject of astronomy.

The [self] variable would be a category about the person - in this example I would be interested in hearing a bit about TotalBitscuit's general life (similar to a Twitter feed).

Evaluating content


By establishing our web of trust with the proper context, we can create proper filter bubbles for the content we want to consume. If the web of trust data would be public, say, living on an Ethereum smart contract, we could pre-compute all the values we would assign to everyone relevant to us on a given topic. People we directly trust would get full score, whoever they trust would be counted as a product of the two trusts plus some discount on how far they are away from us. Doing the same for further connection levels we would eventually tend towards zero trust - irrelevance.

Every submitted piece of content would have a context - just like hashtags on Twitter or subreddits on Reddit. Generic content would have a context of the person posting it - just like a Tweet without a hashtag. The content itself could be a post or a link like on Reddit.

Now, when someone would consume a piece of content, they would give it a upvote or a downvote, affecting how the people that trust them would view the content. For every person, the aggregate score of a given piece of content would depend on everyone in their web of trust, and only that. So if I trust say, 10 movie reviewers and they all upvote Cloud Atlas, it would have a score of 10 for me. If they disagreed on The Revenant, it might get a score of 2-3. If someone posts a picture of a cat in the "movie" category, that would get a score of -10 - it might still be a cute picture, but it's not a movie.

Just like on Reddit, the concept of timeliness also needs to be taken into consideration. A lot of people would be interested in getting the latest news and the newest cat memes, so similarly to Reddit the overall position of a submission should fade away with time to leave room for fresh content.

All of these things can be weighted depending on how one wants to browse the data feed. We could see the most relevant submissions, the newest ones, the most controversial, or the top submissions of all times.

Lastly, one's votes on various submissions might also slowly tweak the Web of Trust of that individual. Every upvote might add 0.01 to a trust for a given person in a given context, and every downvote would subtract as much. This way we would organically adjust our filter bubble based on the content we consume discovering new content curators as we go along.

Technical aspects


From a technical perspective, things might be a bit complicated. The biggest challenge I would see for a system like that being deployed on a distributed network with proper cryptography to run everything on would be the overhead. While a simple system would just tally a score for every submission and update it every now and then when new votes come in, here every vote would have to be registered and parsed separately. Seeing how Reddit can have ~30 million votes per month (over 10 votes per second) and 230 million unique visitors, that can mean a lot of data to synchronize. A lot of it could be broken down based on the context - if you're not interested in Bitcoin, you don't have to synchronize the Bitcoin sub-branch, etc.

Probably implementing something like segregated witness could strip a lot of data that could be later pruned off, making the overhead a lot smaller.

One would also need to address the issue of bootstrapping new users onto the system - if only people that someone trusts would have their content viewed, it might mean a lot less content is posted in general. It could be solved for example by proof-of-burn - anyone joining the website could burn some small amount of money (or donate it to the network creators) to gain a bit of reputation from the generic account everyone would trust by default. This would allow users to start growing trust in themselves.

All in all, the concept might look a bit like Synereo, although a bit less focused on absolute reputation scores and tokenization:


Conclusions


The current social media can be heavily controlled and censored by a few individuals. Discourse on Reddit is further hampered by vote manipulation and spam. It might be possible to change how we discover content through the use of public Web of Trust and a decentralized network to submit the content through.

2016-03-14

On /r/Bitcoin moderation - three years in review

In the past few months the moderation of /r/Bitcoin has become a contentious issue. Ever since the ban on discussion of alt-clients like BitcoinXT, the community seems to have fractured into a  few camps, sometimes vilifying one another. I was asked to clarify where I stand on this and a few other issues, so I might as well roll a few /r/Bitcoin-related topics into a blog post for future reference.

The XT censorship


As many /r/Bitcoin moderators might tell you, the decision to censor BitcoinXT was made solely by Theymos. Along with justification as to why this would happen, the message was pretty clear:

"[...] I currently intend to remove all XT submissions single-handedly if necessary, and to remove any moderator who undoes my actions, even if all other /r/Bitcoin moderators disagree."

Some moderators decided to quit out of principle, others found out later that Theymos wasn't kidding with the threat of removals.

So, the big question a few people have asked me - what is my stance on the matter?

My stance


I had a few phases of thinking as I learned more and more about XT. In my initial reaction - I was against the censorship of BitcoinXT - it was a project by a respected Bitcoin developer and it was proposing changes that needed to happen.

After debating it with Theymos and learning his point of view - I agreed with his logic that XT could be considered an altcoin that branches off of Bitcoin and that in future we could have similar forks by less reputable developers that change other contentious parts of Bitcoin - coin limit, redlisting, etc. However, that still wasn't the full story.

I've reached my final conclusions after discussing the topic with the community and learning that BitcoinXT would only fork when it is in the super-majority and becomes the de-facto Bitcoin network. For me, that was a good enough reason to not consider XT and similar clients altcoins - they don't just fork in a "revolution" and create their own network at a whim, but instead they take a reformist approach of winning the network over in a more "evolutionary" approach.

So in the end, my stance is - a client that attempts to introduce a hard fork into Bitcoin through super majority should be on topic for /r/Bitcoin.

As such, I have never removed any such topic or discussion, and I am participating in both the /r/Bitcoin subreddit, as well as the alternatives of /r/bitcoin_uncensored and /r/btc .

Unfortunately, even if I'm in favour of allowing discussion of BitcoinXT and similar clients, this decision is not in my hands. Which leads to another question - why don't I resign in protest?

Protesting


Some people have suggested that I and other moderators should resign in protest against the censorship rules. I personally disagree with this logic on the following basis - if you resign, you are showing that you don't support a given decision, but once you're out, you've basically done everything you could in the matter. You will get replaced by another mod sooner or later, and the capacity of a subreddit to function will be restored. The only difference you will make is to remove the voice of opposition from the pool of moderators, hurting your position in the long run.

So my approach is to remain a /r/Bitcoin moderator, continue moderating it like I was doing up until now, stick to my conviction of not censoring the discussion of BitcoinXT and similar clients, and voice my disagreement with the policy as appropriate in the future.

It might not be as glamorous as taking an umbrage, throwing a tantrum and leaving the moderation team as some would prefer, but this is the approach I prefer.

"Lets not moderate anything" - a day in life of a moderator


Every now and then, some people propose that we shouldn't moderate any discussion on /r/Bitcoin or similar subreddits. While the idea might be in-line with the semi-anarchist nature of Bitcoin, it doesn't really work. This is what moderation has to deal on a daily basis:


Sometimes, the spam is more organized - there are some communities that use Reddit for promoting their coin of choice. Over at /r/CryptoCurrency for example, we had to start limiting Reddcoin spam because the astroturfing was getting out of hand.

Some of the spam moderation can be automated - we have a fairly extensive automoderator script running on /r/Bitcoin that takes care of a lot of bad submissions for us.

When we're not dealing with spam, we're dealing with trolls. Some people would see this as more of censorship, but the truth is - too many trolls can spoil the community and drive away the good people you want to have around. A few years back I had a conversation with one of the "Bitcoin celebrities", and he told me that he doesn't post in /r/Bitcoin any more because of a number of trolls dogging him each time he posts. Trolls can also derail conversations and generally make the comment section a place you don't really want to venture into.

Initially /r/Bitcoin didn't ban anyone - Theymos was against it years back since the same trolls can come back again and again under new usernames. However, after getting a lot of complaints about a single, prolific troll, we started banning the trolls. The guy in question went through a lot of different usernames, got banned reddit-wide and even had to resort to switching IPs to avoid IP bans. While as it turns out - we didn't manage to drive him off completely (he resurfaced in some comment section a year or two after we started banning him to have a small chat), we did manage to make him lose interest in trolling every thread on the subreddit.

The last activity that takes up a bulk of moderation is answering to people complaining. Some rightfully so when their submission gets caught in some spam filter when it shouldn't, some less so when they decide to tell us that we can go and die since we won't be able to ban all of their accounts.

The remaining 1% of time of being a mod is where everything else happens - discussing rules, answering some questions, etc.

All in all, moderation is a pretty boring, thankless job.

A comic on Reddit moderation

Bitcoin memes and my biggest mistake


Now that we've talked about /r/Bitcoin censorship and how moderation works, let's talk about memes. Reddit and memes seem to go together hand in hand. However, this doesn't always work for every situation. If you want to have a subreddit focused on having serious discussions, memes can have a detrimental effect.

Checking out a photo or reading some short, witty meme can take a few seconds, after which a user would be able to vote confidently whether something is good or not. Page-long thought-provoking discussion about the meaning of live, the universe and everything on the other hand can take minutes to read before someone can say whether they consider the submission good or not. Because of this, memes get more upvotes faster, meaning they bubble up to the front of Reddit, getting even more exposure and votes, drowning bigger posts in their wake.

Worse than that, people then turn around and proclaim "memes seem to get a lot of upvotes, which must mean this is what the subreddit wants!". This can create a further self-fulfilling prophecy. The argument also ties to the above mentioned notion that we should just use votes to decide what should be posted on a given subreddit. Here is a comic explaining this.

This is why some communities choose to ban memes altogether - moderation and removing submission is not about what gets the most / least votes, it's about what fits the given subreddit. How does this fit in to /r/Bitcoin?

Bitcoin memes


Bitcoin and memes have a complicated relation. Some people believe that Bitcoin should be all about serious business and memes have no place in /r/Bitcoin. Others embrace the internet culture and the light-hearted nature of Bitcoin that has been around ever since the Alpaca Socks (heck, a meme is the origin of Dogecoin). As far as anyone can tell, the community is pretty evenly divided on this issue - none of the sides are in a decisive majority. So while we have a meme-centric Bitcoin subreddit, /r/Bitcoin is also welcoming of the memes and silly photos.

Most of the time, the subreddit is fairly balanced and you don't have a flood of memes. This, however, changes every now and then....

Price memes


Bitcoin price meme, circa late 2013

When the Bitcoin price swings rapidly, the Bitcoin subreddit tends to fill with numerous posts of either elation or woe. There are numerous posts shouting out the newest price (usually 5-10 of very similar posts at a time). Understandably enough, there were a lot of people that didn't like when this happened and called for ban on memes. One such person, with his post on 2013-12-07 was /u/ShakeThatBass .

For those that haven't been around /r/Bitcoin in 2013, that username might not mean much. ShakeThatBass was an anonymous early Bitcoiner that organized one of the biggest Bitcoin givaways in history, giving away 350BTC (worth at the time $7000) through Bitcointip to people that donated to various charities. The giveaway was held on 2013-03-04 on /r/Bitcoin. This act of generosity has earned him a lot of respect from a lot of people, myself included.

Back to price memes. So having read his highly-upvoted post 11 days prior, on 2013-12-18, when the "news" of China cracking down on Bitcoin was swung he price plummeting down to about $500 from the high of $1100 just two weeks prior, a number of Bitcoin price memes started to surface again. Then, I made a decision that I still consider my biggest mistake in my /r/Bitcoin moderating career - I issued a temporary ban on memes and price posts that lasted for about a day.

The decision came only from myself (no other mods were consulted), driven by the will of the community. When the dust settled and everything got calmer, I learned an important lesson in moderation and added another rule for myself to follow - don't make big decisions single-handedly. Everyone makes mistakes and at the heat of the moment a decision might seem justified, but other peoples may disagree. This is why when it comes to important moderation decisions I consult with other mods to hear their opinion and see if they agree - now even if I'm the second most senior mod I wouldn't do such things again without another mod's backing. While not necessary for the mundane mod chores like approving / removing submissions or banning obvious trolls, it is useful for the big decisions.

Moderation consistency


The last rule I follow is moderation consistency. /r/Bitcoin is currently moderated by 10 people and one bot. Everyone can have their opinion on various matters, but at the end of the day we have to act consistently to avoid moderation wars:

Months of moderation wars for Tonal Bitcoin discussion page between Luke-JR and Aleš Janda.

To avoid such petty squabbles, moderators should first discuss a contentious issue and then apply the consensus in practice (or at least, become a conscientious objector, rather than engaging in mod wars), even if they hold an opposing view. Whether it comes to banning trolls, removing spammy websites or the like, consistency is important.

Conclusions


Being a subreddit moderator is a thankless job. It takes a lot of work to remove spam and trolls. Sometimes we make important moderation decisions, and sometimes we make mistakes in our judgement like everyone else.

Overall, my personal moderation stance is as follows:


  • Moderation is essential for combating spam and trolls, as well as keeping the subreddit on-topic
  • Moderation consistency is very important and mod wars should be avoided
  • Important decisions on moderation and the direction of a subreddit should be made by at least two moderators, or a consensus for really big decisions
  • I disagree with the ban on BitcoinXT and similar clients, but for moderation consistency, I remain a conscientious objector
  • I don't believe in leaving a moderation team over a disagreement on moderation policy as it can remove the voice of opposition from the future discussions
  • Everyone makes mistakes, admitting to them is not the end of the world


I hope this covers some of the questions people might've had over the last three years of me being a /r/Bitcoin moderator and gives something for other cryptocurrency subreddit moderators to think about.

2016-03-07

Big blocks, small blocks, side-blocks, off-blocks...

In the recent week Bitcoin has experienced another "stress test" in form of a lot of transaction spam (see below for a chart of the amount of transactions in mempool), although this time the spam was not scheduled and it's not clear who was responsible for it. Along with the continuous debate on whether or not to increase the Bitcoin block size, a lot of people have started looking at what are the potential outcomes of the situation. I have covered a similar topic over a year ago, but it might be a good opportunity to revisit the topic and bring everyone up to speed.

A mockup of "Bitcoin surge pricing", inspired by Uber.

The problem


As some of you know, the Bitcoin blockchain was initially designed to have a limit of 1MB per block. This was done due to prevent the bloat and abuse of the network. However, if this limit is strictly enforced, the Bitcoin network would only be able to support a small number of transactions, about 7 transactions per second (compared to Visa's 2000 tps). Clearly, this won't be enough for a payment network that is supposed to replace the banks and credit cards. Either we will increase this size in some way, or we will see Bitcoin become a much different network.

The outcomes


Depending on whether the block size is increased or not and by how much would dictate how the Bitcoin network is shaped. Lets look over some possibilities.

Block size remains rigid


In this approach, the 1MB block size is rigid and remains unchanged. When we start hitting this limit, the miners will be able to pick and choose which transactions to include in the block. Rational miners will pick the transactions that pay them the most in fees (proportionally to their size), thus there will be a bidding war to get into the next block.

Due to the increased cost, fewer people will opt to send transactions themselves, either leaving Bitcoin entirely, or by performing some off-chain settlement. Wallet services such as Coinbase could become more like banks - offering their customers settlement with other people on their platform and other platforms that accept off-chain settlement.

In this scenario, Bitcoin becomes a settlement method for large bank-like wallets and large corporations.


Block size limit is abolished


A polar opposite of the previous approach. The block size limit is completely abolished and miners can create arbitrarily big blocks. While anyone can create a transaction for cheap, the network would soon be attacked by malicious entities trying to push the limit. Someone could decide to generate a 1GB block for example and cause the network to grind to a halt while synchronizing.

Quite quickly running a full node becomes a luxury or a business. We see more reliance on Stratum-like supernodes. The functionality of the network is dictated by them.

In this scenario, the Bitcoin network turns into something like the modern Internet - only big players can access it directly and everyone else has to rely on something like Bitcoin-Internet Service Providers.

Middle of the road


The most likely scenario would be somewhere in the middle of the road - raising the block limit, but doing so gradually. Dedicated users could run their own nodes, but most of us would rely on third parties for helping our wallets function.

Alternative solutions


Bitcoin is both an independent currency and a settlement network for that currency. Whether the block size increases or not, there are a lot of ways one could try enhancing the settlement aspect of Bitcoin.

Soft forks


There are some proposals on how to improve the scalability without hard forking the network. Some of them include softforks such as Segregated Witness , or Sidechains (allowing value to be moved in and out of the Bitcoin network without a trusted third party).

Segregated Witness, or "SegWit" is a solution focused on slimming down the transactions by moving the signatures off-blockchain. This can slim them down to about a quarter of the size, essentially allowing the Bitcoin network to process 4MB of transactions in 1MB blocks. The idea appears to have a lot of support, but since it's mostly streamlining what Bitcoin can currently do rather than creating a whole new solution, there isn't much left to explain without going into technical details.All in all, SegWit can buy Bitcoin some breathing room with its current block limit.

Sidechains is an idea focused on on being able to move the value in and out of the Bitcoin network without depositing the coins with a third party. While this doesn't sound like much, sidechains can lead to a lot more than just scaling Bitcoin - they have a potential of recreating networks with the features of Ethereum or Ripple without having to bootstrap those networks with new coins. These sidechains could be used to settle BTC transactions outside of the network while still not having to worry about the counterparty risk.

Payment channels


Payment channels in general or Lightning Network specifically are an interesting approach to allowing a large amount of transactions to take place outside of the Bitcoin network while everything would still be settled on-chain. The idea was discussed as early as 2011, and today we have some companies that even start advertising it on their websites:


21.co advertising their payment channels right above telling everyone how many blocks it might take to confirm various transactions during the recent spam attack

A payment channel is a way for two nodes to pass payments back and forth between one another using unbroadcasted Bitcoin transactions. Each payment adjust the balances between the nodes - shifting the balance back and forth accordingly. Only the final transaction gets published to the whole world, thus potentially saving a lot of space in a block. While the use case for this solution might be limited (who sends another person multiple transactions over a short period of time?), it gets more interesting when you add the network effect to it.

A simulation of 6 networked payment channel nodes

Now, when you introduce a few "supernodes", possibly in form of Bitcoin exchanges and big companies, you start mimicking the Gateway model of Ripple:

An illustration of the Gateway model of Ripple

Instead of settling directly on the network, anyone can potentially save a bit of fees by connecting to one of the supernodes and establishing a payment channel with them. This would allow you to transact with anyone in the network fast and cheap, while still being able to settle your balance on the Bitcoin blockchain as needed. If the payment channels are open for a long period of time, a lot of people could begin to operate solely within the network. This might be especially important for cross-exchange settlement, or for shared ewallets like Coinbase or 21.co.

Alternative networks


Last but by no means least, we have the alternative networks. A lot of them stand to benefit when the Bitcoin network falters.

Simplest ones would be the altcoins - Litecoin and the like. They reason that if Bitcoin blocks are full, people will join other networks and use other coins instead. I'd take that with a grain of salt, after all, Bitcoin is a better currency in terms of price and market cap than its alternatives, but the other networks might have a higher throughput.


A much more compelling alternative would the the Crypto 2.0 networks and permissioned blockchains - Ripple, Open Transactions, Liquid. Those networks can use the above mentioned Gateway model and move the settlement completely off the Bitcoin network. The only transactions that would need to be included in the blockchain would be deposits and withdrawals. While certainly more rigid and centralized than the payment channels, there are ways of preventing the gateways from stealing one's coins (such as Voting Pools). Moreover, such networks could also be used to issue fiat-denominated IOUs, which might be very attractive for some applications.

Conclusions


The Bitcoin block size debate is still going on, while the blockchain limit is being hit more and more often. Either the Bitcoin network will scale to larger blocks, or higher fees. There are many solutions out there focused on providing alternative means of settling with BTC without having to further burden the Bitcoin network. Only time will tell how our current problems will be addressed and which solutions will be used.