Scalability solutions - Part 1

in #bitcoin8 years ago

d.jpg

Hello everyone today we are going to talk about the Bitcoin scalability issue and the different ways to solve it

The bitcoin scalability problem is a consequence of the fact that blocks in the blockchain are limited to 1MB in size and for the security, the blocks have to be mined by miners via a process of POW requesting a long time to create them. This limitation was created on purpose to secure the network, that is why there are so many arguments and Bitcoin developers are not interested in increasing the size to 8MB like BCH, the security is more important in their eyes.
The 1MB limit has created a bottleneck in bitcoin, resulting in delayed processing of transactions that cannot be fit into a block and the reason why miners are requesting high transaction fees.

In this article, we will overview some of the proposed solutions

How this is working today?

sugnature.png

Proposed Solutions


State Channel

State channels are a very broad and simple way to think about blockchain interactions which could occur on the blockchain, but instead get conducted off of the blockchain, without significantly increasing the risk of any participant. State channels are the general form of payment channels, applying the same idea to any kind of state-altering operation normally performed on a blockchain. Moving these interactions off of the chain without requiring any additional trust can lead to significant improvements in cost and speed.
How it works -
1.There is a two stats chain - open and close. Part of the blockchain state is locked via a smart contract or a multi-signature, conducting a set of participants to agree with each other to update it.and change the state of the off-channel between the participants.
2.When the state of the channel will be open participants will update the state amongst themselves by constructing and signing transactions that will be held onto for now in the off-chain. Each new update will erase previous updates.
3.Once the channel will be locked the global amount of the money will be submitted to the blockchain and the state channel will be open again (usually in a different configuration than it started with).
Stage 1 and 3 are the only stage connected to the blockchain other manipulations and trades won't be subscribed to the blockchain unless the state is closed.

For example: Bob wants to pay Alice for his work he will open a transaction channel to Alice account and send the amount to an off chain channel. Once Alice & Bob will finish their cooperation or Alice would like to put the money received to the "Bank"(Bitcoin wallet) she will lock the channel the global amount will be sent to the blockchain and the state of the channel will be opened again. Till the locked status Bob will able to send transactions to Alice quicker and fees less. Alice will pay to "lock" her funds.
cv.png

Con's -
1. Too many channels will be created, and you will have to update manually the off chain of the amount you want to send.
2. The second issue in my eyes is the erase of the history and the participants have to stay online till the transaction channel state is locked. transaction. Imagine you had an agreement to pay an engineer for its work you paid him 2 Btcs for his work then due to another feature you requested you will have to pay another 3 Btcs then somehow you lose your internet connection. The engineer would pretend he didn't receive his last transaction, he might be able to publish the first update to the blockchain and effectively steal 3 bitcoins from you! But this can be solvable if you copy the transaction to a different server for a minimal cost. link

Lightning Network

- By the theory of six degrees of separation, everyone is connected to any other participant by only a few hops. Instead of creating new channels to all the people you will interact with (it would be very inefficient)., your wallet will find the wallet receiver that has a) sufficient liquidity, b) least fees, and c) fewest hops. Let's say Alice wants to send 0.01 BTC to Bob, who is a bartender and just made you a cocktail. Bob is a friend of Joe, while I have a Payment channel with Joe. For illustration purposes, let's assume that each payment channel has 2 BTC in it, split equally. You do not have a direct connection to Bob.

Our "network" now looks like this (without lightening network):

Alice <-- 1BTC ----- 1BTC --> Bob <-- 1.01BTC ----- 0.99 BTC -->Alice

With Lightning :
Now, since you don't have a direct payment channel to Bob, you will route your payment through the network. Instead of only writing an update of the balance between Bob and Alice as I described above, this becomes a concerted effort: To make a payment, each involved payment channel updates its balances. With a payment of 0.01 BTC for the coffee, this updates our network to:

Alice <-- 0.99BTC ----- 1.01BTC --> Joe <-- 0.99BTC ----- 1.01BTC --> Bob
At the end of the transactions each "middleman" will get his money back plus a fee.

ee.jpg

Cons - You cannot receive more money through Lightning in one transaction than the sum of your payment channels' values, your transactions won't get stored eternally on the blockchain.(mb it is a pro for a better privacy feature)
Fees less and instant transactions but your money is locked up in a payment channel, which you first need to execute on the blockchain if you want to do a regular Bitcoin transaction with the money.
The off chain will have the same existing user address allowing users that know who the address belongs to monitor your balance (less personal privacy). link

Side Chain

- Imagine you could send Bitcoins not only to individuals, addresses, and centralized services but to other blockchains? like Ethereum, Railblocks etc, to having faster block confirmations.
The idea is to send a number of bitcoins to a specified address where nobody can touch it, the money will be locked up. Once the confirmation of this transaction will be confirmed, you send a message to the other blockchain – the one you were wanting to use. This message contains a proof that the coins were sent to that special address on the Bitcoin network, the coins belong to you and now are immobilized. If the second blockchain has agreed to be a Bitcoin sidechain, it now does something really special… it creates the exact same number of tokens on its own network and gives you control of them. You can now transact the new coins you received, on the second chain under the rules of the chain chooses to implement.
The logic above is symmetric so if you decide at any point you can resend your coin to the Bitcoin network. link
sidechains.GIF

Pro - If it will be implemented that means you will be able to give services without also needing to create a new currency.
Con - There is still a few security issues.


upvote- steemit.gif

If this helped you, don't forget to resteem

Sort:  

Thank you for outlining the pros and cons of each proposed solution. Your in-depth article contains great information.

I am glad you appreciated it, tomorrow will come part 2

very good post, thank you

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.079
BTC 61335.03
ETH 1628.31
USDT 1.00
SBD 0.41