12/26/17

What is Rootstock (RSK), and What Can it Do For Bitcoin?

source: rsk website

Recently there has been a lot of talk about second layer solutions to scale Bitcoin.

Everyone always seems to speak about segregated witness (segwit) the recent malleability fix opt-in upgrade for the Bitcoin network, and then there is the Lightning Network, an instant payments layer that is expected to be released in the coming months, and is currently being tested on the Bitcoin testnet.

One that we hear a lot less about is Rootstock. So today I am going to share the research I discovered, when I asked what is Rootstock (RSK), and what can it do for Bitcoin?

So let’s get started with answering the simple question, what is Rootstock?

I am going to go with the definition directly from Rootstock’s website:

“RSK is the first open-source smart contract platform with a 2-way peg to Bitcoin that also rewards the Bitcoin miners via merge-mining, allowing them to actively participate in the Smart Contract revolution. RSK goal is to add value and functionality to the Bitcoin ecosystem by enabling smart-contracts, near instant payments and higher-scalability.”

So simply put Rootstock is a side blockchain that runs parallel to Bitcoin’s blockchain, and is pegged to Bitcoin, and allows miners already mining Bitcoin to also mine Rootstock’s blockchain simultaneously for very little additional effort, plus they will earn additional profits. Rootstock can best be described as a platform for smart contracts similar to Ethereum, but built for Bitcoin, that will interact with the main Bitcoin chain.

Awesome, right?

It’s about time! Finally a decentralized version of what Ethereum was supposed to be! Lets take a closer look and see if Rootstock lives up to the hype.

What’s a Smart Contract?

Since RSK is a smart contract platform, let’s find out what a smart contract is because it’s pretty important, and it seems like great place to get started.

From Wikipedia:

“A smart contract is a computer protocol intended to facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow to perform credible transactions without third parties. These transactions are trackable and irreversible. Smart contracts were first proposed by Nick Szabo in 1994.”

Nick Szabo, the man who invented smart contracts.

So, as I understand it, “it’s a contract that executes automatically or enforces the terms, through the programmable code rather than a 3rd party intermediary who can become a bad actor,” alright, got it.

Nick Szabo has also been supportive of Rootstock, so that’s a super strong endorsement. Nick Szabo is one of the main people that was suspected of being Satoshi Nakamoto, the anonymous creator of Bitcoin in the early days after Satoshi’s mysterious disappearance.

Ok, now that we have that out of the way, let’s steal this snippet from RSK’s FAQ, it gives you an idea of why you might want a smart contract as opposed to a dumb one:

“A few examples of smart contracts are:

Micro-lending

Distributed voting systems

Machine to machine payments

Decentralized exchanges

Asset tokenization

Supply chain tracking

Loyalty and rewards

Micro-insurance

Crowdfunding

Property registry

Escrow services

Transparent public tenders

Remittances”

Will Rootstock Kill Altcoins?

So as you can see we definitely have a lot of proposed ideas, and these categories basically sum up the majority of the special use cases, touted by the many, many altcoins that have sprung up in the last year.

This may be a death sentence to a whole lot of altcoins. Who would use an altcoin when you can now do the same exact type of things with bitcoin, and smart contracts?

In my opinion, I think a truly decentralized smart contract platform for Bitcoin may destroy Alts, ICOs, and completely marginalize other blockchains, as there is no need for them anymore. I am a tiny bit biased towards Bitcoin however, and only time will tell.

Cryptocurrency is anything except predictable. It’s still all just one grand experiment at this stage in the game, although one that has been succeeding beyond anyone’s expectations.

The altcoins may survive by carving out their niche before RSK has a chance to give them competition. Many projects on Ethereum may just crossover due to how easy it will be.

I just wonder if these other projects are getting nervous as RSK gets closer. They just launched the Mainnet beta version, on 12/5/17 and I believe they did a presentation on it as well, at the Latin American Bitcoin conference in Bogota, Colombia, last month.

Who Is Behind Rootstock?

RSK is an open source project, which means anyone can contribute code to the project. Many similar open source projects have many academic and volunteer contributors, as well as efforts from Private companies, who want to utilize the tech in their business model and therefore have a vested interest in the success of the project.

RSK Labs is the organization behind Rootstock, it’s a small team, as described on their blog:

“Our core team currently consists of 9 fully dedicated people, plus the independent developers who are contributing to RSK from all around the globe. “

The core team is based in Argentina, which has an awesome Bitcoin community, and is one of the primary blockchain hotspots in Latin America. They did have another interesting tidbit in the blog post about who is behind RSK, where they say:

“We also want to share that we are very excited about this project, as we have received the financial and strategic support from some of the most important VC groups and miners in the ecosystem.”

Naturally that piqued my curiosity so I duckduckgo’d around a bit, and I found an very interesting article on steemit, but it was originally published on Cointelegraph.

In the article they are highlighting the strength and added security RSK will have on it’s network due to it being merge-mined with bitcoin. What is merge mining you ask?

Merge mining is when the cryptographic hash from the side chain is added to a block on the Bitcoin blockchain to utilize it’s security and also to use the POW from adding this hash to the Bitcoin blockchain to verify the second chain.

Both chains are mined by the miner at the same time, and he receives the block rewards for both, so by doing a small extra calculation he can ensure the security of both chains and benefit from mining both and support both blockchains.

That same article also gives a list of the “most important VC groups and miners in the ecosystem”, as the RSK blog put it. The Cointelegraph article says:

“Several of the most influential Bitcoin companies have expressed their support to promote Smart Contracts over the Bitcoin network by participating in the RSK Federation. They include Bitcointoyou, Bitex, Bitfinex, bitFlyer, Bitgo, Bitoasis, Bitpay, Bitso, Bits of Gold, Bitstamp, Blockchain, Blockchain Intelligence Group, Blocktrail, BTCC, BitKan, JAXX, SurBTC, CoinBR, Huobi, OKCoin, Paycase, Tether, Unocoin, and Xapo.”

My first reaction was , “Hey it’s a who’s, who list of companies that backed the disastrous Segwit 2x fork against the wishes of the Bitcoin community.” That’s a little concerning. Then I reread the quote and asked myself what is the RSK federation? Thankfully the very next paragraph elaborated on that point.

What is The RSK Federation?

From Cointelegraph, “The RSK federation will provide additional services such as generating external security checkpoints and active “oracling” services to gather information from external sources. Federation members will also provide other services to RSK users such as instant peg liquidity and multisig services. All are in a bid to avoid another Dao-like episode.”

OK, so it’s like a RSK version of the Enterprise Ethereum Alliance, which is described by the NY Times as:

“Some 30 companies are set to announce on Tuesday the formation of the Enterprise Ethereum Alliance, which will create a standard version of the Ethereum software that businesses around the world can use to track data and financial contracts.”

This gives me quite bit of additional concern, because it says that the RSK Federation will be providing external security checkpoint, and oracling services.

This does not sound very trust-less to me.

One of the key tenets of decentralization, is to not have to put trust in a 3rd party. This is really crucial. We can’t for any reason, ever compromise this quality of Bitcoin. This is not good news for RSK in my opinion. It’s kind of a deal breaker.

I understand businesses in the industry would like to create a nonprofit to have uniform coding standards, share data and stuff like it says in the Cointelegraph and NY Times articles, but to me, that needs to be a stand alone entity, and it should only collect data, not perform crucial functions for the operation of the chain.

These security and oracle functions of this “Federation”, give too much power over things to a centralized 3rd party, this is defeating the purpose of using Bitcoin.

I have looked for additional information to prove me incorrect in my views, but so far I haven’t found anything that refutes this point of centralization or eliminates the need to trust the RSK Federation (or the businesses involved). I welcome any evidence to disprove this. If you know something I don’t, please fill me in. I want to like Rootstock, I truly do, but I can’t trust anybody’s word, I can only rely on cryptographic verification.

The fact that a lot of the companies who are members of the RSK Federation are also companies who participated in the “New York Agreement” which led to the Segwit 2x fork, which failed, but would have destroyed Bitcoin due to several major bugs in the code, does not bode well. These companies have repeatedly gone against the interests of the Bitcoin community, including the miners, and their support for every fork that protects their Asicboost mining exploit.

This point of centralization that would make us have to trust these companies who have shown themselves to be untrustworthy several times in the past, is a major issue for me. It’s a huge cause of concern for me, about Rootstock. These very same companies, are now refusing to implement segwit, while complaining about the network congestion and fees that segwit would help relieve, they have the solution and don’t want to utilize it for political reasons.

Rootstock will not be able to kill any alts, if it is offering the same exact thing. Why will anyone use RSK if it is just an Ethereum clone on Bitcoin? Altcoins often come under criticisms, for being pre-mined or centralized, or relying on master nodes, etc. They try to “improve” Bitcoin by stripping it of it’s key security and decentralization features. Bitcoin has always avoided these kinds of solutions to maintain it’s value proposition, which is that it is:

Permission-less Trust-less Censorship Resistant

Without those qualities, it’s just a fancy version of Paypal. Rootstock effectively kills all 3 of those qualities by allowing “trusted 3rd parties” in the Federation to participate in integral functions like security.

RSK Uses Solidity

I will also point out that Rootstock uses the Solidity (and Web3,) the Turing complete smart contract language used by Ethereum. Solidity has issues of it’s own, it has been difficult even for members of the Ethereum foundation, to write secure smart contracts with it.

Both the DAO “hack” and the recent Parity wallet “hack” on the Ethereum blockchain, were not even actual hacks, just someone executing the smart contract in a way not intended by the developer of the contract, due to poorly written code, or fundamental flaws in the Solidity language itself (I have read both being faulted, depending on the author).

It has been said by Charlie Lee, lead developer of Litecoin, that “Ethereum is hackers paradise”. He says this because the smart contracts written in Solidity offer a ton of attack vectors & opportunities for hackers to exploit. Ethereum has major gaping holes in it’s security. We shall see if RSK is the same way or if they can truly become more secure by utilizing the Bitcoin blockchain which is the most secure in existence.

An advantage of using the same language as Ethereum is that it will be easy to port the DAPPS, or decentralized applications, already running on Ethereum over to RSK. RSK recently announced that they have a partnership with Etherparty, and that they will be working together to have cross platform smart contracts between Ethereum and Bitcoin.

Etherparty has been celebrated by the Ethereum community for creating an app that lets non technical people create smart contracts by just filling in the info in a template. It’s been a great bridge to allow non programmer types to access the technology. This is huge because Etherparty will be helping RSK implement similar features and also develop smart contracts compatible on the both platforms.

The positives of using the same language as Ethereum may outweigh the negatives, especially if the RSK developers can fix the known issues when they implement it, and also harness the power of issuing a smart contract written on RSK, that can be executed on the Ethereum blockchain as well. RSK also plans on implementing support for other languages.

How Does RSK Work It’s Magic?

RSK utilizes a sidechain with 2 way peg to the Bitcoin network. Transactions start on the Bitcoin chain, your bitcoin are sent to RSK chain where they are timelocked and instantly create Secondary Chain coins, in the equivalent value of Bitcoin, for use on the RSK chain. These coins are SBTC, they are the coin that is used on RSK. They are created as the bitcoin are locked up, and destroyed when your Bitcoin is unlocked and sent back over to the main Bitcoin chain. The diagram below illustrates this and makes it a little easier to visualize.

source: rsk drive chain document

Drive Chains vs. Side Chains

RSK has plans to utilize a side chain/drive chain hybrid, which is similar to a side chain but uses miner voting, and is not as complicated to implement, however for this to become a reality it would require a fork of the Bitcoin blockchain, although it could be included in a future fork that also addresses other development issues. I found an awesome article on this topic here.

The most notable part of the article had this to say:

“ there are huge advantages of drivechains: it is a much less complex beast. The cross-chain transfer transactions are very short in case of a drivechain (so they pay normal fees), but can be very long (and pay huge fees) in case of a sidechain. As an example RSK‘s state-less implementation of a drivechain add-on for Bitcoin has only 600 lines of code (plus much more of unit tests code, of course).

At the end, what RSK did to improve drivechains to have the “pure” sidechain-like security is to add a second layer of security: the requirement that cross-chain transactions are also signed by a set of notaries (a threshold signature), and the set of notaries will not sign a double-spend, nor a any spending that was not authorized by the corresponding owner of the funds in the secondary chain.”

Another great description of how this all functions was found in this article, where it goes on to say:

“In order to allow the drive chain mechanism to take its course, we must rely on Bitcoin miners to behave honestly when dealing with the release of locked BTC. As so, in order for the drive chain model to be active, a considerable amount of Bitcoin miners must merge mine RSK as to have a direct incentive to behave honestly. When these conditions are met, RSK takes the form of a drive chain/side chain.

When these conditions aren’t met, RSK will call upon the federation, a group of notaries comprised of leading Bitcoin exchanges. These group will be in charge of releasing locked Bitcoin when required. This will be done in a “decentralized” way between all the members of the federation, where a majority must sign off on a transaction. This ensures that a rogue exchange cannot take control of the locked Bitcoins when given proof of a lock transaction in the other blockchain by itself.”

Again, it says “decentralized” way in quotes which leads me to believe it’s not really decentralized, especially since they will be relying on centralized exchanges to act as notaries. This is another glaring red flag to me. As I said before, I am open to someone changing my mind with new information, but trusting leading exchanges, seriously?

Are we really going to trust exchanges with our coins? The first thing you learn in crypto is don’t leave your coins on an exchange. Keep them in your wallet to which you hold the private keys.

I have personally read hundreds of horror stories about what happens when you leave your coins on an exchange. I have also read many stories about these exchanges arbitrarily freezing customer accounts and funds.

These are all just reasons why they shouldn’t be trusted, but the most important one is that these exchanges are businesses and subject to laws, and governmental authority. If the hammer of the state comes down on these businesses the integrity of the network fails also. There is a high probability of that happening since Bitcoin is in the process of disrupting the vampire squid out of existence, and the governments and banks of the world are in fear for their survival.

Exchanges all have a high risk of being hacked, or mismanaged financially, or maybe they just pull a good old fashioned exit scam. Bitfinex is the exchange with the most volume, they are well known and would be considered a leading Bitcoin exchange by any measure.

They are also really shady, they have been hacked twice, they have had their banking services suspended, they may or may not be running the largest counterfeit US dollar ponzi scheme in history with their US dollar tether coin, which they claim is backed by actual cash reserves, and may not be. Tether has a 1.2 billion dollar market cap, and it has currently been under scrutiny after getting hacked for 30 million dollars in tether while they were being audited, and a Bitfinex employee has taken their warrant canary down recently.

Are these the type of organizations we want to trust?

This may be the Achilles heal to Rootstock, trusting exchanges is for the birds. Every noob day trading shitcoins even knows this.

Lumino Transaction Compression Protocol (LTCP)

RSK also utilizes a new transaction compression technology called Lumino. It will allow RSK to have an ability to process 2,000 transactions per second (tps). With the offchain version of this, they will handle as much as 20,000 transactions per second. Another interesting piece of info is that LTCP can also be implemented as a soft-fork to Bitcoin, increasing Bitcoin throughput to 100 tps or even more, depending on the usage pattern. Lumino also allows for payment channels like the Lightning Network.

Here is another extremely interesting quote from the RSK FAQ:

“The Lumino network is a payment network which can scale up to 2K payments/second in a decentralized setting, and in most properties outcompetes the Lighting Network. It does not require complex routing algorithms nor it requires pre-locking of the funds.”

That’s an unbelievably confident statement, because the testnet versions of the Lightning Network are amazing, I mean they are truly impressive.

After playing around on the Lightning Network test net, I felt that was THE game changer that would take Bitcoin to the next level. Playing with the Lightning Network has given me the same feeling I got the first time I actually used Bitcoin, like the world was not ready for this kind of breakthrough. We might be pleasantly surprised by what RSK brings to the table also, especially with the way Lumino can improve not only RSK, but also the main Bitcoin blockchain as well, potentially.

As far as drawbacks go, this summary quoted from the Lumino white paper on the RSK website, mentions a few of it’s limitations:

“Lumino transaction compression is an alternative for scaling a blockchain that achieves high compression ratios. Transaction compression means data reuse, which means that Lumino higher compression is a tradeoff for lower privacy. However, the tradeoff choice is left to individual users. The LTCP protocol enables storage-compression but has resource bottlenecks: bandwidth usage and, to a lower extent, CPU usage. However, if a node only receives and verifies a fraction of the LTCP transactions, they can be informed of transactions with invalid witness data easily since LTCP transactions allow short fraud proofs, so sharding is possible.”

If privacy is important to you, Lumino may not be the best choice for you.

RSK vs. Lightning Network

I don’t know if I can even properly compare the Lightning Network and Rootstock, I kind of get the feeling it’s like comparing apples and avacados.

The Lightning Network is designed to be a payment layer built on top of Bitcoin that utilizes interconnected payment channels, and instant transactions. RSK is designed to utilize the Lumino network to also do near-instant payments, and the RSK blockchain will have 10 second blocks for faster transactions. The RSK blockchain is designed to do a lot more than just be a payment layer.

As far as I know the Lightning Network is not going to be used for dapps. The ability of the RSK side chain to be used to launch smart contracts and apps is similar to Lightning network in the fact that they are both variations of smart contracts, but the way they go about it is totally different, and the addition of dapps truly gives RSK a radically different use case.

Both Lightning Network and RSK will allow decentralized exchange of coins, however in the lightning network, decentralized exchange will be taking place with a peer to peer cross blockchain exchange of coins called atomic swaps. So I could do a transaction sending bitcoin, and receive litecoin sent from you, and it would swap instantly.

I am not sure if RSK will have cross chain atomic swaps like that since you’re already kind of doing that by locking your BTC in exchange for the SBTC coins used on RSK, when you access the secondary chain. Regardless of how that works, there will be decentralized exchanges, launched on RSK, which will be similar to Bisq or Etherdelta, in function.

I am not sure how decentralized exchanges will work on Lightning Network, yet. I imagine you’ll be able to open a payment channel with a decentralized exchange and transact like that. I know the Lumino protocol has the ability to allow for payment channels similar to the Lightning network so maybe you can do cross chain swaps directly from the RSK side chain.

Since RSK just only recently launched the mainnet (beta version), this is all still being tested. Same story for Lightning Network, they are testing it, and it’s still a little ways out.

Rootstock is Bittersweet

I will admit Rootstock has amazing potential, and maybe it will be a super positive development for the Bitcoin ecosystem. I want it to succeed, because I think if done right it would open up a whole new realm of possibility for Bitcoin. I just can’t shake these feelings of suspicion about several of the choices the team has made about sacrificing decentralization.

The whole idea of the “Federation” seems really insecure. I can’t see anyone trusting any of these exchanges, their user experience is not a good one, you always feel like your money is at risk. People use them because they are a necessary evil which will eventually be phased out with advances in decentralized exchanges and cross chain swaps.

The fact that several of the businesses involved have worked against the Bitcoin community by supporting contentious forks and pushing political agendas, also speaks volumes. How can these businesses be expected to support a system that is phasing them out of business? How can we be expected to trust them?

Decentralization is non-negotiable, it’s a key part of Bitcoin’s value proposition, and functionality, without decentralization, Bitcoin has failed. Rootstock is still in the very early stages of development, maybe they have some tricks up their sleeves, to fix these major issues.