Bitcoin R&D with Blockchain. INFO
At Blockchain, we are spending a lot of time thinking about how to scale not just our own services, but how to scale the bitcoin network so it can support tens of millions of new users.
A payment channel is a way to send bitcoin in a trustless way to another party without touching the main block chain. In its most basic form, payments are made by sending a transaction from a multi-sig address to another party. Additional payments can be made by sending transactions with increased amounts. These payments are final and instant, and the other party can broadcast them at any point in order to release the funds and to close the payment channel.
What does a transaction look like?
If Alice sends some bitcoins to Bob, that transaction will have three pieces of information:
- An input. This is a record of which bitcoin address was used to send the bitcoins to Alice in the first place (she received them from her friend, Eve).
- An amount. This is the amount of bitcoins that Alice is sending to Bob.
- An output. This is Bob's bitcoin address.
How is it sent?
To send bitcoins, you need two things: a bitcoin address and a private key. A bitcoin address is generated randomly, and is simply a sequence of letters and numbers. The private key is another sequence of letters and numbers, but unlike your bitcoin address, this is kept secret.
Think of your bitcoin address as a safe deposit box with a glass front. Everyone knows what is in it, but only the private key can unlock it to take things out or put things in.
When Alice wants to send bitcoins to Bob, she uses her private key to sign a message with the input (the source transaction(s) of the coins), amount, and output (Bob’s address).
She then sends them from her bitcoin wallet out to the wider bitcoin network. From there, bitcoin miners verify the transaction, putting it into a transaction block and eventually solving it.
Why must I sometimes wait for my transaction to clear?
Because your transaction must be verified by miners, you are sometimes forced to wait until they have finished mining. The bitcoin protocol is set so that each block takes roughly 10 minutes to mine.
Some merchants may make you wait until this block has been confirmed, meaning that you may have to make a cup of coffee and come back again in a short while before you can download the digital goods or take advantage of the paid service.
On the other hand, some merchants won’t make you wait until the transaction has been confirmed. They effectively take a chance on you, assuming that you won’t try and spend the same bitcoins somewhere else before the transaction confirms. This often happens for low value transactions, where the risk of fraud isn’t as great.
Are there any transaction fees?
Sometimes, but not all the time.
Transaction fees are calculated using various factors. Some wallets let you set transaction fees manually. Any portion of a transaction that isn’t picked up by the recipient or returned as change is considered a fee. This then goes to the miner lucky enough to solve the transaction block as an extra reward.
Right now, many miners process transactions for no fees. As the block reward for bitcoins decreases, this will be less likely.
One of the frustrating things about transaction fees in the past was that the calculation of those fees was complex and arcane. It has been the result of several updates to the protocol, and has developed organically.
Updates to the core software handling bitcoin transactions will see it change the way that it handles transaction fees, instead estimating the lowest fee that will be accepted.
What if I only want to send part of a bitcoin?
Bitcoin transactions are divisible. A satoshi is one hundred millionth of a bitcoin, and it is possible to send a transaction as small as 5430 satoshis on the bitcoin network.