Author

Topic: Bitcoins explained please? (Read 1432 times)

copper member
Activity: 1428
Merit: 253
March 25, 2013, 03:09:57 AM
#19
I read his statement, I'm double checking his statement and asking for his permission to translate it. Doesn't cost anything to double check right?
Sure, if you have a translation that has been proofread for errors x 10 by a native-language speaker, I can also put that up on my site in the future. You can edit and remove the huge quote from your previous post though, which clutters the thread.

I was thinking of soliciting for donation of a better bitcoin domain name for my site if someone has ideas or a name already. This might inspire me to do some more content creation.

I won't have any financial gain by translating this other than generating bitcoin awareness in other languages. If I were to incur in a financial gain due to people contacting me, I'll definitely share my potential profits with you or, if you want to post my translation directly on your site that would work too. All I ask is a footnote stating it was translated by me. I'm a native Spanish speaker btw.
legendary
Activity: 1512
Merit: 1036
March 25, 2013, 02:34:16 AM
#16
I read his statement, I'm double checking his statement and asking for his permission to translate it. Doesn't cost anything to double check right?
Sure, if you have a translation that has been proofread for errors x 10 by a native-language speaker, I can also put that up on my site in the future. You can edit and remove the huge quote from your previous post though, which clutters the thread.

I was thinking of soliciting for donation of a better bitcoin domain name for my site if someone has ideas or a name already. Having a better domain name might inspire me to do some more content creation.
legendary
Activity: 3472
Merit: 4801
March 25, 2013, 02:03:05 AM
#15
I read his statement, I'm double checking his statement and asking for his permission to translate it. Doesn't cost anything to double check right?

No doesn't cost anything.  I understood the part where you were asking for permission to translate and re-publish.  I was just confused by the part where you asked the person who said they wrote it if it was of their authoring.
legendary
Activity: 3472
Merit: 4801
March 25, 2013, 01:23:20 AM
#14
- snip -
(yes, I wrote all the above, at: http://we.lovebitco.in for reference)
Is this of your authoring?

Huh
hero member
Activity: 518
Merit: 521
March 25, 2013, 01:07:20 AM
#13
There is nothing you need to know except BUY BUY BUY BUY.  Did I mention BUY BUY BUY? You can never just loose your shirt in this puppy, it's GUARANTEED! What more could you ask for, it is like a gift from heaven, don't pass Go, don't stop to take a piss, just BUY BUY BUY.



legendary
Activity: 1512
Merit: 1036
March 24, 2013, 10:26:28 PM
#12
Like any well designed complex machine, bitcoin is easy to use, and complicated to understand the technical details

Amen. Just because you don't understand the formulas calculating shear stress of electrorheological fluids doesn't mean that you shouldn't trust vehicular adaptive ride controls and that the Audi S5s will fail.
newbie
Activity: 6
Merit: 0
March 24, 2013, 08:53:50 PM
#11
Thanks for the info, all!
sr. member
Activity: 378
Merit: 250
March 24, 2013, 08:38:42 PM
#10
Many thanks for the further replies guys, I think I understand the basic concept now thanks to you people and having used P2P networks. The mining part and discovery of new BTC is becoming clearer however the transaction fees for miners mentioned in deepceleron's post has thrown me again so I'll read up on that pdf. No doubt in a few months I'll be looking at this thread and thinking what a dumb newbie I was lol.
legendary
Activity: 3472
Merit: 4801
March 24, 2013, 07:54:41 PM
#9
As a Hero member, your statement about bitcoin scares me and scares a lot of potential adopters.
You should encourage people to bitcoin, not scare them telling them is not a simple process.
Bitcoin fundamentally is very simple, it can get complex if a newbie wants to understand how the cryptography process of bitcoin works, however, that's a layer that is wisely masked by the bitcoin client and hopefully the layers of complexity will get further and further away from regular users.
Again, please do not scare people with your words. Bitcoin is not complex for new users, it's easy and it'll become easier as developers find new ways to attract users to it.

Like any well designed complex machine, bitcoin is easy to use, and complicated to understand the technical details.

The OP was asking about the concept of mining.  I provided a simple explanation:

Quote
Gather up transactions.
Link them all together with hashes, and build a block header with the root hash.
Hash the block repeatedly changing it slightly each time until you end up with a hash that has a value lower than the necessary target.
Broadcast the block.

This leaves out significant details.  I agree that the process of using bitcoin is simple, but the concept of how it works is complex.  It accomplishes nothing to state otherwise.  I regularly discuss bitcoin here in this forum with people who claim to have a good understanding, and yet even they often have made false assumptions and discover that there is something about it that they mis-understood.
legendary
Activity: 1722
Merit: 1217
March 24, 2013, 07:16:43 PM
#8
Thanks for the replies guys, I have seen the first 2 replies but still can't quite get my head round the talk of blocks/hashes etc, I'll get it at some point no doubt. @ Danny, sheesh if that's the simplified explanation perhaps I ought to delete this thread lol, but many thanks for trying.
One question, if people stop mining because it becomes less profitable how will transactions be verified and so carry on Bitcoin as a viable currency?

let me give it a shot this is going to be a ridiculous scatter shot and not at all representative of bitcoin its self but hopefully it will help you to understand the basic premise behind how you should begin to internally visualize the process taking place.

So this isnt exactly how public key cryptography works but for the sake of thought experiment imagine that it did work this way. Bob has a secret number that only bob knows (b1). Now bob is capable of deriving two new numbers from b1 (b2 and b3). now b2 and b3 arnt any random numbers they are provably mathematically related to each other in such a way that an examiner can tell that b2 and b3 are related but if he was given b2 and not b3 he would not be able to derive b3 from b2 and if he was given b3 but not b2 he would not be able to derive b2 from b3.

Now what happens next is people realize they can come to gather in order to assign units of account to numbers like b2 so they come to gather and create a shared database that they could use to attach units of account to these numbers.

suppose that bob has created b1 and b2 but has not yet created b3. If bob had a unit of account attached to b2 in this communal database than he could produce b3 and share it with the network thus proving his unique relationship to b2 (since only the owner of b1 could have produced both b2 and b3). bob could then use his authority to request that the unit of account be transferred to someone elses b2.

A couple of more innovations were necessary in order to prevent double spending, this is where mining comes into the equation, but other than that what i have basically outlined is bitcoin.

Anyway i hope this helped.
legendary
Activity: 1512
Merit: 1036
March 24, 2013, 07:15:59 PM
#7
Can anybody post a link to bitcoins explained visually by diagrams or video, especially the concept of mining please.

OK, Bitcoin explained...

Introduction

Bitcoin is a decentralized peer-to-peer currency system, that has no central bank or authority. Bitcoin has its own unit of currency, the bitcoin, that has no set value in relation to government-issued currencies – it is valued independently on the merits of its usefulness and scarcity.

Bitcoin is also a computer network of users and organizations that communicate and store information about Bitcoin address balances with each other over the Internet, primarily by running the original Bitcoin software on their computer.

The design of Bitcoin includes novel methods to transmit payments, to create and distribute new bitcoins at a known and limited rate, and to cryptographically protect a shared record of all past Bitcoin transactions.



Bitcoin Addresses

You may have seen people on the Internet posting their Bitcoin address. Your Bitcoin address is given to others so they may send you a payment, similar to how you give out your email address to receive email. An address is 25-34 characters long, and always starts with the number “1″.

An address is actually made of two parts – the public part that is safe to give to anyone, and a corresponding secret part used behind the scenes by Bitcoin software when sending a payment. Only an address’s owner can send a payment from an address, because only an owner’s wallet contains the secret private key.

Address Cryptography

An address is an Elliptic Curve Digital Signature Algorithm public/private key pair. The actual address that is shared with others is a cryptographic hash of the public key, encoded in a human-readable format called Base58.



The Wallet

Most people’s introduction to Bitcoin is by using a Bitcoin wallet. A wallet is the equivalent of a Bitcoin bank account, and is what enables sending and receiving payments with others. A Bitcoin wallet contains a collection of Bitcoin addresses. A nearly-unlimited number of addresses can be created and stored by your wallet, so that you can give different addresses to different people and track payments you’ve received. When a payment is sent to one of your addresses, your Bitcoin wallet will reflect your new balance – you’ve got bitcoins!

In addition to wallet software that runs on your computer or mobile device, web wallets – cloud services run by independent organizations – can also maintain a wallet with addresses, or can operate like a bank where your bitcoins are simply stored as an account balance in their Bitcoin wallet. Choose a wallet that is appropriate for you.

If the wallet data stored on a computer is deleted, or the computer hard drive dies, then the owner loses the ability to send their bitcoins to anyone else – they are lost. This is why it is important to make a secure backup of the wallet before using Bitcoin for significant amounts.

If someone else gains access to your computer or the wallet data, they can spend your Bitcoins. Bitcoin-Qt allows encrypting a wallet with a passphrase, so even if the wallet data is stolen, the bitcoins contained in the wallet addresses cannot be sent or stolen without cracking the password.

Wallet reserve pool

A wallet also contains a reserve pool of pregenerated addresses for future use, which are not shown to the user. When a new address is needed, it is taken from the reserve pool instead of created on-demand. This prevents a wallet backup from quickly becoming obsolete.



The Bitcoin peer-to-peer network

Bitcoin neither has, nor requires, a central Internet server or authority. Users running the Bitcoin software communicate directly with each other over the Internet. Through this distributed network, the Bitcoin network protocol communicates both transactions – instantaneous messages transmitting a desire to send money, and the blockchain – the permanent record of accepted transactions.

The communication between clients, also called nodes, is called relaying. Bitcoin nodes have relaying rules where they inspect transactions and blocks, and won’t pass along messages that are spam-like (having less than the minimum required fee) or are invalid.



Transactions

The Bitcoin network doesn’t directly store a balance for each of its users. Instead, Bitcoin uses a record of all transactions that have ever taken place, allowing each node to calculate the current balance of any Bitcoin address.

When you send a payment to someone else on the Bitcoin network, you are creating a transaction. A transaction is a digitally signed unalterable message that transfers ownership of bitcoins to another address. A transaction is instantaneously communicated with other Bitcoin network nodes, which verify its authenticity and temporarily store it as a pending transaction for futher processing.

Transaction Ins and Outs

Transactions are comprised of a list of inputs, individual payments that were previously received by a wallet, and outputs, a list of amounts and addresses to which the bitcoins will be transferred.

Only the full amount of an input can be spent. If the exact amount of the transaction can’t be constructed from available inputs, an additional output, called change, is added, which sends the remainder back to a new address in the user’s wallet. Change addresses are not shown to the user.



The Crypto of Transactions

A transaction is signed by an address’s private key, and is transmitted with a full copy of the public key, to enable verification of the digital signature.



Blockchain

About every ten minutes, a group of pending transactions is packaged together into a transaction block, which is transmitted to all Bitcoin nodes. When a transaction has been included in a block, it is considered to have been confirmed, meaning that it very likely to become part of the permanent record of transactions.

The contents of a block are protected from alteration by a cryptographic hash function which is very difficult to compute. Each block also contains information about the previous block, so as future blocks are added to this chain of blocks, creating an alternate version of a block becomes even harder. By this mechanism, the blockchain becomes a cryptographically protected permanent record of all past transactions.

The size of the blockchain is continuously growing, and the reference Bitcoin client requires a complete download of the entire transaction record to function as a wallet. Using a full Bitcoin client supports the operation of the Bitcoin network, but new users may find a “light” client or a web wallet a faster introduction to Bitcoin.



Mining

The process of securing the blockchain is called mining. Miners enforce the rules of Bitcoin, rejecting any invalid transactions or blocks, such as those that might try to use bitcoins that have already been spent. Thousands of dedicated computers and high-end computing devices are continuously attempting to compute a valid block hash and add a block of transactions to the blockchain. To compensate for a growing computing power of miners, the difficulty of finding a block hash is regularly adjusted to maintain an average of six blocks per hour.

Mining is also the process by which new bitcoins are created. As an incentive to encourage a higher difficulty against attack, mining a block includes a reward – newly created bitcoins paid to the miner. The amount of Bitcoins generated per block started at 50 bitcoins in 2009, but the reward amount is halved every four years. This formula ensures a maximum money supply of 21 million bitcoins will be distributed. A whole bitcoin is not the smallest amount that can be sent by users though – a bitcoin can be subdivided down to eight decimal places, ensuring enough currency supply for a globally-sized economy.

While mining was originally performed using normal computer CPU power and the reference Bitcoin client, it is no longer practical or energy efficient to mine using less than a high end graphics card (GPU) and specialized software. Recently, hardware devices designed only for mining (using FPGA or ASIC technology) are even more efficient and may eventually obsolete GPUs.

Since it may take years for an individual with a single dedicated computer and GPU to find a Bitcoin block himself and claim the full reward, most miners pool their resources into a mining pool, to receive regular reward payments. A pool is an independently run organization running Bitcoin that coordinates computing resources and pays out fractional rewards to individual miners.

Mining Technical Info

Each bitcoin block has a SHA256(SHA256()) hash that is the main “block hash”, a hash of the contents of the block (technically, the top hash of the Merkle tree of the transactions in the block). Hashing algorithms such as SHA256 create a digital fingerprint of data that cannot be easily falsified. 256-bit hash output is an unpredictable random-looking 64-character hex number (it is unpredictable and irreversible by design). This is the puzzle that Bitcoin mining uses to secure the blockchain – since the output of SHA256 is unpredictable, it is very hard to find a hash that looks like something you specify.

Bitcoin’s mining challenge is to find a block hash that starts with many zeros, the more zeros desired at the beginning of a 256-bit hash (and the smaller the value), the more difficult it becomes to find one. A completely different hash will be obtained by only changing a small amount of data in a block; miners change a special area of the block called a nonce and then check if the hash is a “winner”. Only after discovering a hash of a group of transactions that is smaller than the current difficulty target can a transaction block be added to the blockchain. This process makes falsifying or altering the Bitcoin blockchain computationally difficult.



Transaction Fees

A transaction may include a transaction fee, to encourage miners to include the transaction in the blockchain. When a transaction is included in a block, miners can collect the included fees. Transactions fees may supplement, and must eventually replace, the diminishing block reward paid to miners.

Some transactions require a mandatory fee when they spend small amounts of recently received bitcoins. The minimum fee rules are enforced by relay nodes and miners to discourage spam-like or attack transactions that may unnecessarily bloat the blockchain.

An appropriate minimum fee is automatically calculated when sending a payment, but for preferential treatment, a larger optional fee can be included with a transaction.

How a fee is created

Bitcoin adds a transaction fee by paying more in inputs than the amount sent as outputs. Miners claim the fee when they mine a block, by adding it to the transaction that creates new bitcoins.

Minimum fee amounts are based on transaction data size, currently 0.0005 bitcoins per kilobyte. A transaction can include about five inputs and outputs before it is larger than a kilobyte.



Even more reading

To review in-depth information, you can read the original paper that describes Bitcoin’s design, or explore detailed subjects on the Bitcoin wiki.

(yes, I wrote all the above, at: http://we.lovebitco.in for reference)
legendary
Activity: 3472
Merit: 4801
March 24, 2013, 07:03:25 PM
#6
Thanks for the replies guys, I have seen the first 2 replies but still can't quite get my head round the talk of blocks/hashes etc, I'll get it at some point no doubt. @ Danny, sheesh if that's the simplified explanation perhaps I ought to delete this thread lol, but many thanks for trying.

Yes, to understand what is "technically" happening in mining, you need to at least have a "technical" understanding of the concept of a SHA-256 hash.

I'll try to simplify it a bit further:

The blockchain is simply an agreed consensus ledger.  Transactions exist in the ledger because everybody agrees that they do.  The rules of the protocol are just a technical way to force that agreement.  So the "blockchain" is a ledger listing every confirmed transaction that has ever occurred in bitcoin.

When you send a bitcoin transaction, your wallet tells all the peers that it is connected to about the transaction.  Those peers then tell the peers that they are connected to, and so on until pretty much the whole network knows that the transaction exists.  However, in theory you could tell half of your peers about a transaction that you are creating, and tell the other half about a completely different transaction that uses the exact same bitcoins.

If you do that, we have a problem.  Only one of those transactions can really exists.  The other has to fail since the bitcoins are already spent. Since half of the network has now heard about one transaction, and the other half has heard about the other transaction, how can the network agree on a "consensus"?

This is where the blockchain (as the "officially recognized ledger of actual confirmed transactions") comes into play.  Some participants in the network agree to do some time consuming work that has a random chance of succeeding at any moment in time.  We call these participants "miners".  They are provided with a way to prove that they've done this time consuming work that is fast and easy for all the other participants to verify (this is where the SHA-256 hash comes into play).  The miners all work on the time-consuming work, and when they've completed it they publish the list of transactions that they chose to work on.  Whichever of the 2 competing transactions in the network are included by the miner in the ledger becomes the "officially recognized" transaction by everyone on the network.  Any other transaction that attempts to re-use those same coins is then discarded by all peers on the network.

Now why would anyone want to do this time consuming work?  Well, the people making the transactions can include a transaction fee, and the "miner" can receive this fee as payment for the service they've provided.  This provides a financial incentive to be a miner.  In the early adoption phase, there won't be very many transactions.  Also, when the bitcoin system first comes into existence, there won't be any bitcoins for anyone to send in transactions yet either.

So now we have two problems that fortunately seem to solve each other.  We need a fair way to distribute brand new bitcoins and slowly release them into the marketplace.  We also need a way to reward miners when there aren't very many transactions or fees yet.  How about if every time a miner finishes the proof of work and broadcasts a new set of transactions officially added to the ledger, we allow them to include a single special transaction that sends all the transaction fees AND A SUBSIDY of brand new coins that never existed before to themselves.

Now we have a way for the network to agree on a consensus of which transactions are "real", we have a reasonably fair way to slowly meter out brand new coins, and we have a way to compensate those who do the work of maintaining the blockchain ledger.

One question, if people stop mining because it becomes less profitable how will transactions be verified and so carry on Bitcoin as a viable currency?

If people stop mining, it will become more profitable.  As more people mine, the bitcoin block subsidy and transaction fees that are paid are spread thinner, and profits drop.  As people stop mining, the bitcoin subsidy and transaction fees that are paid are consolidated between fewer people and profits increase.  The free market allows this to find it's own balance.  Bitcoins more valuable? More miners.  Bitcoins lose value? Less miners.
sr. member
Activity: 378
Merit: 250
March 24, 2013, 06:31:44 PM
#5
Thanks for the replies guys, I have seen the first 2 replies but still can't quite get my head round the talk of blocks/hashes etc, I'll get it at some point no doubt. @ Danny, sheesh if that's the simplified explanation perhaps I ought to delete this thread lol, but many thanks for trying.
One question, if people stop mining because it becomes less profitable how will transactions be verified and so carry on Bitcoin as a viable currency?
legendary
Activity: 3472
Merit: 4801
March 24, 2013, 06:13:59 PM
#4
Can anybody post a link to bitcoins explained visually by diagrams or video, especially the concept of mining please.

Bitcoin is not a simple process.  Any attempt to explain it simply will leave out important aspects.  How much is left our will depend on how simple of an explanation you want.

Explaining mining however is not too difficult as long as you already understand the rest of bitcoin.

Here's a simplified explanation.  It leaves out some of the technical details about double-hashing and such, but the concept is all there:

A miner collects transactions (including a special transaction that pays 25 BTC to the miner) and uses a hashing process to calculate a digest (called a merkle root).  The miner creates a "block header" that has the hash of the previous block, the merkle root and a few other fields.  All this is extremely fast and uses up only a miniscule amount of the time that a miner spends on a block.

Next the miner calculates a SHA-256 hash of the entire header.  The result is a 256 bit number.  If the value of the number is lower than a target set by the protocol, then the block is "solved" and the miner can broadcast it to be added to everyone's blockchain (receiving the 25 BTC reward from the transaction that the miner included).  If the value is not lower than the target, then the miner increments a special field in the header called a "nonce".  The sole purpose of the nonce is to provide a way for the miner to modify the header so that a new SHA-256 will result in a new 256 bit number.  The miner repeats this process until they find a hash of a low enough value.

That's pretty much all there is to it:

Gather up transactions.
Link them all together with hashes, and build a block header with the root hash.
Hash the block repeatedly changing it slightly each time until you end up with a hash that has a value lower than the necessary target.
Broadcast the block.
hero member
Activity: 509
Merit: 564
"In Us We Trust"
March 24, 2013, 05:05:00 PM
#3
Well, there's this...  Undecided

legendary
Activity: 1078
Merit: 1003
March 24, 2013, 05:04:05 PM
#2
What is Bitcoin?

Sadly, the first YouTube video you get when you search Bitcoin is "EHRMAGERD BITCOIN PONZI, BUY MY SILVER PL0X" Tongue
sr. member
Activity: 378
Merit: 250
March 24, 2013, 05:01:00 PM
#1
Can anybody post a link to bitcoins explained visually by diagrams or video, especially the concept of mining please.
Jump to: