2017-07-11

A mark of one's existence - records in the blockchain

Part of being a human is wanting to leave a mark on the world. Within us lies the deep need to be remembered, in some form, after we die. We see it in the Cueva de las Manos - Cave of the Hands, where the inhabitants left the outlines of their hands painted on the walls as early as 13'000 years ago.

Cave of the Hands

We hear the same plight from Horace some 2000 years ago in his Odes when he states "non omnis moriar" - "not all of me will die". Similarly, to condemn someone to be forgotten was a fate worse than death for the ancient Romans. It was called damnatio memoriae, or "the condemnation of memory".

In our digital age it is perhaps easier than ever to remove someone from history. While it is easier than ever to record what's going on, it is similarly just as easy to alter and distort the events thanks to tools like Photoshop.


Photos can be altered, memories can be called into question, records could be rewritten, and we can end up with the Mandela Effect. Add to it the right to be forgotten, and soon it might be hard to believe any record or lack of it on the Internet. George Orwell would be proud of what we could do to make someone an unperson.

Everything could be subject to change. Everything that is, except blockchains.

Proof of Existence


While working at Factom I heard a great tagline - "It is hard to guess today what lie you want to tell tomorrow". It might be a very profound statement in today's world of digital records - if you can't backdate, alter historical records or the like, you'd better be completely sure how you want to proceed ahead of time.

All of this is of course only possible through the Proof of Existence and the blockchain technology. Only networks such as Bitcoin or Ethereum can be seen as objective records of history anymore. They alone are big enough to be secure from tampering (if you can't 51% attack the blockchain, you can't rewrite the history) and public enough to ensure any attempt at tempering with them will be a publicly known event. Because of that, any data embedded in the blockchain will remain unchanged and hopefully preserved as long as the blockchain persists.

Record of my data


Today is my 30th birthday, and I decided to celebrate with a little experiment.

A few months back I contacted the Personal Genome Project Canada to participate in their research and get my genome sequenced. It has been an interesting experience, and I did find some correlation between my genetic predispositions and the health quirks I've been experiencing my whole life.

During the study I requested a copy of my sequenced genomic data. It was shipped to me on an external hard drive as the files themselves were 200GB. After leaving my computer to crunch the numbers, the SHA256 results was spit out - "de7a8430be51538ebcdd031390e0de3f7cde74a9c88a76e64406e88b6259d4fe". That was the hash of my genetic information - probably the most elegant version of a digital hand print I could find.

After playing with the debug options in BitcoinQT, I managed to wrap it up neatly in the transaction 32a0f8febb0f9f9c7fe1ce9a6b2a59356f443e27186d2e4b5c5a9a3e5e16f4cd, sent from my two favourite addresses - 17TQLZvXjKTrUyRnV9DuQs4RVDgNjUPeXQ, the address in which I received my first coins in 2011, and 1PiachuEVn6sh52Ez7o6Fymvw54qvQ4RBm, my own geeky little vanity address. And so, in block 1597975 (000000000000000000b43bb4162374befa73a882efa6279d87cd3f11548cff59) my transaction was anchored and became part of the blockchain history, along things like the blockchain marriage, a tribute to Len Sassaman, and the infamous Times headline chosen by Satoshi Nakamoto. To the best of my knowledge, I'm the first person to have embedded a hash of their full genetic information this way.

It wasn't my first foray into embedding data into the Bitcoin history. That honour had to go to the illegal number from 2012 that was done as part of my master thesis research.

Larger records of data


Admittedly, the process of saving the data into the Bitcoin blockchain was a bit complicated. Preparing the inputs by hand, making sure the data itself is fairly small, it can all be rather limiting and potentially get expensive with larger amounts of records. Hence why it might be worthwhile to consider protocols that extend the Bitcoin protocol, while still offering the same cryptographic proof of existence. In comes Factom (full disclosure: I work for Factom).

With the intent of storing the same data, I created a new chain with my name and alias - ef020b0dc14223ca454cb69b36143ffbafa8b09c0ff962b18742cd97a02735c9. The hash was anchored in transaction cdeb46cad69c01f79864e20a56cb227b94c9738b79d8291e4181f5cbd9b86f27 that became part of the block 96731 (d8fea7d7df13f0e629817a552719a7e7e9860023313ddaa5fa76ad34d655ace1).

Now, there is an extra step that needs to be taken between here and Bitcoin - the anchoring process. That is performed externally by the an automatic server. It created a transaction bebfc29801239ad254da97b253c864736257143f17e3519e03e05e3761f57a8f that made its way into the Bitcoin block 1598016. And here comes the magic trick that gets us between a Factom transaction into a Bitcoin block, "the receipt":
{
   "receipt":{
      "entry":{
         "entryhash":"cdeb46cad69c01f79864e20a56cb227b94c9738b79d8291e4181f5cbd9b86f27"
      },
      "merklebranch":[
         {
            "left":"cdeb46cad69c01f79864e20a56cb227b94c9738b79d8291e4181f5cbd9b86f27",
            "right":"0000000000000000000000000000000000000000000000000000000000000003",
            "top":"07e5e997757ce1c4e935aecff3e1fb4bb9f7c466329de38ae19c342106283e7b"
         },
         {
            "left":"c48f1c742f8aea8c834b07615776e6c9f79d2300b4e1eb29ea6e295a55823402",
            "right":"07e5e997757ce1c4e935aecff3e1fb4bb9f7c466329de38ae19c342106283e7b",
            "top":"6d423f0c963ce0a9744eec94e07816263b82c1514c048fc43c791e19a44b7458"
         },
         {
            "left":"ef020b0dc14223ca454cb69b36143ffbafa8b09c0ff962b18742cd97a02735c9",
            "right":"6d423f0c963ce0a9744eec94e07816263b82c1514c048fc43c791e19a44b7458",
            "top":"d985f353aa34b1b7f021a30816019eac3cfd486743eb81b63295d12e7aa182f6"
         },
         {
            "left":"76c2296711dfc90eff2cec432b5592155ce13c4bd0f9cc15b01f842994358f35",
            "right":"d985f353aa34b1b7f021a30816019eac3cfd486743eb81b63295d12e7aa182f6",
            "top":"cb75287e2e1b170e5f5dc99ae7b738139305ad822e0c311cbdfb82ab0fa5d31d"
         },
         {
            "left":"3c00225e5d9f6d5e62c2926c02c5c03c31eaa831ee48d6e216dbe3b637125665",
            "right":"cb75287e2e1b170e5f5dc99ae7b738139305ad822e0c311cbdfb82ab0fa5d31d",
            "top":"fd03d8be680bb8c36ba01f224c71160f934c732a42de1c6d1d106b678e0f23a6"
         },
         {
            "left":"fabbd3f11bb85847530a6493361f3654d8617ab82ea3e34ddcc337c976917ec9",
            "right":"fd03d8be680bb8c36ba01f224c71160f934c732a42de1c6d1d106b678e0f23a6",
            "top":"92545cf4f7485731b6ee9007f9d3348759cd2edda60a9e5e7bc6ef2fa4f11cd1"
         },
         {
            "left":"35f75955731e0cfd98653a5979c6e53a0e97cd49ae91b06ec31001a96625666c",
            "right":"92545cf4f7485731b6ee9007f9d3348759cd2edda60a9e5e7bc6ef2fa4f11cd1",
            "top":"4c9d45d122337f6a85084b1492bbd3fe5fcd8a2bbfc71e7bacf283668fa0770b"
         },
         {
            "left":"4c9d45d122337f6a85084b1492bbd3fe5fcd8a2bbfc71e7bacf283668fa0770b",
            "right":"d9d488d0ddc24aae887d86ce094de1579fe10ce06e8f6b8cdb434f45c8d0cdcd",
            "top":"c0ee8f8410515485de6ca7831dcd09856e08ec89799cf90778ea3211b41b4ba5"
         },
         {
            "left":"e327276f2bbfa0bb9dc9d89095abcb0fe7dc3373a31392892099824c89c332a4",
            "right":"c0ee8f8410515485de6ca7831dcd09856e08ec89799cf90778ea3211b41b4ba5",
            "top":"d8fea7d7df13f0e629817a552719a7e7e9860023313ddaa5fa76ad34d655ace1"
         }
      ],
      "entryblockkeymr":"6d423f0c963ce0a9744eec94e07816263b82c1514c048fc43c791e19a44b7458",
      "directoryblockkeymr":"d8fea7d7df13f0e629817a552719a7e7e9860023313ddaa5fa76ad34d655ace1",
      "bitcointransactionhash":"bebfc29801239ad254da97b253c864736257143f17e3519e03e05e3761f57a8f",
      "bitcoinblockhash":"000000000000000000746bcc20463036af6deb09931d78fbd02546042b80f1d1"
   }
}

While it might look like gibberish, it's a simplified payment verification-style merkle branch leading from the transaction hash through the entry block key merkle root, the directory block key merkle root, up to the Bitcoin transaction itself. As the chain of hashes is complete, one is able to mathematically prove that the transaction indeed made its way into the Factom block and got anchored into the Bitcoin blockchain.

The same mechanism could be used to anchor data such as text into the blockchain, for example securing entire blog posts to prove they existed unaltered in their current state at a given point in time. I intend on doing that for this blog once I narrow down the ideal format, but that's a story for another day.

Conclusion


Bitcoin is probably the first, objective, immutable record of history we have. Any data saved into the blockchain will hopefully remain preserved for a long time. It is possible to extend the Proof of Existence into larger data sets without needlessly expanding the Bitcoin blockchain.

2017-05-29

What other cryptos can learn from Ripple

While last week I criticised Ripple's XRPs, we can't equate the whole system to its currency. There are many fundamental features of the Ripple system that other cryptos can learn from. A lot of them are small and obscure to anyone who hasn't had a hands-on experience developing systems on top of cryptos. Luckily enough, that's my speciality.

So here are a few features of the Ripple system that other cryptos can learn from, as viewed by a programmer.

AccountTxnID and Memos


Sometimes you need to send a transaction with some extra data attached. Whether it's an invoice ID, customer number, or some other business-related information, you have some data that needs to go into the blockchain. This will help you keep track of what transaction did what, give some identifiable information as to the origin of the transaction and so on.

Even Bitcoin recognised the need for this feature by introducing OP_RETURN in 2014. Before that, people used to create unspendable transaction outputs that the system would have to keep track of forever.

Ripple already had that at launch in 2012 in the form of AccountTxnID and Memos. The first is a short field, ideal for including transaction IDs and similar short strings. The latter can store a lot more complex data structures - long strings, multiple hex arrays, that sort of things.

LastLedgerSequence


When building a more complex cryptocurrency system, you have to deal with the fuzzyness of transactions before they enter a block. Essentially, when you send a transaction out, you might not know what will happen to it until it either becomes part of a block, or a conflicting transaction becomes part of a block. If a transaction becomes lost in the network, gets stuck in a processing queue, or there is something else wrong with the system, it's essentially stuck in a limbo. It may be confirmed in the next second, it may never be confirmed, or maybe it will take a few hours.

So here's the problem - how do you handle such transactions? You can try resubmitting them if you have the hex representation of them, but that still doesn't guarantee an outcome. You can try double-spending yourself, but then you have two transactions stuck in a limbo. Do you resubmit a different transaction to credit the same person? Then you might accidentally send them the money twice if you're not careful. All of those outcomes are less than ideal.

Here is where LastLedgerSequence comes in. It's a field you can include in a transaction that allows you to specify when a transaction will DEFINITELY fail. You put a ledger number sometime in the future, and if the transaction is not included before that given ledger number, you know for sure it will NEVER be included in a ledger. The transactions are allowed to fail gracefully in a predictable manner.

Data vs Metadata


First generation cryptos are fairly straightforward. A transaction does one thing and one thing only - move money around. If a transaction gets included in a block it means the transfer went through, if it doesn't - it didn't. There are only two outcomes here.

When talking about a more complex system, there will naturally be more possible outcomes. Maybe a transaction got included in a block and it did exactly what it was supposed to. Maybe it got included in a block but failed to achieve anything. Maybe there are different paths it could've taken to get to the outcome, etc.

This is why Ripple transactions have both data and metadata to them. The first shows what a transaction SHOULD do, the second - what it DID do. This allows the transactions to be more complex, while still ensuring that any given transaction call returns all the information relating to a given transaction.

Built-in, dedicated distributed exchange


An efficient Crypto 2.0 system benefits a lot from having a distributed exchange built into it. While some systems like NXT only allow trading a given IOU for its native token, Ripple goes one step further and treats all currencies the same. You can trade any currency for any other, even to the point of undermining the value of XRPs because of it. It is also a very important part of a few other features.

While systems with smart contracts like Ethereum can mimic the functionality of Ripple's built-in exchange, it would be hard to compete with the efficiency of a dedicated exchange logic. As someone who has experience programming a crypto exchange, I can attest that order sorting and matching can be a complex task that would be hard to efficiently execute in a smart contract. Ripple has the strongest distributed exchange that I've seen in any crypto project.

Trades as part of a payment


In a system with multiple currencies, how do you go from having currency A to sending someone currency B? Quite often, you'll have to take that currency to some sort of market, trade it, then use the resulting funds to send the second currency directly. Alternatively, you use some sort of third party to brokerage the deal, take a cut and take its sweet time to get there.

This is not a case with Ripple. A trade can happen as a part of a payment. Sending money from one address to another is just as simple whether you hold the same currency or not. The currencies don't matter, only the value does.


A Ripple payment that can be fulfilled by 4 different currencies

This feature leverages the power of a distributed exchange to its full potential. Everyone has access to the same market and doesn't need to hold more than one currency to transact with anyone on the network.

Atomic, multi-currency transactions


A big issue with transactions that span multiple currencies is the possibility of the transaction failing partially and the funds ending up in some transitory currency. If you're sending USD and expecting them to end up as GBP, you wouldn't want to end up with EUROs. This would be a bad outcome discouraging people from sending more complex transactions.

Ripple solves that issue by forcing every transaction to be atomic. Either the transaction is fully processed, or it completely fails. There is no way to end up somewhere down the middle. Moreover, there is virtually no limit to how complex a transaction can be. You can send out one type of currency, which would take multiple different routes and touching on multiple currencies before ending up at your destination as the intended currency. It is rather remarkable.

The consensus algorithm and predictable block times


Ripple does not rely on a traditional mining algorithm to create its blocks. Instead, Ripple uses a consensus algorithm to issue its ledgers. While the system is more centralised than most cryptos because of that, it solves a lot of other important issues.

First of all, the block times are quite consistent. You know exactly how often they are created and the interval between the blocks is very short and stable. Secondly, the system is more resilient against front running, making the distributed exchange more honest. Lastly, the system in general is less susceptible to market manipulation by the miners - they can't stall certain transactions or oracle data in hopes of manipulating the market and gaming the system.

Conclusions


While the Ripple system has its flaws, it also has a lot of interesting features other cryptos can learn from.

2017-05-22

Counterarguments to XRP value preposition

As some of you might know, I really like the idea behind the Ripple system. Creating a settlement layer based on trust and IOUs, being able to issue any asset easily, working quite well as a middleware layer, incentivising specialisation, creating a singularity of money, all of that is great. The system is not without its flaws however - centralisation of validators is an issue, and so is the token distribution. While both are interesting topics, with the recent meteoric rise in XRP price, I think it's worth focusing on that part of the discussion.

Basics of Ripple and XRPs


Ripple is a Crypto 2.0 system launched in late 2012. It is based on a protocol predating Bitcoin by a few years, known as Ripplepay. As any good Crypto 2.0 network, Ripple allows its users to issue and transact in any currency. It also supports its own native currency - ripples, or XRPs.

XRPs have a few key uses on the Ripple network. They are used to pay transaction fees, and are required as reserves for any address using the network and creating trust lines. All in all, it serves as an anti-spam measure for the network. Moreover, since every account on the Ripple network can accept XRPs, it is also promoted as a bridge currency.

IOUs are user-created currencies. While any address can issue their own currency, most people will be using IOUs issued by gateways. Those will usually be denominated in fiat or crypto. The IOUs can be traded directly on the network, sent from one user to another, and even perform atomic, multi-currency bounces in a single transaction.

There are a few key differences between XRPs and IOUs. IOUs have a counterparty risk - if the issuing gateway defaults, the tokens will be worthless. You can only send IOUs to or through people that also trust the same gateway. The gateways usually charge a small percentage fee on every transaction. IOU transactions are a bit bigger and more complicated, meaning they can cost more to execute. XRPs are their own cryptocurrency, meaning they are not redeemable for anything directly.

Beyond that, the Ripple network handles both XRPs and IOUs identically - both can be traded on the decentralised exchange built into the network, both can be part of multi-currency transactions, both operate at the same speed and they are both highly divisible.

Criticism of XRPs


The main criticism levelled at XRPs and thus also against the Ripple network is the way the coins were distributed. Ripple Labs, the creators of Ripple, created the network with 100B XRPs in it, and no new XRPs were created since the network inception. This is not an unknown practice in the crypto space - a lot of networks premine their tokens. However, the network creators usually only keep a fraction of the tokens for themselves, preselling the rest to anyone that wishes to buy some. Ripple Labs however, still owns about 60% of the originally issued tokens. This raises a few issues.

First, the company could try cashing out and potentially crash the market. It is very unlikely however. Ripple Labs has recently taken steps to promote its XRP market and put the majority of their XRPs into an escrow (then again, the escrow is unlocking 1B XRP every month for the next ~4.5 years, so it could be better).

Secondly, since the network fees are paid through burning XRPs, they essentially enrich everyone in proportion to the amount of XRPs they hold (if 1% of the tokens got burned, the remaining tokens would be worth about 1% more provided the market doesn't change). This means Ripple Labs is essentially earning 60% of all network fees on the network. This probably doesn't amount to much at the current time, but may be more important in the future.

Lastly, the amount of XRPs owned by one company gives it a negative reputation. A lot of people in the crypto space dismiss Ripple outright as "a premined scamcoin" just because of the amount of coins owned by Ripple Labs.

All in all, that isn't too damning really. Ripple Labs appears to be reputable enough not to try cashing out of what appears to be their golden goose. However, they are not the only major players around...

The founders of Ripple Labs, Jed McCaleb, Chris Larsen and Arthur Britto gave themselves 20B XRPs early on. This later came to bite Ripple Labs in the ass. Jed left the team to start his own version of Ripple called Stellar, and decided to sell his XRP stash, resulting in a legal kerfuffle, a settlement, and a schedule for how those coins may be sold. If those numbers are correct, Jed is still cashing out 20k USD per week, and come ~2019, he will be able to cash out 750M XRP (worth ~256M USD at today's price of 0.34 USD/XRP). Not an ideal situation if the money from your network will be going to a former employee building your direct competitor to the tune of a quarter of billion dollars. While some of those funds might go to charity, that's still not an ideal outcome.

Now that we've dealt with most of the issues XRPs had to face, let's have a look at how XRPs fare on their own network.

XRPs vs IOUs


While Ripple the network has to compete with Bitcoin, Ethereum and other cryptocurrency networks, XRPs the currency have another important competitor - the rest of the assets on the Ripple network. Some networks, like NXT or Counterparty, ensure their native token is at the centre of every trade - you can't trade IOUs for one another on those networks. In Ripple, you can transact purely in IOUs all day every day without touching XRPs for anything else than the fees.

This ties to the central value proposition of XRPs - being the universal medium of exchange.

Distributed currency network vs XRP as medium of exchange (source, presentation)

In short, the problem is as follows. If you have many different currencies on the network, you can have potentially a very large number of markets between those currencies (mathematically, twice as many markets as there are currencies). This means you would have to have a lot of market makers providing liquidity to every market. However, if everyone agreed to use XRPs as the common currency, you would only need to make one market per currency - between that currency and XRP.

At the moment, it looks like that is the case - the major markets on the Ripple network are all trading XRPs for the various currencies issued on the network. At the time of writing, 11M USD worth of trades and 88M USD worth of payments have been executed on the Ripple network in the last 24 hours, majority of which were using XRPs.

The main advantages given for XRPs being better than IOUs are:

  • XRPs are acceptable by anyone on the Ripple network
  • There are no extra transfer or trade fees on XRPs
  • XRPs have no counterparty risk

However, there are also some drawbacks to XRPs, even not counting the coin distribution and centralisation.

Just because someone can receive XRPs, doesn't mean they'll want to settle in XRPs. The network just essentially forces everyone to have an unlimited trust line to XRPs, even if they wouldn't want to hold them.

XRPs might be a decent universal currency for people that want to hold XRPs, but that might not be ideal for banks or big institutions. That's why we see networks like Corda, or even Interledger Protocol (also developed by Ripple Labs) that don't rely on a native cryptocurrency gain traction, while the best example of a real-world application relying on crypto token in the middle is Abra. Creating a universal, international settlement currency was the idea behind Bitcoin, and you don't really see banks using it for that cause.

Market making essentially boils down to either trading the currency like any other crypto, or copying the market from another source to offset your trades. The amount of liquidity you could copy with XRPs is small in comparison to the nigh-bottomless FX market from the real world. If you are going to see real-world use cases being deployed on Ripple, it will be more likely to see them leveraging the existing FX markets rather than going through XRPs.

While XRPs have no counterparty risk, they also have no counterparty protection. If anyone steals your XRPs, they are gone. With IOUs, you can still appeal to the issuing gateway to halt the transaction and potentially track down where it was withdrawn to. The IOUs are thus much less of a target.

On a similar note, XRPs are much harder to track, which would make them less appealing from a compliance standpoint. Gateways on the other hand can whitelist and blacklist addresses that can use their IOUs, thus having an easier time identifying anyone that uses their IOUs.

If a value of a given currency changes in value, you only need to adjust the market using that currency. If XRPs were the universal currency against which all of the currencies would be traded, any time the value of XRPs would fluctuate, you'd have to adjust the entire market.

Adding a new currency to the distributed IOU network wouldn't necessarily mean you'd have to trade it against every other currency. You could only start trading it against the most popular currency or a few currencies that are easy to make the market for (say, fiat<->USD, fiat<->EUR). Because you can easily execute multi-currency atomic transactions on the network, connecting to even one other currency connected to the network instantly means you are connected to the rest of the network.

XRPs have no transfer fees attached to them. While is possible for a gateway to issue IOUs without transaction fees (that's essentially Tether's business model, but on another network), perhaps even leveraging some other big crypto like Bitcoin or Ethereum through voting pools, the fees on those IOUs can always be changed. It seems that the network standard for transfer fees is about 0.2%, which seems to be smaller than the spread on XRP's biggest market (at the time of writing, 0.00015086 sell, 0.00015003 buy, giving about 0.55% spread). So it is possible that sending money through a very liquid FX market you would pay less in transfer fees than going through a less liquid XRP market on just the spread.

So this leaves XRPs with their primary role - paying transaction fees and fulfilling the needed reserves. All in all, about 50-100 XRPs per person / account would be enough for a lifetime of usage. That used to be less than 1 USD, and now is about 35 USD.

Conclusions


The Ripple network is a very useful Crypto 2.0 tool. However, because of the high flexibility and value propositions of the IOUs on the Ripple network, they are XRPs' main competitor in its home court. While XRPs are still needed to pay the network fees, most of the remaining value prepositions can be seen as overstated. The recent rise in the price of XRPs appears to be largely relying on market speculation (as is the case for all crypto) and a new exchange coming on the market.

Related links


2017-05-14

Another crypto bubble and the rise of altcoin markets - a story in 9 charts

The crypto markets seem to be in another bubble, orders of magnitude bigger than the last. However, this time a lot of the money is flowing into altcoins interestingly enough. How this situation will play out and where the market will stabilise at will be a really interesting story to watch unfold - whether Bitcoin will re-capture the market, or will some other crypto take its place. I would like to take this time to go over some of the history that brought us here however, as it's also a fascinating tale (if you like graphs).

Here is a short version of the story, in one graph by Woobull:
Bitcoin network congestion, market dominance, and altcoin marketcap, by Woobull.


This is a cautionary tale for Bitcoin, but before we can really talk about how Bitcoin might be impacted, we have to talk about some altcoins. So strap yourself in for this whale of a tale in 9 charts...

Story leading up


The story of this bubble really starts around 2015, when some Bitcoin core developers wanted to address the network congestion they saw coming in Bitcoin. This was the start of the Bitcoin scaling debate that gave rise to BitcoinXT, Bitcoin Unlimited, SegWit, UASF, etc. The writing was on the walls - if Bitcoin continued to grow in popularity, soon the blocks would be full and we would have to deal with the consequences. Two years have passed, and no consensus has been reached, thus priming us for the current events.

Bitcoin Unlimited Rally


The bubble proper was started by the disagreement on how to scale Bitcoin. At the moment, there were two major solutions being proposed to address the issue - SegWit and Bitcoin Unlimited. Perhaps tired of waiting for consensus to emerge, perhaps prompted by Roger Ver's ambitions, Bitcoin Unlimited started to rally people behind its hard fork. Those came in two main waves - around October 2016, and March 2017, increasing both node count and number of blocks mined.




The fact that Bitcoin Unlimited was gaining momentum, coupled with rumours of a planned 51% attack to cull a network split made serious waves in the community. We were faced with a real possibility that the network will fork and perhaps split. Every major player was taking sides in the discussion, and the tensions kept rising. The problem got exacerbated by the Covert ASICBOOST scandal. If Bitcoin had a doomsday clock for the network splitting, it would probably be uncomfortably close to midnight.

With the uncertainty of Bitcoin's future and the rising tensions, other events started to take place.

Rise of Ethereum


2016 has been a bit of a rollercoaster for Ethereum. The year started at a sub-dollar price per ETH, reached about 20 USD/ETH due to The DAO, then slumped to about 7 USD/ETH after its hard fork and network split. The new year started on a positive note with a roadmap for the future of Ethereum. ETHs were sitting comfortably at #2 market spot by market cap, increasing a bit with Bitcoin price increases (1, 2, 3, 4) as you'd expect in a calm market.

Then March came along. Bitcoin Unlimited started gaining popularity, and the fear of a potential Bitcoin network split started shaping the market. While historically Bitcoin has been seen as the stable gold standard among cryptos, the safe heaven you'd park your money at if you didn't want to cash out into fiat. However, with the future of the network being uncertain, some people decided to move their wealth elsewhere.

March was the month where Bitcoin slumped and Ethereum was there to pick up the money moving away (1, 2, 3, 4). You can practically see the ~21B USD market cap shifting gently towards Ethereum, giving it a boost from 1.6B USD to 4.6B USD in that month, while Bitcoin went from 20B USD to 15B USD.



In April the Bitcoin situation started to calm down. Bitcoins started to recover along with their market cap going back to 21B USD by the end of the month (1, 2, 3, 4, 5). However, another important development started brewing elsewhere...

Litecoin and SegWit


Litecoin has always been "silver to Bitcoin's gold", its shadow. Sometimes outperforming Bitcoin price increases percentage-wise, but rarely making a big splash overall. Seeing Bitcoin stumble with its scaling solutions, it seized on the opportunity to make a name for itself.

What is important to remember, is that Litecoin can be classified as a "copycoin" - a cryptocurrency largely operating similar to Bitcoin, on a pretty similar codebase with minor tweaks. It's so similar, that by chance or negligence, Litecoin's multisig addresses have the same prefix as Bitcoin. Copycoins in general operate on hype and innovation (real or manufactured) - there are so many similar coins that if you don't stand out from the crowd, you're going nowhere.

While Litecoin did not have the network congestion issues of Bitcoin, it still decided to improve its network and push for SegWit adoption. While it looks like the process started in February, there was a considerable rally for SegWit in late March, as indicated by the sudden jump in SegWit blocks and market activity.



The process was spearheaded by Charlie Lee, the creator of Litecoin. A notable opposition to the SegWit progress were Bitmain and Antpool. Supposedly they were blocking Litecoin's SegWit activation to prevent further SegWit adoption on the Bitcoin blockchain, where they are allegedly profiting from Covert ASICBOOST. After a long ordeal, Litecoin finally locked in and activated SegWit mere days ago.

There have been some other altcoins that also followed Litecoin's SegWit adoption, but their stories aren't that interesting.

The price also reflected that - going from under 5 USD/LTC at the start of the year with about 220M USD market cap, to a high of 35 USD/LTC and 1.8B USD market cap in the recent weeks. While this would normally allow it to take #3 spot on the crypto market cap list, another network had a meteoric rise that came largely out of nowhere...

Rise of Ripple


Ripple has had a mixed reputation in the Bitcoin community. It's the oldest and one of the most prominent Crypto 2.0 networks. It has been caught the ire of bitcoiners in 2013 for being seen as "pro-regulation" during US Senate hearingsdeclared dead in 2014 (Bitcoin has been declared dead over 100 times now), has been fined by FinCEN for Bank Secrecy Act Violations, etc. Ripple Labs have developed essentially a competitor to its own network - the Interledger Protocol.

However, more recently it looks like the company is going back to its roots and focusing on the Ripple network. It stated publishing quarterly market reports on XRPs and talking about its plans for the future. There are more and more news about various banks using its network. All in all, it looks like the market has warmed up to the currency:


While we see a small blip on the chart in early April when it crossed 1B USD market cap, the currency started to enter a meteoric rise around the start of May (1, 2, 3). The year started with a market cap of 220M USD and a price of 0.006 USD/XRP, while currently it sits at 8.4B USD and 0.22 USD/XRP.

Now, let's look at how this all comes together.

Market dominance


At the time of writing, we this is how the market looks like:

#1 Bitcoin - price: 1813 USD/BTC, market cap: 29.6B USD
#2 Ripple - price: 0.22 USD/XRP, market cap: 8.4B USD
#3 Ethereum - price: 90.8 USD/ETH, market cap: 8.3 BUSD
#4 Litecoin - price: 29.6 USD/LTC, market cap: 1.5B USD

Total market capitalisation of all coins: 55B USD, of which 25B USD are in altcoins. This means Bitcoin's market dominance is under 55%, while at the start of the story, it was about 85%:


Bitcoin has historically been the "gold standard" for crypto. The market leader, the first mover, the biggest whale. However, it seems like in this market if you're standing still, you're moving backwards.

Since the start of our story, Bitcoin has periodically dipped in its price, but overall we're seeing all-time high price. The recovery was probably due to people worrying less about the potential network split that might come from Bitcoin Unlimited. Bitcoin is certainly stronger than ever, but there might also be blood in the water - despite the price of bitcoins rising, so too did the altcoin markets grew in leaps and bounds.

Whether this bubble we're in right now (and it certainly has the look of a bubble) will pop hard and the market will rebound in Bitcoin's favour, or whether a new paradigm will be made where bitcoins play less of a dominant role, only time will tell. It is very unlikely Bitcoin will ever sink too deep into the coin list, but if the scaling stalemate continues, Bitcoin's advantage will be eroded over time.

For years one could easily dismiss altcoins as being a fad, nowhere near as mature as Bitcoin. But at some point you have to realise you might have to compete for your top dog spot. We're living in a market that is used to exponential growth, and Bitcoin's market cap is "only" two doublings away from its next competitor.

Conclusions


We are probably in the biggest crypto bubble to date. Not only has once again reached its all-time high price recently, but the altcoins have also grew by leaps and bounds.

In the near future, I would expect some large contraction, especially in the alt market. Litecoin will probably dip back down now that SegWit is activated and its rally is over.

It will be interesting to see where the money will flow if the value of bitcoins will pop - whether people will be cashing out to fiat, or altcoins.

The biggest threat for Bitcoin is still the scaling issue - if that's not dealt with soon, the issue might just go away... along with many Bitcoin users that will switch to some of the alternatives.

2017-05-07

Direct and indirect earnings in crypto

The crypto space is a strange place to be in over a long period of time. Once the coins you bought for a few dollars start becoming a noticeable portion of your net worth, you may start thinking to yourself - "should I work a normal job, or should I work for the cryptocurrency"?

This mostly stems from the fact that you generally can't use a cryptocurrency without also being invested in it. I may hold $1000 in a credit card, but I don't own any shares in Visa or Mastercard. However, when I hold $1000 worth of bitcoins, I inevitably own a part of the Bitcoin economy. As its value rises and falls, so too do the coins in my wallet. While this also is true for real-world currencies, their market cap is so far beyond us mere mortals that we can't really hope to influence it in a significant way. Cryptos are still fledgling economies where each person could make an impact.

Some of the Bitcoin core developers are also early Bitcoin adopters. I would imagine a good number of them hold a significant amount of coins. Those that do don't need to expect a salary for developing the core technology behind Bitcoin if their work contributes to the increased price of Bitcoin. If you hold $1M worth of coins and the value increases by 10% in a year, you have indirectly earned $100k that year. This is essentially the same as working for equity, except you can cash out more freely.

The same goes to a lesser or greater extent to everyone else in the space. Anyone holding the coins stands to benefit from the coins increasing in value. While this can be benevolent, the same economic forces can encourage people to use their influence for personal gain at the expense of the much broader community. Because coins aren't stocks, you can cash out and change "allegiance" at a drop of a hat unfortunately.

Even when we're not talking about people that can influence the market, the endowment effect is very much real in the crypto community. You value and perceive the coins you own much more favourably than the ones you don't. If you don't own ethers you might have cheered when the network forked and belittle its rise in price in the more recent times. It's a similar mechanism behind the "hodl" mentality. Even though you may benefit from selling coins when the value is going down and buying when the value is going up, some people tend to prefer holding onto their coins going up and down rather than realising their gains or losses. "If the price is going up, my bitcoins will be worth more. If the price is going down, I'll be able to buy more bitcoins".

With the value of various coins going through the roof in recent months, more and more of us will have to face the dilemma of what to do in regards to our growing crypto stash. Whether we continue working our day jobs like nothing happened, retire to a possible life of luxury, or perhaps start working for our cryptos in hopes of contributing to the community and indirectly to the value of our coins. A single person's contribution might not be that large, but a large community working towards similar goals can be influential. Everyone owning a crypto has their skin in the game.

2017-04-30

IOU price vs trust - a look at Tether

Fiat-denominated IOUs have a long history in the crypto space. Ripple launched in 2012 with its host of fiat gateways. BitUSD and TetherUS began circulating in 2014. PayCoin launched and died in 2015. It seems that recently Tether has gotten itself into some banking problems and its price started to reflect that. While the ordeal is not great for the company or anyone holding the tokens, it's still an important lesson to be learned in the crypto space - a dollar is not a dollar is not a dollar.

Related articles:


Tether


Tether is a company issuing fiat IOUs on the Omni network. At the moment they offer USD and EUR IOUs and claim to be 100% backed by their assets with a proof of solvency. However, their terms of service don't inspire confidence:

"
There is no contractual right or other right or legal claim against us to redeem or exchange your Tethers for money. We do not guarantee any right of redemption or exchange of Tethers by us for money. There is no guarantee against losses when you buy, trade, sell, or redeem Tethers.
"

That being said, for a long time their USD price remained rigid in comparison to things like bitUSD. That is understandable - exchanges would accept it at par rather than trading it like any other asset.

Banking problems


A month ago, Bitfinex and Tether ran into some banking problems with Wells Fargo. The latter was acting as a correspondent bank and decided to block wire transfers between the crypto companies and their customers. Those wishing to cash their tethers out need to go through Kraken, which decided to take a ~7% premium for the service due to the market problems.

There are also some alleged shenanigans going around the actual use of tethers by exchanges and the BFX tokens (related article), but that's not directly relevant to our discussion at hand.

Dollar-dollar market


What this scenario shows is that there is that every currency needs a real market.

A long time ago, before central banks became prominent, each bank used to issue their own banknotes and the value of said banknotes would fluctuate based on the trust in the bank and so on. While that was a horribly inefficient system for the brick and mortar world of retail, wasting countless hours on currency conversions, individual counterfeit measures and so on, it could work really well in the digital space.

A dollar from one bank or exchange is not worth the same as a dollar from another. A faster, more efficient exchange would have their tokens valued more favourably than a slow, clunky one. Eventually, the market would settle at some price that would indicate the level of confidence or quality of the exchange and that metric would be clear for every customer to see. We had that with the final days of MtGox.

At the current time, the only place we can see a clear market like that is Ripple - you can actually trade USD IOUs from two different gateways for one another (at the time of writing, the exchange rate between Gatehub and Bitstamp USDs is about 1.11). While each gateway accepts their own tokens at par and allows you to withdraw the USD to your bank account, the price is driven by market makers that decide what premium to charge. If someone else finds a way to close that gap, they have a chance to make some money and bring the market into a more realistic exchange rate. In the end, the market decides what each IOU is worth, not some exchange.

Conclusions


While the current Wells Fargo problem is an important issue for Tether and Bitfinex, it is an important example for why we need a liquid market for all tokens, even those denominated in fiat. That and why correspondent banking is a thing that needs to be replaced by cryptocurrency networks.

A dollar is not a dollar is not a dollar.

2017-04-09

A path to riches and rags - crypto trading and investing

Cryptocurrencies are a fascinating development in technology. At the same time being an ingenious application of cryptography, the software designed to run it, and the currency that flows through the system. It is perhaps this tantalising mix of emerging technology and money that drives a lot of people that discover cryptocurrencies to greed at some point in their experience.

A lot of people got rich with this technology already, whether through investing, innovating, gambling or dumb luck. Those people are often visible and praised, but let's not forget about the survivorship bias - there are probably just as many if not more people that have lost a lot of money trading cryptocurrencies.

The gold rush


A number of people I've talked to seem to be going through something akin to a "gold rush" at some point of their crypto career. This usually happens early on - you discover this new technology, figure out it's a form of money, then look at the past gains and tell yourself "wow, this can make me rich!". You immerse yourself in the crypto world, take in the torrent of information, then try going into mining, trading, or something similar. In my case - it was discovering the GPU mining during the first few days of the first Bitcoin bubble (where the price went to a whopping ~$30 in the end).

In most cases, the rush is rather unsustainable as a hobby - mining is a specialised industry, short-term trading is a gamble, and services developed by inexperienced developers can be a liability. You are more likely to get burned than to make an actual profit.

From here, you can generally see a few transition options - deciding to cut one's losses and leave crypto altogether, "buy and hold" approach, or going professional.

Crypto as an investment


It is possible to treat cryptocurrencies as an investment - a high-risk investment. If you're lucky, you can get high returns. If you're not - you will end up with nothing.

A long while ago I came across an idea that "buying bitcoin is like investing in the entire bitcoin economy". Given Bitcoin's finite supply, the only way for the Bitcoin economy to grow to accommodate larger trades is through increase in velocity (how fast the coins circulate) and through the increase in value. Assuming you expect the Bitcoin economy to grow, you can expect the value of Bitcoin to grow as well. Same goes for other cryptocurrencies adhering to similar principles.

That being said, it is very important to remember that an investment in a cryptocurrency is not the same as an investment in a company that makes that cryptocurrency. XRP is not the same as Ripple Labs, factoids are not the same as Factom, etc. By investing in a company, you enter into a legally binding agreement. By buying the tokens, you're just holding the tokens. The company may do well developing projects unrelated to the token it initially created, which will increase the share price, but not necessarily the token price. Same is true the other way around - someone else may step in and make the token valuable, or possibly manipulate the price (for example, the hairy MAIDSafe presale on Mastercoin). The distinction is important to make.

While there are a lot of investment vehicles available for people in the developed countries, cryptocurrencies might be a more inclusive way to invest for the less fortunate people, or those wishing to hedge away from their government's monetary policy altogether. While this sort of way of investing can certainly yield great benefits, it can also be a fertile ground for scammers.

As usual, the age-old advise applies - don't invest more than you can afford to lose, hold, don't try to day trade, keep your coins safe.

I'd also add an advise to buy coins with long-term growth potential - coins developed by competent people, being a dominant player in their own crypto niche, etc. Those have a higher chance of sticking around than the flash-in-the-pan copycoins.

Crypto trading


An alternative to buying coins and holding them is to do trading. Bitcoin, the biggest crypto out there is certainly a volatile currency. Altcoins are just a wild ridepumpers exist to exploit people, whales can sway the marketthe honey badger don't care, etc. If you can make sense of this madness, there is certainly a lot of money to be made here.

However, the same riches can be lost as easily as they can be gained. A few interesting words of wisdom:



Generally, trading cryptos is about speculating on which system will deploy the next big feature, get the next big headline, or score the next big partner. The only problem here is that the markets are so thin in comparison to the wallets of the big players, that they can be easily swayed in a direction that is not rational - this is why short-term trading is very risky.


If you don't know what you're doing, don't try to be too smart


In my crypto career I've had ample opportunity to make mistakes and learn from them. In the end, I came out ahead by sticking to what I know and not trying to be too smart for my own good. Here are some lessons I've learned along the way:

You can't really predict the market - don't try to trade if you're not a trader.

Never go full fiat. I once sold all of my coins when the market slowly crawled to about $25/BTC in early 2013. I had to buy them back at $35/BTC when the signs were clear the market wasn't going back down.

Don't diversify your portfolio into stupid things, don't invest in any company that can't realistically outperform Bitcoin. Back in the day I liked the idea of being able to buy stocks in Bitcoin companies with bitcoin itself. In the end, I'm a few coins poorer, have some mostly worthless "stocks" held by a company in Panama.

Don't keep your coins at a rickety company. While I was lucky / smart enough to survive a number of Bitcoin exchanges going under without losing any coins (I've used Bitomat, MtGox, BitCurex, Cryptsy, etc.). The two times my coins were lost were due to Ripple - some at WeExchange (a gateway that also had some crypto stocks AFAIR), and others due to the Ripple's official wallet being a brainwallet by default.

Don't lend crypto. Back in the day, I tried BTCJam. Lost all of the coins I put in, and it didn't look like the company had any plans of trying to enforce the collections. Other users have similar experience of high default rates. I've been staying clear of such websites ever since.

Be patient, make informed, long-term decisions. In the end, this approach has been the most successful for me. I haven't sold a single coin in a long time and I have a decent diversity of cryptos I expect to do well for themselves in the long run.

Conclusions


Cryptocurrencies are a high risk investment. They can yield great returns, but also end up losing you all that you've invested in them overnight.

2017-04-02

Do you need a blockchain? A simple overview.

Recently, I had a conversation with an entrepreneur that wanted to integrate blockchain into his business. After a lengthy conversation, we reached a conclusion that his project wouldn't really benefit from the technology at the current stage. While some blockchain enthusiasts might argue that most ventures would be better with a blockchain integration, figuring out when the technology isn't right for a project is just as important as increasing its adoption when it is.

In light of that event, I put together some simple guidelines of when you should consider using a blockchain technology or cryptocurrencies in general, what benefits they can give you and what are some downsides. If none of those criteria fit, it might be best to reconsider chasing the blockchain fad for the time being.

1) You can't use the traditional banking system


If you are operating a business that has problems with the traditional banking system, you can use the cryptocurrencies to accept payments. Perhaps PayPal is not supporting your country, charging high fees, or the nature of your business makes you undesirable for banks. Maybe your local currency is under strong foreign exchange control or experiencing hyperinflation. In all of those examples, using cryptocurrencies such as Bitcoin as an alternative means of payment is an option.

You might have problems getting your customers to pay you in those currencies, but this might be better than nothing.

2) You are sending money internationally


International bank wires can take a lot of time and be expensive. It is possible to circumvent some of that through the use of cryptocurrencies. There are some companies that support last-mile payments, such as Coins.ph in the Philippines, or Abra wanting to create "the Uber for money transfers". You could, conceivably, send a local wire transfer to your local Bitcoin exchange, convert it to BTC, then use those coins to complete the international payment.

Solutions like these are still in their infancy however - you would have to make sure the right companies exist on both sides of your transaction and that the fees are reasonable.

3) Your business is forming close payment loops


If the money in your business is always flowing in one direction, say, from your customer's credit cards, through your bank account, down to your employees and suppliers, there isn't much room for the blockchain. The process of on boarding and off boarding would detract from your business. However, when your business starts forming closed loops of payments, you can start applying the blockchain.

Say, you're moving money back and forth between two countries. You can keep track of the payments on a system like Ripple or Ethereum and only settle the difference at the end of the day, rather than having to perform a wire transfer each time money moves back and forth.

While in this scenario you could accomplish a similar goal with a simple database, the more complex your system gets and the more actors get involved, the better you are fit for a blockchain solution.

4) You have a good infrastructure you can open to other parties


Let's say you are really good at handling the last mile payments in your country. Whether it's a country that's hard to reach financially like China, or perhaps less focused on like the Philippines (going once more with our Coins.ph example). You can do good business there by yourself, but if you open your infrastructure for other people to use, you can be earning an extra income from them. In this scenario, the blockchain essentially acts as middleware between your system and anyone that wants to use your connections. Coupled with a network effects of an open system like that, even a few vendors can form a very appealing web that spans the globe.

You don't need to be handling payments to be in the infrastructure business. Market making, FX trading, international settlement and the like are also very much in demand.

Unfortunately, systems like these aren't very common at this time. You might be building an infrastructure for the future, but at the present you might only get nominal activity at first.

5) You are creating a decentralised system


If you are building a decentralised system, a blockchain may be useful for it. If it's well implemented, it can be a convenient, reliable way to synchronise data across many nodes. You can also create a cryptocurrency token to go along with the system to manage the scarce resources you would be dealing with, whether it's storage, bandwidth, or something else. Decentralised storage, DNS, perhaps a new social network or the like could all benefit from using a blockchain technology.

That being said, a lot of decentralised systems might not benefit from this system. If you're dealing with the real world or trying to use the blockchain just as a settlement layer, you might not benefit from adding a specialised blockchain layer. Similarly, a blockchain won't make a bad project good - making a "Facebook killer" will take a lot more than that.

6) You need extra transparency


You are operating a business that can benefit from radical transparency and accountability. Perhaps you want to show your data hasn't been changed after it was created, or that you have all of your financial records accounted for. That's definitely where blockchain projects like Factom can help you (full disclosure - I work at Factom). One of the core features of the blockchain technology is that the past data cannot be altered without invalidating any future records. And if the records are public, any alteration becomes evident.

The main caveat for this approach is that blockchain-based proof of existence hasn't yet been tested in court, which means the first use of it as evidence would have to jump through some additional hurdles.

7) You want to innovate with the smart contracts


Smart contracts are an innovation in the blockchain space. They allow for the creation of autonomous programs that have access to their own money. This means you can run self-contained casinos, create decentralised autonomous organisations, etc. All very interesting and cutting-edge stuff that you can probably earn a pretty penny by building for and consulting to other companies that want to get into the blockchain space with their idea.

Unfortunately, the space is currently very niche and a lot of the noteworthy projects are very much their own thing. If you know you want to be developing smart contracts and have an idea of what you want to build, you don't need this guide really.

8) You want to build for the cryptocurrency community


The cryptocurrency community is as vibrant as any community built around an emerging technology. There is some good money to be made catering to that, whether by tapping into new markets, building exchanges, wallets, payment processors, all sorts of stuff. There is money to be made in this space if you have the right product to offer.

On the flip side, if you don't understand the market, you might not be able to earn enough money to get by. There have been countless companies that went under or never launched in the short history of the blockchain technology.

9) You want to create a new economy


We are getting into the more contentious use of the blockchain technology - creating new currencies, or "altcoins". Perhaps you are part of a community that wants to start its own currency - maybe based on time, nationality, implementing universal basic income or the like. If you want the currency to be independent, freely traded in your community, you can use the blockchain technology for that. Many have tried that before.

On the flip side, if you want to use this as some means of getting rich or the people you are working with don't have a strong need for their own currency, you might be creating another pump and dump coin that will come and go. We don't need more of those.

10) You want to raise money for your project with a crowdsale


Another contentious topic in the blockchain community - ITOs - Initial Token Offerings. If you have a project that needs some funding to succeed and you can make a good case of how you can integrate it with a blockchain, you can try doing a token presale to get some money instead of looking for actual investors. There have been some good projects that used this model, like Ethereum, but there also have been a lot of bad projects that have gone down this route.

Often, adding a token to a project doesn't make sense or makes the final product worse. ITOs have a bad rep in the community for a reason. Unless you really know what you're doing or are just in it for the money, then you can use the blockchain technology for this goal.

Conclusions


These are roughly the main reasons why you'd want to consider using the blockchain technology in your business or project. If any of these resonate with what you're doing, you might find something to make your project better or at least more interesting. If not, your effort is probably best spent elsewhere.

2017-03-29

Hard fork contingency plans and SegWit readiness - a challenge to solution evangelists

Currently, the biggest discussion in the Bitcoin community concerns the possible forks we might see this year - Bitcoin Unlimited and SegWit. Whether those forks should or should not be activated and whether they will create a network split is an important discussion, but what is less discussed is the risk mitigation in case either of those forks happen. I would like to post a challenge to the various solution evangelists to see if their software is ready for any outcome.

Note - some questions apply to more than one scenario. Duplicates have been omitted for conciseness.

Scenario 1 - SegWit activates before Bitcoin Unlimited


Lets say SegWit activates before Bitcoin Unlimited or any other block scaling solution takes place.

First, some questions to the Core team:

How much extra transaction throughput are you expecting to see with this solution?
Do you have any estimates as to how many transactions should move off-chain in the near future? When do you expect this solution to start reaching critical mass to alleviate the block congestion?

How many of the big Bitcoin companies will be ready for SegWit?
This important question is somewhat answered by a handy spreadsheet or two. Let's have a look and see if some important players are missing... Coinbase is "planned" so far. BitPay is nowhere to be seen. BitGo is "wip". Top exchanges - Poloniex, bitFlyer, BTC-E, OKCoin are missing. For the wallets - Armory, BreadWallet are wip, Bither, Exodus and Multibit HD are planned.

All in all, the coverage looks good, but some top players still need to get on board.

What are the fees users should be expecting?
A large pressure for the increase in the network capacity comes from the high fees to the average user. What fees should the users expect under SegWit? I've seen mention that on-chain fees will drop from 0.5BTC/block to about 0.2BTC/block, but some numbers on the off-chain fees would also be interesting.

What is the block scaling plan going forward?
Are you planning on changing the block size following SegWit? If so, when are we likely to see the size change and what would it be?

And a big question for the Bitcoin Unlimited team:

Is your client SegWit ready?
Are you ready to integrate SegWit into your client? Will it have some issues in case SegWit activates?

Scenario 2 - Bitcoin Unlimited activates first, network splits


In this scenario, Bitcoin Unlimited activates first and the network splits itself into Bitcoin Core and Bitcoin Unlimited.

Question to both sides:

How are you mitigating the damages of the split for your users?
There are many things that need to be considered when the network splits. How are you mitigating the cross-split replay vulnerability? How will you avoid the confusion when it comes to addresses being the same on both networks?

Bitcoin Unlimited devs:

Is your code ready to be pulled to Bitcoin Core?
A lot of people consider Bitcoin Core to be the "gold standard" when it comes to Bitcoin clients. Developing a different client without allowing the options to be pulled into Bitcoin Core cleanly will only make the adoption of your client harder.

So, is your code ready to create a pull request to Bitcoin Core? Do you have a branch that is up-to-date with the latest commits to Core, or will you need to catch up? If you don't have these ready, it is almost inviting a network split, rather than working on keeping the network unified.

Will you be activating SegWit on your network?
There are some good use cases for off-chain transactions - will you be activating SegWit or other soft forks required to run off-chain transactions on your network anytime soon?

How are you planning to convince more exchanges to adopt Bitcoin Unlimited?
Some developers have sworn off BU completely - for example, BitGo (and thus indirectly - BitStamp, OKCoin, Kraken, etc.), while others might be on the fence. Do you have any plans on convincing them to start supporting your software?

Bitcoin Core devs:

Will you make your client opt-in compatible with Bitcoin Unlimited?
This question was originally asked by Gavin - since "Bitcoin Core does not want to and does not make decisions on Bitcoin’s consensus rules", is Bitcoin Core prepared to let the users op-in to be able to connect to the Bitcoin Unlimited network? It shouldn't be that much work to add a flag disabling the block size check at the very least.

Scenario 3 - Bitcoin Unlimited activates first, minority network gets attacked


In this scenario, Bitcoin Unlimited activates first, the network splits, but the minority chain gets attacked by miners in hopes of preserving only one side of the fork.

Bitcoin Core devs:

What is your contingency plan for such an attack?
As I understand, the current plan is to change the PoW algorithm in a hardfork. Is that hard fork already in the works? Is the new PoW algorithm decided on yet? Has the hardfork been tested? It is a large change - you don't want to be scrambling around trying to figure this out while an attack is ongoing. Do you have your legal side of things covered? Will you be coordinating actions with important Bitcoin players, such as exchanges?

Since hardforks don't come as often, are you planning on implementing any of the hardfork wishlist items while you're at it? Will the hardfork also include SegWit?

Bitcoin Unlimited devs:

What is your plan for such an outcome?
Will you be endorsing the attack, or will you be disowning it? Are you prepared for potential legal, community, etc. backlash you might receive if the attack takes place (even if it's not of your own doing)?

Conclusions


There are many important questions that need to be addressed early on before Bitcoin starts forking. While we might still have some time before either fork activates, it's better to mitigate the potential risks early on than to scramble when they actually take place. I'm looking forward to developers from either of the sides sharing their thoughts on the issues raised here.