The Prometheus League
Breaking News and Updates
- Abolition Of Work
- Ai
- Alt-right
- Alternative Medicine
- Antifa
- Artificial General Intelligence
- Artificial Intelligence
- Artificial Super Intelligence
- Ascension
- Astronomy
- Atheism
- Atheist
- Atlas Shrugged
- Automation
- Ayn Rand
- Bahamas
- Bankruptcy
- Basic Income Guarantee
- Big Tech
- Bitcoin
- Black Lives Matter
- Blackjack
- Boca Chica Texas
- Brexit
- Caribbean
- Casino
- Casino Affiliate
- Cbd Oil
- Censorship
- Cf
- Chess Engines
- Childfree
- Cloning
- Cloud Computing
- Conscious Evolution
- Corona Virus
- Cosmic Heaven
- Covid-19
- Cryonics
- Cryptocurrency
- Cyberpunk
- Darwinism
- Democrat
- Designer Babies
- DNA
- Donald Trump
- Eczema
- Elon Musk
- Entheogens
- Ethical Egoism
- Eugenic Concepts
- Eugenics
- Euthanasia
- Evolution
- Extropian
- Extropianism
- Extropy
- Fake News
- Federalism
- Federalist
- Fifth Amendment
- Fifth Amendment
- Financial Independence
- First Amendment
- Fiscal Freedom
- Food Supplements
- Fourth Amendment
- Fourth Amendment
- Free Speech
- Freedom
- Freedom of Speech
- Futurism
- Futurist
- Gambling
- Gene Medicine
- Genetic Engineering
- Genome
- Germ Warfare
- Golden Rule
- Government Oppression
- Hedonism
- High Seas
- History
- Hubble Telescope
- Human Genetic Engineering
- Human Genetics
- Human Immortality
- Human Longevity
- Illuminati
- Immortality
- Immortality Medicine
- Intentional Communities
- Jacinda Ardern
- Jitsi
- Jordan Peterson
- Las Vegas
- Liberal
- Libertarian
- Libertarianism
- Liberty
- Life Extension
- Macau
- Marie Byrd Land
- Mars
- Mars Colonization
- Mars Colony
- Memetics
- Micronations
- Mind Uploading
- Minerva Reefs
- Modern Satanism
- Moon Colonization
- Nanotech
- National Vanguard
- NATO
- Neo-eugenics
- Neurohacking
- Neurotechnology
- New Utopia
- New Zealand
- Nihilism
- Nootropics
- NSA
- Oceania
- Offshore
- Olympics
- Online Casino
- Online Gambling
- Pantheism
- Personal Empowerment
- Poker
- Political Correctness
- Politically Incorrect
- Polygamy
- Populism
- Post Human
- Post Humanism
- Posthuman
- Posthumanism
- Private Islands
- Progress
- Proud Boys
- Psoriasis
- Psychedelics
- Putin
- Quantum Computing
- Quantum Physics
- Rationalism
- Republican
- Resource Based Economy
- Robotics
- Rockall
- Ron Paul
- Roulette
- Russia
- Sealand
- Seasteading
- Second Amendment
- Second Amendment
- Seychelles
- Singularitarianism
- Singularity
- Socio-economic Collapse
- Space Exploration
- Space Station
- Space Travel
- Spacex
- Sports Betting
- Sportsbook
- Superintelligence
- Survivalism
- Talmud
- Technology
- Teilhard De Charden
- Terraforming Mars
- The Singularity
- Tms
- Tor Browser
- Trance
- Transhuman
- Transhuman News
- Transhumanism
- Transhumanist
- Transtopian
- Transtopianism
- Ukraine
- Uncategorized
- Vaping
- Victimless Crimes
- Virtual Reality
- Wage Slavery
- War On Drugs
- Waveland
- Ww3
- Yahoo
- Zeitgeist Movement
-
Prometheism
-
Forbidden Fruit
-
The Evolutionary Perspective
Category Archives: Bitcoin
How the Bitcoin protocol actually works | DDI
Posted: August 16, 2015 at 9:43 am
Many thousands of articles have been written purporting to explain Bitcoin, the online, peer-to-peer currency. Most of those articles give a hand-wavy account of the underlying cryptographic protocol, omitting many details. Even those articles which delve deeper often gloss over crucial points. My aim in this post is to explain the major ideas behind the Bitcoin protocol in a clear, easily comprehensible way. Well start from first principles, build up to a broad theoretical understanding of how the protocol works, and then dig down into the nitty-gritty, examining the raw data in a Bitcoin transaction.
Understanding the protocol in this detailed way is hard work. It is tempting instead to take Bitcoin as given, and to engage in speculation about how to get rich with Bitcoin, whether Bitcoin is a bubble, whether Bitcoin might one day mean the end of taxation, and so on. Thats fun, but severely limits your understanding. Understanding the details of the Bitcoin protocol opens up otherwise inaccessible vistas. In particular, its the basis for understanding Bitcoins built-in scripting language, which makes it possible to use Bitcoin to create new types of financial instruments, such as smart contracts. New financial instruments can, in turn, be used to create new markets and to enable new forms of collective human behaviour. Talk about fun!
Ill describe Bitcoin scripting and concepts such as smart contracts in future posts. This post concentrates on explaining the nuts-and-bolts of the Bitcoin protocol. To understand the post, you need to be comfortable with public key cryptography, and with the closely related idea of digital signatures. Ill also assume youre familiar with cryptographic hashing. None of this is especially difficult. The basic ideas can be taught in freshman university mathematics or computer science classes. The ideas are beautiful, so if youre not familiar with them, I recommend taking a few hours to get familiar.
It may seem surprising that Bitcoins basis is cryptography. Isnt Bitcoin a currency, not a way of sending secret messages? In fact, the problems Bitcoin needs to solve are largely about securing transactions making sure people cant steal from one another, or impersonate one another, and so on. In the world of atoms we achieve security with devices such as locks, safes, signatures, and bank vaults. In the world of bits we achieve this kind of security with cryptography. And thats why Bitcoin is at heart a cryptographic protocol.
My strategy in the post is to build Bitcoin up in stages. Ill begin by explaining a very simple digital currency, based on ideas that are almost obvious. Well call that currency Infocoin, to distinguish it from Bitcoin. Of course, our first version of Infocoin will have many deficiencies, and so well go through several iterations of Infocoin, with each iteration introducing just one or two simple new ideas. After several such iterations, well arrive at the full Bitcoin protocol. We will have reinvented Bitcoin!
This strategy is slower than if I explained the entire Bitcoin protocol in one shot. But while you can understand the mechanics of Bitcoin through such a one-shot explanation, it would be difficult to understand why Bitcoin is designed the way it is. The advantage of the slower iterative explanation is that it gives us a much sharper understanding of each element of Bitcoin.
Finally, I should mention that Im a relative newcomer to Bitcoin. Ive been following it loosely since 2011 (and cryptocurrencies since the late 1990s), but only got seriously into the details of the Bitcoin protocol earlier this year. So Id certainly appreciate corrections of any misapprehensions on my part. Also in the post Ive included a number of problems for the author notes to myself about questions that came up during the writing. You may find these interesting, but you can also skip them entirely without losing track of the main text.
So how can we design a digital currency?
On the face of it, a digital currency sounds impossible. Suppose some person lets call her Alice has some digital money which she wants to spend. If Alice can use a string of bits as money, how can we prevent her from using the same bit string over and over, thus minting an infinite supply of money? Or, if we can somehow solve that problem, how can we prevent someone else forging such a string of bits, and using that to steal from Alice?
These are just two of the many problems that must be overcome in order to use information as money.
As a first version of Infocoin, lets find a way that Alice can use a string of bits as a (very primitive and incomplete) form of money, in a way that gives her at least some protection against forgery. Suppose Alice wants to give another person, Bob, an infocoin. To do this, Alice writes down the message I, Alice, am giving Bob one infocoin. She then digitally signs the message using a private cryptographic key, and announces the signed string of bits to the entire world.
(By the way, Im using capitalized Infocoin to refer to the protocol and general concept, and lowercase infocoin to refer to specific denominations of the currency. A similar useage is common, though not universal, in the Bitcoin world.)
This isnt terribly impressive as a prototype digital currency! But it does have some virtues. Anyone in the world (including Bob) can use Alices public key to verify that Alice really was the person who signed the message I, Alice, am giving Bob one infocoin. No-one else could have created that bit string, and so Alice cant turn around and say No, I didnt mean to give Bob an infocoin. So the protocol establishes that Alice truly intends to give Bob one infocoin. The same fact no-one else could compose such a signed message also gives Alice some limited protection from forgery. Of course, after Alice has published her message its possible for other people to duplicate the message, so in that sense forgery is possible. But its not possible from scratch. These two properties establishment of intent on Alices part, and the limited protection from forgery are genuinely notable features of this protocol.
I havent (quite) said exactly what digital money is in this protocol. To make this explicit: its just the message itself, i.e., the string of bits representing the digitally signed message I, Alice, am giving Bob one infocoin. Later protocols will be similar, in that all our forms of digital money will be just more and more elaborate messages [1].
A problem with the first version of Infocoin is that Alice could keep sending Bob the same signed message over and over. Suppose Bob receives ten copies of the signed message I, Alice, am giving Bob one infocoin. Does that mean Alice sent Bob ten different infocoins? Was her message accidentally duplicated? Perhaps she was trying to trick Bob into believing that she had given him ten different infocoins, when the message only proves to the world that she intends to transfer one infocoin.
What wed like is a way of making infocoins unique. They need a label or serial number. Alice would sign the message I, Alice, am giving Bob one infocoin, with serial number 8740348. Then, later, Alice could sign the message I, Alice, am giving Bob one infocoin, with serial number 8770431, and Bob (and everyone else) would know that a different infocoin was being transferred.
To make this scheme work we need a trusted source of serial numbers for the infocoins. One way to create such a source is to introduce a bank. This bank would provide serial numbers for infocoins, keep track of who has which infocoins, and verify that transactions really are legitimate,
In more detail, lets suppose Alice goes into the bank, and says I want to withdraw one infocoin from my account. The bank reduces her account balance by one infocoin, and assigns her a new, never-before used serial number, lets say 1234567. Then, when Alice wants to transfer her infocoin to Bob, she signs the message I, Alice, am giving Bob one infocoin, with serial number 1234567. But Bob doesnt just accept the infocoin. Instead, he contacts the bank, and verifies that: (a) the infocoin with that serial number belongs to Alice; and (b) Alice hasnt already spent the infocoin. If both those things are true, then Bob tells the bank he wants to accept the infocoin, and the bank updates their records to show that the infocoin with that serial number is now in Bobs possession, and no longer belongs to Alice.
This last solution looks pretty promising. However, it turns out that we can do something much more ambitious. We can eliminate the bank entirely from the protocol. This changes the nature of the currency considerably. It means that there is no longer any single organization in charge of the currency. And when you think about the enormous power a central bank has control over the money supply thats a pretty huge change.
The idea is to make it so everyone (collectively) is the bank. In particular, well assume that everyone using Infocoin keeps a complete record of which infocoins belong to which person. You can think of this as a shared public ledger showing all Infocoin transactions. Well call this ledger the block chain, since thats what the complete record will be called in Bitcoin, once we get to it.
Now, suppose Alice wants to transfer an infocoin to Bob. She signs the message I, Alice, am giving Bob one infocoin, with serial number 1234567, and gives the signed message to Bob. Bob can use his copy of the block chain to check that, indeed, the infocoin is Alices to give. If that checks out then he broadcasts both Alices message and his acceptance of the transaction to the entire network, and everyone updates their copy of the block chain.
We still have the where do serial number come from problem, but that turns out to be pretty easy to solve, and so I will defer it to later, in the discussion of Bitcoin. A more challenging problem is that this protocol allows Alice to cheat by double spending her infocoin. She sends the signed message I, Alice, am giving Bob one infocoin, with serial number 1234567 to Bob, and the messageI, Alice, am giving Charlie one infocoin, with [the same] serial number 1234567 to Charlie. Both Bob and Charlie use their copy of the block chain to verify that the infocoin is Alices to spend. Provided they do this verification at nearly the same time (before theyve had a chance to hear from one another), both will find that, yes, the block chain shows the coin belongs to Alice. And so they will both accept the transaction, and also broadcast their acceptance of the transaction. Now theres a problem. How should other people update their block chains? There may be no easy way to achieve a consistent shared ledger of transactions. And even if everyone can agree on a consistent way to update their block chains, there is still the problem that either Bob or Charlie will be cheated.
At first glance double spending seems difficult for Alice to pull off. After all, if Alice sends the message first to Bob, then Bob can verify the message, and tell everyone else in the network (including Charlie) to update their block chain. Once that has happened, Charlie would no longer be fooled by Alice. So there is most likely only a brief period of time in which Alice can double spend. However, its obviously undesirable to have any such a period of time. Worse, there are techniques Alice could use to make that period longer. She could, for example, use network traffic analysis to find times when Bob and Charlie are likely to have a lot of latency in communication. Or perhaps she could do something to deliberately disrupt their communications. If she can slow communication even a little that makes her task of double spending much easier.
How can we address the problem of double spending? The obvious solution is that when Alice sends Bob an infocoin, Bob shouldnt try to verify the transaction alone. Rather, he should broadcast the possible transaction to the entire network of Infocoin users, and ask them to help determine whether the transaction is legitimate. If they collectively decide that the transaction is okay, then Bob can accept the infocoin, and everyone will update their block chain. This type of protocol can help prevent double spending, since if Alice tries to spend her infocoin with both Bob and Charlie, other people on the network will notice, and network users will tell both Bob and Charlie that there is a problem with the transaction, and the transaction shouldnt go through.
In more detail, lets suppose Alice wants to give Bob an infocoin. As before, she signs the message I, Alice, am giving Bob one infocoin, with serial number 1234567, and gives the signed message to Bob. Also as before, Bob does a sanity check, using his copy of the block chain to check that, indeed, the coin currently belongs to Alice. But at that point the protocol is modified. Bob doesnt just go ahead and accept the transaction. Instead, he broadcasts Alices message to the entire network. Other members of the network check to see whether Alice owns that infocoin. If so, they broadcast the message Yes, Alice owns infocoin 1234567, it can now be transferred to Bob. Once enough people have broadcast that message, everyone updates their block chain to show that infocoin 1234567 now belongs to Bob, and the transaction is complete.
This protocol has many imprecise elements at present. For instance, what does it mean to say once enough people have broadcast that message? What exactly does enough mean here? It cant mean everyone in the network, since we dont a priori know who is on the Infocoin network. For the same reason, it cant mean some fixed fraction of users in the network. We wont try to make these ideas precise right now. Instead, in the next section Ill point out a serious problem with the approach as described. Fixing that problem will at the same time have the pleasant side effect of making the ideas above much more precise.
Suppose Alice wants to double spend in the network-based protocol I just described. She could do this by taking over the Infocoin network. Lets suppose she uses an automated system to set up a large number of separate identities, lets say a billion, on the Infocoin network. As before, she tries to double spend the same infocoin with both Bob and Charlie. But when Bob and Charlie ask the network to validate their respective transactions, Alices sock puppet identities swamp the network, announcing to Bob that theyve validated his transaction, and to Charlie that theyve validated his transaction, possibly fooling one or both into accepting the transaction.
Theres a clever way of avoiding this problem, using an idea known as proof-of-work. The idea is counterintuitive and involves a combination of two ideas: (1) to (artificially) make it computationally costly for network users to validate transactions; and (2) to reward them for trying to help validate transactions. The reward is used so that people on the network will try to help validate transactions, even though thats now been made a computationally costly process. The benefit of making it costly to validate transactions is that validation can no longer be influenced by the number of network identities someone controls, but only by the total computational power they can bring to bear on validation. As well see, with some clever design we can make it so a cheater would need enormous computational resources to cheat, making it impractical.
Thats the gist of proof-of-work. But to really understand proof-of-work, we need to go through the details.
Suppose Alice broadcasts to the network the news that I, Alice, am giving Bob one infocoin, with serial number 1234567.
As other people on the network hear that message, each adds it to a queue of pending transactions that theyve been told about, but which havent yet been approved by the network. For instance, another network user named David might have the following queue of pending transactions:
I, Tom, am giving Sue one infocoin, with serial number 1201174.
I, Sydney, am giving Cynthia one infocoin, with serial number 1295618.
I, Alice, am giving Bob one infocoin, with serial number 1234567.
David checks his copy of the block chain, and can see that each transaction is valid. He would like to help out by broadcasting news of that validity to the entire network.
However, before doing that, as part of the validation protocol David is required to solve a hard computational puzzle the proof-of-work. Without the solution to that puzzle, the rest of the network wont accept his validation of the transaction.
What puzzle does David need to solve? To explain that, let be a fixed hash function known by everyone in the network its built into the protocol. Bitcoin uses the well-known SHA-256 hash function, but any cryptographically secure hash function will do. Lets give Davids queue of pending transactions a label, , just so its got a name we can refer to. Suppose David appends a number (called the nonce) to and hashes the combination. For example, if we use Hello, world! (obviously this is not a list of transactions, just a string used for illustrative purposes) and the nonce then (output is in hexadecimal)
The puzzle David has to solve the proof-of-work is to find a nonce such that when we append to and hash the combination the output hash begins with a long run of zeroes. The puzzle can be made more or less difficult by varying the number of zeroes required to solve the puzzle. A relatively simple proof-of-work puzzle might require just three or four zeroes at the start of the hash, while a more difficult proof-of-work puzzle might require a much longer run of zeros, say 15 consecutive zeroes. In either case, the above attempt to find a suitable nonce, with , is a failure, since the output doesnt begin with any zeroes at all. Trying doesnt work either:
We can keep trying different values for the nonce, . Finally, at we obtain:
This nonce gives us a string of four zeroes at the beginning of the output of the hash. This will be enough to solve a simple proof-of-work puzzle, but not enough to solve a more difficult proof-of-work puzzle.
What makes this puzzle hard to solve is the fact that the output from a cryptographic hash function behaves like a random number: change the input even a tiny bit and the output from the hash function changes completely, in a way thats hard to predict. So if we want the output hash value to begin with 10 zeroes, say, then David will need, on average, to try different values for before he finds a suitable nonce. Thats a pretty challenging task, requiring lots of computational power.
Obviously, its possible to make this puzzle more or less difficult to solve by requiring more or fewer zeroes in the output from the hash function. In fact, the Bitcoin protocol gets quite a fine level of control over the difficulty of the puzzle, by using a slight variation on the proof-of-work puzzle described above. Instead of requiring leading zeroes, the Bitcoin proof-of-work puzzle requires the hash of a blocks header to be lower than or equal to a number known as the target. This target is automatically adjusted to ensure that a Bitcoin block takes, on average, about ten minutes to validate.
(In practice there is a sizeable randomness in how long it takes to validate a block sometimes a new block is validated in just a minute or two, other times it may take 20 minutes or even longer. Its straightforward to modify the Bitcoin protocol so that the time to validation is much more sharply peaked around ten minutes. Instead of solving a single puzzle, we can require that multiple puzzles be solved; with some careful design it is possible to considerably reduce the variance in the time to validate a block of transactions.)
Alright, lets suppose David is lucky and finds a suitable nonce, . Celebration! (Hell be rewarded for finding the nonce, as described below). He broadcasts the block of transactions hes approving to the network, together with the value for . Other participants in the Infocoin network can verify that is a valid solution to the proof-of-work puzzle. And they then update their block chains to include the new block of transactions.
For the proof-of-work idea to have any chance of succeeding, network users need an incentive to help validate transactions. Without such an incentive, they have no reason to expend valuable computational power, merely to help validate other peoples transactions. And if network users are not willing to expend that power, then the whole system wont work. The solution to this problem is to reward people who help validate transactions. In particular, suppose we reward whoever successfully validates a block of transactions by crediting them with some infocoins. Provided the infocoin reward is large enough that will give them an incentive to participate in validation.
In the Bitcoin protocol, this validation process is called mining. For each block of transactions validated, the successful miner receives a bitcoin reward. Initially, this was set to be a 50 bitcoin reward. But for every 210,000 validated blocks (roughly, once every four years) the reward halves. This has happened just once, to date, and so the current reward for mining a block is 25 bitcoins. This halving in the rate will continue every four years until the year 2140 CE. At that point, the reward for mining will drop below bitcoins per block. bitcoins is actually the minimal unit of Bitcoin, and is known as a satoshi. So in 2140 CE the total supply of bitcoins will cease to increase. However, that wont eliminate the incentive to help validate transactions. Bitcoin also makes it possible to set aside some currency in a transaction as a transaction fee, which goes to the miner who helps validate it. In the early days of Bitcoin transaction fees were mostly set to zero, but as Bitcoin has gained in popularity, transaction fees have gradually risen, and are now a substantial additional incentive on top of the 25 bitcoin reward for mining a block.
You can think of proof-of-work as a competition to approve transactions. Each entry in the competition costs a little bit of computing power. A miners chance of winning the competition is (roughly, and with some caveats) equal to the proportion of the total computing power that they control. So, for instance, if a miner controls one percent of the computing power being used to validate Bitcoin transactions, then they have roughly a one percent chance of winning the competition. So provided a lot of computing power is being brought to bear on the competition, a dishonest miner is likely to have only a relatively small chance to corrupt the validation process, unless they expend a huge amount of computing resources.
Of course, while its encouraging that a dishonest party has only a relatively small chance to corrupt the block chain, thats not enough to give us confidence in the currency. In particular, we havent yet conclusively addressed the issue of double spending.
Ill analyse double spending shortly. Before doing that, I want to fill in an important detail in the description of Infocoin. Wed ideally like the Infocoin network to agree upon the order in which transactions have occurred. If we dont have such an ordering then at any given moment it may not be clear who owns which infocoins. To help do this well require that new blocks always include a pointer to the last block validated in the chain, in addition to the list of transactions in the block. (The pointer is actually just a hash of the previous block). So typically the block chain is just a linear chain of blocks of transactions, one after the other, with later blocks each containing a pointer to the immediately prior block:
Occasionally, a fork will appear in the block chain. This can happen, for instance, if by chance two miners happen to validate a block of transactions near-simultaneously both broadcast their newly-validated block out to the network, and some people update their block chain one way, and others update their block chain the other way:
This causes exactly the problem were trying to avoid its no longer clear in what order transactions have occurred, and it may not be clear who owns which infocoins. Fortunately, theres a simple idea that can be used to remove any forks. The rule is this: if a fork occurs, people on the network keep track of both forks. But at any given time, miners only work to extend whichever fork is longest in their copy of the block chain.
Suppose, for example, that we have a fork in which some miners receive block A first, and some miners receive block B first. Those miners who receive block A first will continue mining along that fork, while the others will mine along fork B. Lets suppose that the miners working on fork B are the next to successfully mine a block:
After they receive news that this has happened, the miners working on fork A will notice that fork B is now longer, and will switch to working on that fork. Presto, in short order work on fork A will cease, and everyone will be working on the same linear chain, and block A can be ignored. Of course, any still-pending transactions in A will still be pending in the queues of the miners working on fork B, and so all transactions will eventually be validated.
Likewise, it may be that the miners working on fork A are the first to extend their fork. In that case work on fork B will quickly cease, and again we have a single linear chain.
No matter what the outcome, this process ensures that the block chain has an agreed-upon time ordering of the blocks. In Bitcoin proper, a transaction is not considered confirmed until: (1) it is part of a block in the longest fork, and (2) at least 5 blocks follow it in the longest fork. In this case we say that the transaction has 6 confirmations. This gives the network time to come to an agreed-upon the ordering of the blocks. Well also use this strategy for Infocoin.
With the time-ordering now understood, lets return to think about what happens if a dishonest party tries to double spend. Suppose Alice tries to double spend with Bob and Charlie. One possible approach is for her to try to validate a block that includes both transactions. Assuming she has one percent of the computing power, she will occasionally get lucky and validate the block by solving the proof-of-work. Unfortunately for Alice, the double spending will be immediately spotted by other people in the Infocoin network and rejected, despite solving the proof-of-work problem. So thats not something we need to worry about.
A more serious problem occurs if she broadcasts two separate transactions in which she spends the same infocoin with Bob and Charlie, respectively. She might, for example, broadcast one transaction to a subset of the miners, and the other transaction to another set of miners, hoping to get both transactions validated in this way. Fortunately, in this case, as weve seen, the network will eventually confirm one of these transactions, but not both. So, for instance, Bobs transaction might ultimately be confirmed, in which case Bob can go ahead confidently. Meanwhile, Charlie will see that his transaction has not been confirmed, and so will decline Alices offer. So this isnt a problem either. In fact, knowing that this will be the case, there is little reason for Alice to try this in the first place.
An important variant on double spending is if Alice = Bob, i.e., Alice tries to spend a coin with Charlie which she is also spending with herself (i.e., giving back to herself). This sounds like it ought to be easy to detect and deal with, but, of course, its easy on a network to set up multiple identities associated with the same person or organization, so this possibility needs to be considered. In this case, Alices strategy is to wait until Charlie accepts the infocoin, which happens after the transaction has been confirmed 6 times in the longest chain. She will then attempt to fork the chain before the transaction with Charlie, adding a block which includes a transaction in which she pays herself:
Unfortunately for Alice, its now very difficult for her to catch up with the longer fork. Other miners wont want to help her out, since theyll be working on the longer fork. And unless Alice is able to solve the proof-of-work at least as fast as everyone else in the network combined roughly, that means controlling more than fifty percent of the computing power then she will just keep falling further and further behind. Of course, she might get lucky. We can, for example, imagine a scenario in which Alice controls one percent of the computing power, but happens to get lucky and finds six extra blocks in a row, before the rest of the network has found any extra blocks. In this case, she might be able to get ahead, and get control of the block chain. But this particular event will occur with probability . A more general analysis along these lines shows that Alices probability of ever catching up is infinitesimal, unless she is able to solve proof-of-work puzzles at a rate approaching all other miners combined.
Of course, this is not a rigorous security analysis showing that Alice cannot double spend. Its merely an informal plausibility argument. The original paper introducing Bitcoin did not, in fact, contain a rigorous security analysis, only informal arguments along the lines Ive presented here. The security community is still analysing Bitcoin, and trying to understand possible vulnerabilities. You can see some of this research listed here, and I mention a few related problems in the Problems for the author below. At this point I think its fair to say that the jury is still out on how secure Bitcoin is.
The proof-of-work and mining ideas give rise to many questions. How much reward is enough to persuade people to mine? How does the change in supply of infocoins affect the Infocoin economy? Will Infocoin mining end up concentrated in the hands of a few, or many? If its just a few, doesnt that endanger the security of the system? Presumably transaction fees will eventually equilibriate wont this introduce an unwanted source of friction, and make small transactions less desirable? These are all great questions, but beyond the scope of this post. I may come back to the questions (in the context of Bitcoin) in a future post. For now, well stick to our focus on understanding how the Bitcoin protocol works.
Lets move away from Infocoin, and describe the actual Bitcoin protocol. There are a few new ideas here, but with one exception (discussed below) theyre mostly obvious modifications to Infocoin.
To use Bitcoin in practice, you first install a wallet program on your computer. To give you a sense of what that means, heres a screenshot of a wallet called Multbit. You can see the Bitcoin balance on the left 0.06555555 Bitcoins, or about 70 dollars at the exchange rate on the day I took this screenshot and on the right two recent transactions, which deposited those 0.06555555 Bitcoins:
Suppose youre a merchant who has set up an online store, and youve decided to allow people to pay using Bitcoin. What you do is tell your wallet program to generate a Bitcoin address. In response, it will generate a public / private key pair, and then hash the public key to form your Bitcoin address:
You then send your Bitcoin address to the person who wants to buy from you. You could do this in email, or even put the address up publicly on a webpage. This is safe, since the address is merely a hash of your public key, which can safely be known by the world anyway. (Ill return later to the question of why the Bitcoin address is a hash, and not just the public key.)
The person who is going to pay you then generates a transaction. Lets take a look at the data from an actual transaction transferring bitcoins. Whats shown below is very nearly the raw data. Its changed in three ways: (1) the data has been deserialized; (2) line numbers have been added, for ease of reference; and (3) Ive abbreviated various hashes and public keys, just putting in the first six hexadecimal digits of each, when in reality they are much longer. Heres the data:
Lets go through this, line by line.
Line 1 contains the hash of the remainder of the transaction, 7c4025..., expressed in hexadecimal. This is used as an identifier for the transaction.
Line 2 tells us that this is a transaction in version 1 of the Bitcoin protocol.
Lines 3 and 4 tell us that the transaction has one input and one output, respectively. Ill talk below about transactions with more inputs and outputs, and why thats useful.
Line 5 contains the value for lock_time, which can be used to control when a transaction is finalized. For most Bitcoin transactions being carried out today the lock_time is set to 0, which means the transaction is finalized immediately.
Line 6 tells us the size (in bytes) of the transaction. Note that its not the monetary amount being transferred! That comes later.
Lines 7 through 11 define the input to the transaction. In particular, lines 8 through 10 tell us that the input is to be taken from the output from an earlier transaction, with the given hash, which is expressed in hexadecimal as 2007ae.... The n=0 tells us its to be the first output from that transaction; well see soon how multiple outputs (and inputs) from a transaction work, so dont worry too much about this for now. Line 11 contains the signature of the person sending the money, 304502..., followed by a space, and then the corresponding public key, 04b2d.... Again, these are both in hexadecimal.
One thing to note about the input is that theres nothing explicitly specifying how many bitcoins from the previous transaction should be spent in this transaction. In fact, all the bitcoins from the n=0th output of the previous transaction are spent. So, for example, if the n=0th output of the earlier transaction was 2 bitcoins, then 2 bitcoins will be spent in this transaction. This seems like an inconvenient restriction like trying to buy bread with a 20 dollar note, and not being able to break the note down. The solution, of course, is to have a mechanism for providing change. This can be done using transactions with multiple inputs and outputs, which well discuss in the next section.
Lines 12 through 14 define the output from the transaction. In particular, line 13 tells us the value of the output, 0.319 bitcoins. Line 14 is somewhat complicated. The main thing to note is that the string a7db6f... is the Bitcoin address of the intended recipient of the funds (written in hexadecimal). In fact, Line 14 is actually an expression in Bitcoins scripting language. Im not going to describe that language in detail in this post, the important thing to take away now is just that a7db6f... is the Bitcoin address.
You can now see, by the way, how Bitcoin addresses the question I swept under the rug in the last section: where do Bitcoin serial numbers come from? In fact, the role of the serial number is played by transaction hashes. In the transaction above, for example, the recipient is receiving 0.319 Bitcoins, which come out of the first output of an earlier transaction with hash 2007ae... (line 9). If you go and look in the block chain for that transaction, youd see that its output comes from a still earlier transaction. And so on.
There are two clever things about using transaction hashes instead of serial numbers. First, in Bitcoin theres not really any separate, persistent coins at all, just a long series of transactions in the block chain. Its a clever idea to realize that you dont need persistent coins, and can just get by with a ledger of transactions. Second, by operating in this way we remove the need for any central authority issuing serial numbers. Instead, the serial numbers can be self-generated, merely by hashing the transaction.
In fact, its possible to keep following the chain of transactions further back in history. Ultimately, this process must terminate. This can happen in one of two ways. The first possibilitty is that youll arrive at the very first Bitcoin transaction, contained in the so-called Genesis block. This is a special transaction, having no inputs, but a 50 Bitcoin output. In other words, this transaction establishes an initial money supply. The Genesis block is treated separately by Bitcoin clients, and I wont get into the details here, although its along similar lines to the transaction above. You can see the deserialized raw data here, and read about the Genesis block here.
The second possibility when you follow a chain of transactions back in time is that eventually youll arrive at a so-called coinbase transaction. With the exception of the Genesis block, every block of transactions in the block chain starts with a special coinbase transaction. This is the transaction rewarding the miner who validated that block of transactions. It uses a similar but not identical format to the transaction above. I wont go through the format in detail, but if you want to see an example, see here. You can read a little more about coinbase transactions here.
Something I havent been precise about above is what exactly is being signed by the digital signature in line 11. The obvious thing to do is for the payer to sign the whole transaction (apart from the transaction hash, which, of course, must be generated later). Currently, this is not what is done some pieces of the transaction are omitted. This makes some pieces of the transaction malleable, i.e., they can be changed later. However, this malleability does not include the amounts being paid out, senders and recipients, which cant be changed later. I must admit I havent dug down into the details here. I gather that this malleability is under discussion in the Bitcoin developer community, and there are efforts afoot to reduce or eliminate this malleability.
In the last section I described how a transaction with a single input and a single output works. In practice, its often extremely convenient to create Bitcoin transactions with multiple inputs or multiple outputs. Ill talk below about why this can be useful. But first lets take a look at the data from an actual transaction:
Lets go through the data, line by line. Its very similar to the single-input-single-output transaction, so Ill do this pretty quickly.
Line 1 contains the hash of the remainder of the transaction. This is used as an identifier for the transaction.
Line 2 tells us that this is a transaction in version 1 of the Bitcoin protocol.
Lines 3 and 4 tell us that the transaction has three inputs and two outputs, respectively.
Line 5 contains the lock_time. As in the single-input-single-output case this is set to 0, which means the transaction is finalized immediately.
Line 6 tells us the size of the transaction in bytes.
Lines 7 through 19 define a list of the inputs to the transaction. Each corresponds to an output from a previous Bitcoin transaction.
The first input is defined in lines 8 through 11.
In particular, lines 8 through 10 tell us that the input is to be taken from the n=0th output from the transaction with hash 3beabc.... Line 11 contains the signature, followed by a space, and then the public key of the person sending the bitcoins.
Lines 12 through 15 define the second input, with a similar format to lines 8 through 11. And lines 16 through 19 define the third input.
Lines 20 through 24 define a list containing the two outputs from the transaction.
The first output is defined in lines 21 and 22. Line 21 tells us the value of the output, 0.01068000 bitcoins. As before, line 22 is an expression in Bitcoins scripting language. The main thing to take away here is that the string e8c30622... is the Bitcoin address of the intended recipient of the funds.
The second output is defined lines 23 and 24, with a similar format to the first output.
See the original post:
How the Bitcoin protocol actually works | DDI
Posted in Bitcoin
Comments Off on How the Bitcoin protocol actually works | DDI
BTC Guild – Bitcoin Mining Pool
Posted: August 14, 2015 at 8:45 pm
BTC Guild will be shutting down its mining servers on June 30th, 2015 at 23:59 UTC. Users will still be able to log in and retrieve their history (CSV exports on the settings page) and request withdrawals until September 30, 2015. Why is BTC Guild Shutting Down? This is the second time BTC Guild has announced closure, but this time the decision will not be reversed. The reasons have not changed much since the original announcement.
As mining has become more centralized, BTC Guild has continuously shrunk in proportion to the network, now being less than 3% of the network hash rate. The costs of running the pool have not changed, and the amount of funds at risk in the event of a compromise is significantly higher than what the pool could ever recover from. When the pool was 20-30% of the network, the amount of funds at risk was slightly higher, but the ability for the pool to recover from that loss was present. At 3% of the network, the pool would not be able to recover from such a loss.
Additionally, the NYDFS BitLicense regulations have now become finalized, and the final regulations have enough gray area that BTC Guild is at risk. The fact that BTC Guild is not in New York does not matter, since it would be doing business with New York residents while they are physically in New York. This fact makes it possible for New York to attempt to claim jurisdiction to enforce regulations. Whether or not BTC Guild could win in defense of such an attempt is irrelevant, since the cost of defending the pool would be greater than any income the pool is expected to generate going forward.
Finally, I have been growing concerned for some time now about attempts to defraud pools. The pool's luck has been on a decline for over a year. The luck on a few other pools has also shown a negative trend. While it is not impossible that it's a coincidence, this is something I have been constantly made aware of and am helpless against. There is no way to know whether it's just bad luck, a small bug in older miners (BTC Guild probably has the highest percentage of first/second generation ASICs) resulting in a few % of block-solving shares to disappear, or a large pool trying to hurt the competition (many of the largest pools have large private mining operations now). It would only take a fraction (1 PH/s or less could do it) to cause significant harm to a competing pool, and that activity could be masked by proxies and multiple accounts to be impossible to catch.
The PPLNS shift length will be steadily reduced starting June 16th. This means that more shifts will likely end with 0 blocks, but shifts that find blocks will receive a larger amount than they would have previously. It is not recommended that users wait until the last minute to change pools.
The minimum balance for a manual withdrawal is reduced to 0.0001, and will not require a transaction fee to be paid in order to request the withdrawal.
Users will have until September 30, 2015 to issue the request for their final withdrawals.
The risk of users being cheated or stolen from as a result of transferring pool ownership is not something I am willing to accept. This is part of the reason the pool is closing in the first place: Risk of users losing funds because the pool would not be able to cover losses in the event of compromise.
I will not be entertaining offers on purchasing the pool this time around. There is no (reasonable) price the pool would be sold for.
Thank you to all the users and the Bitcoin community for making BTC Guild a success for the last four years. It has been hard to finally make this call a second time with the determination to not reverse the decision. You will still be able to find me around the Bitcoin Talk forums (outside of the Pools subsection for once), and on IRC in #btcguild (and probably #bitcoin once the pool winds down).
June 15, 2015
Go here to see the original:
BTC Guild - Bitcoin Mining Pool
Posted in Bitcoin
Comments Off on BTC Guild – Bitcoin Mining Pool
Bitcoin – Wikipedia bahasa Indonesia, ensiklopedia bebas
Posted: August 12, 2015 at 7:43 pm
Bitcoin adalah sebuah uang elektronik yang di buat pada tahun 2009 oleh Satoshi Nakamoto. Nama tersebut juga dikaitkan dengan perangkat lunak sumber terbuka yang dia rancang, dan juga menggunakan jaringan peer-ke-peer tanpa penyimpanan terpusat atau administrator tunggal dimana Departemen Keuangan Amerika Serikat menyebut bitcoin sebuah mata uang yang terdesentralisasi . Tidak seperti mata uang pada umumnya, bitcoin tidak tergantung dengan mempercayai penerbit utama. Bitcoin menggunakan sebuah database yang didistribusikan dan menyebar ke node-node dari sebuah jaringan P2P ke jurnal transaksi, dan menggunakan kriptografi untuk menyediakan fungsi-fungsi keamanan dasar, seperti memastikan bahwa bitcoin-bitcoin hanya dapat dihabiskan oleh orang memilikinya, dan tidak pernah boleh dilakukan lebih dari satu kali.
Desain dari Bitcoin memperbolehkan untuk kepemilikan tanpa identitas (anonymous) dan pemindahan kekayaan. Bitcoin - bitcoin dapat disimpan di komputer pribadi dalam sebuah format file wallet atau di simpan oleh sebuah servis wallet pihak ketiga, dan terlepas dari semua itu Bitcoin - bitcoin dapat di kirim lewat internet kepada siapapun yang mempunyai sebuah alamat Bitcoin. Topologi peer-to-peer bitcoin dan kurangnya administrasi tunggal membuatnya tidak mungkin untuk otoritas, pemerintahan apapun, untuk memanipulasi nilai dari bitcoin - bitcoin atau menyebabkan inflasi dengan memproduksi lebih banyak bitcoin.
Bitcoin adalah salah satu dari implementasi pertama dari yang disebut cryptocurrency, pertama kali di deskripsikan oleh Wei Dai pada tahun 1998 dalam milis cypherpunks.[7]
Bitcoin mengandalkan pada jumlah pemindahan di antara rekening publik menggunakan kriptografi kunci publik. Semua transaksi - transaksi terbuka untuk umum dan disimpan dalam sebuah database yang didistribusikan. Untuk mencegah pengeluaran-ganda, jaringan mengimplementasikan sebuah server waktu yang di distribusikan, menggunakan ide perantaian bukti dari kerja. Keseluruhan sejarah dari transaksi - transaksi telah di simpan dengan semestinya dalam database dan untuk mengurangi ukuran dari tempat penyimpanan, sebuah pohon Merkle digunakan.
Bitcoin adalah sebuah implentasi peer-to-peer dari proposal b-money oleh Wei Dai dan proposal Bitgold oleh Nick Szabo. Prinsip dari sistem secara umum telah di deskripsikan pada tahun 2008 oleh Satoshi Nakamoto.
Seseorang yang berpatisipasi di dalam jaringan bitcoin mempunyai sebuah wallet yang menyimpan beberapa keypair - keypair kritografi. Kunci publik - kunci publik, atau alamat -alamat bitcoin, yang bertindak sebagai tujuan akhir(endpoint) mengirim atau menerima untuk semua pembayaran. Kunci pribadi yang terkait hanya memperbolehkan pembayaran hanya dari user itu sendiri. Alamat - alamat tidak mengandung informasi apapun mengenai pemiliknya dan secara umum tidak diketahui.[8] Alamat - alamat dalam format yang dapat dibaca manusia terdiri dari angka - angka acak dan huruf - huruf yang panjangnya sekitar 33 karakter, dalam format 1rYK1YzEGa59pI314159KUF2Za4jAYYTd. Pengguna bitcoin dapat memiliki banyak alamat, dan faktanya dapat mengenerasi alamat baru tanpa batasan apa pun, karena membuat sebuah alamat baru adalah bersifat segera, sebanding dengan membuat sebuah umum/pribadi pasangan kunci baru, dan tidak membutuhkan hubungan dengan node - node apapun dalam jaringan. Dalam membuat tujuan-tunggal/penggunaan-tunggal alamat - alamat dapat membantu anonimitas user tersebut.[butuh rujukan]
Bitcoin - bitcoin mengandung kunci publik (alamat) sang pemilik yang sekarang. Ketika pengguna A mengirim suatu nilai ke pengguna B, A akan melepaskan nilai kepemilikan mereka dengan menambahkan kunci publik (alamat) B ke koin - koin tersebut dan menandatanganinya dengan kunci pribadi dia sendiri.[9] Kemudian dia akan menyiarkan bitcoin - bitcoin ini dalam sebuah pesan yang sesuai, atau disebut transaksi, di dalam jaringan peer-ke-peer. Sisa dari node - node jaringan menvalidasi tanda tangan kritografi dan jumlah dari transaksi sebelum menerimanya.
Transaksi apapun yang di siarkan ke node - node lainnya tidak secara langsung menjadi resmi sampai diakui dalam sebuah daftar-waktu yang telah dicap dari semua transaksi yang diketahui, yaitu disebut sebagai rantai blok. Pengakuan ini berasal dari sebuah sistem yang-diyakini-jalan untuk mencegah pengeluaran ganda dan pemalsuan.
Saat - saat tertentu, setiap node yang menghasilkan mengoleksi semua transaksi - transaksi tidak diakui yang mana diketahui dari dalam sebuah blok kandidat, sebuah file yang mana di antara lainnya[10], mengandung hash kriptografi dari blok-yang berlaku sebelumnya dan diketahui pula oleh node tersebut. Kemudian node itu mencoba untuk menghasilkan sebuah hash kriptografi dari blok itu dengan karakteristik tertentu, sebuah usaha yang membutuhkan sebuah nilai yang dapat diprediksi dari pengulangan percobaan dan kesalahan. Ketika sebuah node menemukan sebuah solusi, dia akan mengumumkannya ke semua jaringan. Anggota jaringan akan menerima blok baru yang telah di pecahkan dan mengvalidasikannya sebelum menerima, dan kemudian menambahkannya ke rantai.
Akhirnya, rantai-blok mengandung sejarah kriptografi kepemilikan dari semua koin - koin yang berasal dari alamat sang pembuat ke pemilik alamat yang sekarang.[11] Oleh karena itu, kalau seorang pengguna berusaha untuk menggunakan kembali koin-koin yang telah dia belanjakan, maka jaringan akan menolak transaksi tersebut.
Read the original here:
Bitcoin - Wikipedia bahasa Indonesia, ensiklopedia bebas
Posted in Bitcoin
Comments Off on Bitcoin – Wikipedia bahasa Indonesia, ensiklopedia bebas
Bitcoin Wiki
Posted: August 8, 2015 at 1:43 pm
Bitcoin
Bitcoin is a decentralized digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: transaction management and money issuance are carried out collectively by the network.
The original Bitcoin software by Satoshi Nakamoto was released under the MIT license. Most client software, derived or "from scratch", also use open source licensing.
Bitcoin is the first successful implementation of a distributed crypto-currency, described in part in 1998 by Wei Dai on the cypherpunks mailing list. Building upon the notion that money is any object, or any sort of record, accepted as payment for goods and services and repayment of debts in a given country or socio-economic context, Bitcoin is designed around the idea of using cryptography to control the creation and transfer of money, rather than relying on central authorities.
Languages needing translation work: AR ID MS BG CA CS DA ET EL EO EU FA GL KO HE HR KA LV LT HU NL JA NO NN PT SK SL SR SH FI SV TH VI TR UK
See more here:
Bitcoin Wiki
Posted in Bitcoin
Comments Off on Bitcoin Wiki
Bitcoin Wikipedia, wolna encyklopedia
Posted: at 1:43 pm
Bitcoin Kod ISO 4217 XBT, BTC uywane potocznie[1] Pastwo niezalena od kraju, ponadnarodowa Poziom inflacji prawdopodobny brak inflacji. Ustalenie sztywnego ograniczenia liczby na 21 mln sztuk wywiera presj deflacyjn[2] Podzia 100 000 000 satoshi = 1 bitcoin 1mBTC = 0,001BTC = 103BTC 1BTC = 0,000001BTC = 106BTC Symbol BTC, XBT[3], , [4] Bank centralny brak Mennica brak, zdecentralizowana, rozproszona
Bitcoin kryptowaluta, wprowadzona w 2009 roku przez osob (bd grup osb) o pseudonimie Satoshi Nakamoto[2]. Nazwa odnosi si take do uywajcego jej otwartordowego oprogramowania oraz sieci peer-to-peer, ktr formuje. Bitmonety mog zosta zapisane na komputerze osobistym w formie pliku portfela lub przetrzymywane w prowadzonym przez osoby trzecie zewntrznym serwisie zajmujcym si przechowywaniem takich portfeli. W kadym z tych przypadkw bitcoiny mog zosta przesane do innej osoby przez Internet do dowolnego posiadacza adresu bitcoin. Kady bitcoin dzieli si na 100000000 mniejszych jednostek, zwanych czasem satoshi.
Odmiennie ni w przypadku wikszoci walut, bitcoin nie opiera si na zaufaniu wzgldem emitenta centralnego. Bitcoin uywa zdecentralizowanej bazy danych, rozprowadzonej pomidzy wzami sieci peer-to-peer do przechowywania transakcji, oraz kryptografii w celu zapewnienia podstawowych funkcji bezpieczestwa, takich jak upewnienie si, e bitcoiny mog by wydane tylko raz przez osob, ktra je posiada w danym momencie.
Topologia peer-to-peer sieci bitcoin oraz brak administracji centralnej czyni manipulacj wartoci bitmonet poprzez produkcj wikszej ich iloci niewykonaln dla jakiejkolwiek rzdowej czy innej organizacji lub jednostki, nadal moliwa jest jednak baka spekulacyjna[5][6]. Budowa bitcoina pozwala na anonimowe posiadanie wasnoci oraz jej transfery.
Bitcoin jest jedn z pierwszych implementacji konceptu zwanego kryptowalut, pierwszy raz opisanego w 1998 r. przez Wei Daia na licie mailingowej cypherpunkw[7].
Bitcoin opiera si na transferze kwot midzy rachunkami publicznymi, przy uyciu kryptografii klucza publicznego. Wszystkie transakcje s publiczne i przechowywane w rozproszonej bazie danych. W celu zapobieenia podwjnemu wydawaniu, sie implementuje rodzaj rozproszonego serwera czasowego, uywajc koncepcji acuchowych dowodw matematycznych wykonanych dziaa (tzw. Proof of Work, w skrcie PoW). Dlatego te caa historia transakcji musi by przechowywana w bazie, a w celu ograniczenia rozmiaru magazynu uywane jest drzewo funkcji skrtu.
Bitcoin jest implementacj konceptu b-money autorstwa Wei Daia oraz Bitgold autorstwa Nicka Szabo, opart na sieci P2P. Zasady funkcjonowania systemu s opisane w specyfikacji technicznej stworzonej i opublikowanej w 2008 roku przez Satoshiego Nakamoto[2][8].
Kada osoba uczestniczca w sieci bitcoin ma portfel zawierajcy dowoln liczb par kluczy kryptograficznych. Klucze publiczne, zwane te adresami bitcoin, dziaaj jako miejsce rdowe oraz miejsce docelowe dla wszystkich patnoci. Odpowiadajce im prywatne klucze autoryzuj patnoci tylko dla posiadajcego je uytkownika. Adresy nie zawieraj adnej informacji na temat ich waciciela i s zazwyczaj anonimowe[9].
Adresy, w atwej do odczytania przez czowieka formie, s cigami tekstowymi, skadajcymi si z liczb i liter o dugoci okoo 34 znakw w formie zblionej do 1rYK1YzEGa59pI314159KUF2Za4jAYYTd. Rozpoczynaj si zawsze od liczby 1 lub 3, zawieraj wielkie i mae litery oraz cyfry alfabetu aciskiego z wykluczeniem: cyfry 0, wielkiej litery O, wielkiej litery I i maej litery l. Uytkownicy bitcoina mog posiada wiele adresw, a waciwie mog generowa nowe adresy bez adnych ogranicze, poniewa generowanie nowego adresu jest relatywnie natychmiastowe, rwne wygenerowaniu nowej pary kluczy prywatnego/publicznego oraz nie wymaga kontaktu z reszt sieci. Jest take wykorzystywany do jednoznacznej identyfikacji zapaty za towar poprzez tworzenie unikalnego adresu bitcoin dla kadej transakcji, poniewa obecnie sie nie dopuszcza tytuu przelewu znanego z tradycyjnych form przekazu. Tworzenie jednorazowych adresw wykorzystywanych do pojedynczego celu moe te pomc w zachowaniu anonimowoci uytkownika.
Bitmonety zawieraj klucz publiczny (adres) aktualnego posiadacza. Kiedy uytkownik A przetransferuje jak ilo do uytkownika B, A rezygnuje z ich posiadania, dodajc klucz publiczny (adres) B do tych monet oraz podpisujc je wasnym kluczem prywatnym[10]. Nastpnie ogasza wykonan przez siebie transakcj w komunikacie wysanym do sieci peer-to-peer. Reszta sieci sprawdza poprawno zastosowanych w transakcji podpisw cyfrowych oraz iloci monet przed jej zaakceptowaniem.
Posted in Bitcoin
Comments Off on Bitcoin Wikipedia, wolna encyklopedia
What is Bitcoin? (v1) – YouTube
Posted: August 6, 2015 at 12:42 pm
More information: https://www.weusecoins.com
Learn about Bitcoin. This short animated video is an introduction to Bitcoin made possible with donations of time and money from the Bitcoin community.
Follow us on Twitter: https://www.twitter.com/WeUseCoins Like us on Facebook: https://www.facebook.com/weusecoins
Want to see more? Please donate.
1CXiG6hZmMWUsr6sgF3Tx5nfKj1FN8
Special thanks to: - Donators for the Bitcoin Animated Movie Bounty - Bitcoin users and miners around the world - Everyone from #bitcoin-dev and #bitcoin-otc on Freenode for help with the technical side and history of Bitcoin - Gavin Andresen and Mike Hearn for reviewing the script - Greg, Steve, Dan and Jasmin who provided their professional help and insights for free - All of our friends, family and random strangers who took the time to read the script and provide feedback
Credits: Voice - Chris Rice (www.ricevoice.com) Motion Graphics - Fabian Rhle (fabianruehle.tumblr.com) Music/Sound Design - Christian Barth (www.akkord-arbeiter.de) Production - Stefan Thomas
Continued here:
What is Bitcoin? (v1) - YouTube
Posted in Bitcoin
Comments Off on What is Bitcoin? (v1) – YouTube
Bitcoin Price Technical Analysis for 3/8/2015 Whats …
Posted: August 5, 2015 at 3:42 pm
The weekend brought pain for Bitcoin, but that was always on the cards. My Fridays Bitcoin price technical analysis Palpable Strain concluded on a bearish note saying that a close below $286 could bring in further decline, and as can be seen, the cryptocurrency did slump intraday to $276.57 before taking support from near the previous consolidation level of $275.
Bitcoin is currently trading at $281.26.
Now, the important question that must concern the trading community is: Is this relief from the support level for real or is it a trap? This analysis will aim to provide some answers.
Image: https://www.tradingview.com/x/qpzvELmb/
Bitcoin Chart Structure The recent decline from $298 to $276 diminishes the probability of an immediate higher top. A careful observation of the above-presented daily BTC-USD price chart reveals that Bitcoin is in a descending triangle a bearish technical chart pattern which successfully matures 60-70% of the time. The Resistance has been marked by the downward sloping red line while the Support is horizontal.
Fibonacci Retracements As stated previously many times, the 38.2% Fibonacci retracement level of $280 did provide aninterim cushion to the Bitcoin. A decisive breach below this should set the next target at $268 the 50% retracement.
Moving Average Convergence Divergence The Histogram has sunk lower in the negative territory as MACD extends its slide. The latest values of Histogram, MACD and Signal Line are -2.3278, 3.9254 and 6.2531 respectively.
Momentum The Momentum indicator has a present value of -7.7500.
Money Flow Index As stated in theprevious analysis, the divergence between MFI and price has brought losses to Bitcoin. The MFI now reads 59.7792.
Follow this link:
Bitcoin Price Technical Analysis for 3/8/2015 Whats ...
Posted in Bitcoin
Comments Off on Bitcoin Price Technical Analysis for 3/8/2015 Whats …
Bitcoin Charts / Markets
Posted: July 12, 2015 at 2:43 pm
USD BitfinexbitfinexUSD 307.43 0 min ago 263.21 44.22 16.80% 837,424.47 220,420,718.58 USD 228.4 316.23 307.41 307.47 304.32 3.11 1.02% 60,827.47 18,511,241.80 USD 291.81 316.23 CNY BTC ChinabtcnCNY 1955.82 0 min ago 1602.13 353.69 22.08% 708,782.51 1,135,561,483.75 CNY 1420 2400 1953.92 1955.82 1915.48 40.34 2.11% 25,533.68 48,909,202.63 CNY 1865.01 1985 USD BitStampbitstampUSD 307.94 0 min ago 261.32 46.62 17.84% 344,441.94 90,010,764.85 USD 228.06 317.99 308.3 308.46 304.87 3.07 1.01% 21,952.49 6,692,563.24 USD 291.64 317.99 USD btcebtceUSD 288.333 1 day, 11 hrs ago 258.37 29.97 11.60% 207,214.04 53,537,465.98 USD 230.22 298.999 287.762 288.99 0.00 0.00 USD USD itBititbitUSD 305.52 14 min ago 261.04 44.48 17.04% 138,102.30 36,050,313.11 USD 228.22 313.5 305.24 305.89 301.38 4.14 1.37% 4,807.74 1,448,972.07 USD 290.7 313.5 EUR KrakenkrakenEUR 275.81428 1 min ago 232.70 43.12 18.53% 113,485.47 26,407,703.46 EUR 200.9 281.21811 274.92537 275.81428 271.98 3.83 1.41% 5,463.28 1,485,904.77 EUR 261.02188 281.21811 USD LakeBTC.comlakeUSD 276.15 6 days, 4 hrs ago 250.95 25.20 10.04% 77,248.24 19,385,204.48 USD 230.24 277.32 275.74 275.98 0.00 0.00 USD PLN BitcurexbitcurexPLN 1134.9197 just now 938.67 196.25 20.91% 30,516.82 28,645,147.15 PLN 837 1152.5 1134.9197 1139.9809 1124.93 9.99 0.89% 422.29 475,053.64 PLN 1090 1152.5 USD ANXanxhkUSD 307.55136 0 min ago 256.99 50.56 19.67% 25,136.20 6,459,867.69 USD 227.03607 315 305.16001 307.63619 300.88 6.67 2.22% 751.61 226,145.16 USD 291.88938 315 SGD ANXanxhkSGD 415.53356 0 min ago 346.35 69.19 19.98% 24,747.91 8,571,378.38 SGD 305.20755 425.59744 404.97512 421.79999 406.49 9.04 2.23% 751.50 305,477.93 SGD 394.27606 425.59744 CAD ANXanxhkCAD 389.28623 0 min ago 321.10 68.19 21.24% 24,746.21 7,945,978.29 CAD 279.6176 398.71442 380.46895 398.39329 380.92 8.37 2.20% 751.50 286,260.69 CAD 369.72724 398.71442 HKD ANXanxhkHKD 2383.92932 0 min ago 1993.46 390.47 19.59% 24,736.77 49,311,660.80 HKD 1760.20064 2441.66612 2363.85265 2411.93707 2332.06 51.87 2.22% 751.50 1,752,551.33 HKD 2262.55251 2441.66612 GBP ANXanxhkGBP 198.17195 0 min ago 164.72 33.45 20.31% 24,735.50 4,074,547.36 GBP 145.89497 202.97151 195.68966 200.34492 193.87 4.31 2.22% 751.50 145,691.43 GBP 188.08009 202.97151 AUD ANXanxhkAUD 413.08609 0 min ago 338.31 74.78 22.10% 24,733.83 8,367,636.07 AUD 293.55219 423.09069 402.63045 423.17944 404.12 8.97 2.22% 751.50 303,698.06 AUD 392.03286 423.09069 NZD ANXanxhkNZD 457.62747 0 min ago 378.21 79.41 21.00% 24,727.69 9,352,350.63 NZD 325.00143 468.71083 445.22676 469.7022 447.70 9.92 2.22% 751.50 336,450.38 NZD 434.32297 468.71083 EUR ANXanxhkEUR 275.61215 0 min ago 230.55 45.06 19.55% 24,723.67 5,700,054.87 EUR 202.31795 282.28725 274.25001 280.48974 269.63 5.98 2.22% 751.50 202,629.96 EUR 261.57668 282.28725 CNY ANXanxhkCNY 1903.83079 0 min ago 1591.69 312.14 19.61% 24,716.64 39,341,215.99 CNY 1406.36145 1949.94 1858.11909 1947.74991 1862.51 41.32 2.22% 751.50 1,399,685.97 CNY 1806.83224 1949.94 JPY ANXanxhkJPY 37749.6685 0 min ago 31595.28 6154.38 19.48% 24,701.40 780,447,902.53 JPY 27999.69103 38663.9343 35130.61702 35726.86131 36919.28 830.39 2.25% 751.50 27,744,967.93 JPY 35726.79727 38663.9343 USD hitbtchitbtcUSD 340.03 6 min ago 285.63 54.40 19.05% 22,369.28 6,389,387.68 USD 265.81 366.68 340 359.75 322.57 17.46 5.41% 262.19 84,574.13 USD 311.61 366.68 EUR bitcoin.debtcdeEUR 279.8 2 min ago 233.36 46.44 19.90% 17,628.35 4,113,829.05 EUR 190 400.56 278 279.8 275.67 4.13 1.50% 898.90 247,801.08 EUR 226.66 333.33 EUR itBititbitEUR 277 1 hr, 51 min ago 230.14 46.86 20.36% 16,361.69 3,765,430.89 EUR 203.99 277 275.01 276.88 264.62 12.38 4.68% 151.15 39,998.12 EUR 261.43 277 SGD itBititbitSGD 414.56 2 hrs ago 366.01 48.55 13.27% 13,576.43 4,969,087.84 SGD 305.94 414.56 404.64 412.46 404.59 9.97 2.46% 2,165.13 876,000.96 SGD 392.01 414.56 PLN BitBaybitbayPLN 1124 1 min ago 970.84 153.16 15.78% 12,429.33 12,066,890.97 PLN 840.01 1271.57 1124 1128 1113.92 10.08 0.91% 581.95 648,242.11 PLN 1075 1146.99 RUB btcebtceRUR 17370 1 min ago 14171.48 3198.52 22.57% 12,371.23 175,318,637.16 RUB 12225 20669 17370.00001 17490.1915 16948.54 421.46 2.49% 600.38 10,175,513.25 RUB 16301 17670 PLN BitMarket.plbitmarketplPLN 1119.99 4 min ago 983.56 136.43 13.87% 10,942.58 10,762,668.89 PLN 842.0001 1157 1119.99 1129.9999 1123.65 -3.66 -0.33% 676.38 760,015.17 PLN 1075 1157 CAD Canadian Virtual ExchangevirtexCAD 388.08 7 min ago 335.59 52.49 15.64% 9,868.22 3,311,663.99 CAD 281.51062 398.98869 388.08 388.58 384.01 4.07 1.06% 1,625.45 624,186.76 CAD 355 398.98869 GBP CoinfloorcoinfloorGBP 198.9 51 min ago 165.80 33.10 19.96% 9,076.62 1,504,911.97 GBP 148.25 204.73 198.2 199.32 199.21 -0.31 -0.16% 310.84 61,921.45 GBP 189.75 204.73 AUD btcmarketsbtcmarketsAUD 402.07 7 min ago 341.81 60.26 17.63% 8,075.92 2,760,445.98 AUD 7 424 401.52 404.48 398.79 3.28 0.82% 210.04 83,760.80 AUD 388.98 406 EUR hitbtchitbtcEUR 304.99 just now 267.05 37.94 14.21% 7,957.37 2,124,991.63 EUR 233.01 305 304 305 286.08 18.91 6.61% 1,297.58 371,213.54 EUR 275.26 305 EUR BitcurexbitcurexEUR 271.8894 just now 228.70 43.19 18.89% 7,447.48 1,703,239.13 EUR 202.0522 280.9073 271.8894 280.8279 271.49 0.40 0.15% 104.98 28,500.02 EUR 263.1955 280.9073 IDR bitcoin.co.idbtcoidIDR 4098900 0 min ago 3383537.96 715362.04 21.14% 5,378.97 18,199,942,145.21 IDR 3041500 4254000 4052100 4052200 4003249.87 95650.13 2.39% 274.77 1,099,971,937.89 IDR 3831000 4254000 LTC KrakenkrakenLTC 60.09234 0 min ago 56.41 3.68 6.53% 4,621.57 260,709.02 LTC 31.12245 130.5 60.09234 61.05314 60.46 -0.37 -0.61% 251.68 15,216.81 LTC 52.84352 73.29916 EUR btcebtceEUR 267.8 2 min ago 238.54 29.26 12.27% 3,468.85 827,443.61 EUR 200.5 275 268.10002 269.79999 268.99 -1.19 -0.44% 227.00 61,061.19 EUR 260.335 275 EUR The Rock Trading CompanyrockEUR 273.93 5 min ago 227.86 46.07 20.22% 3,027.64 689,886.51 EUR 201.42 280 273.94 275.81 270.40 3.53 1.31% 99.75 26,972.23 EUR 260.07 280 BRL Mercado BitcoinmrcdBRL 1000 0 min ago 820.99 179.01 21.81% 2,792.09 2,292,266.03 BRL 724.99998 1000 987.3548 1000 987.76 12.24 1.24% 51.54 50,906.76 BRL 970 1000 USD KrakenkrakenUSD 308 3 min ago 262.00 46.00 17.56% 1,668.88 437,252.36 USD 226.14462 316.01249 308.2825 308.7925 304.56 3.44 1.13% 163.56 49,814.69 USD 291.69255 316.01249 THB LocalBitcoinslocalbtcTHB 8790.91 5 days, 12 hrs ago 8450.56 340.35 4.03% 1,287.06 10,876,347.20 THB 6961.18 11082.38 10144.24 9148.19 0.00 0.00 THB USD bitKonanbitkonanUSD 232 2 days, 8 hrs ago 253.11 -21.11 -8.34% 579.67 146,719.38 USD 229.99 299.99 231.01 288 0.00 0.00 USD NZD bitNZbitnzNZD 441 40 min ago 384.86 56.14 14.59% 504.38 194,117.48 NZD 328 441 413 444.5 433.04 7.96 1.84% 5.48 2,373.52 NZD 412 441 ILS Bit2Cbit2cILS 1130 16 min ago 957.78 172.22 17.98% 474.42 454,394.11 ILS 850 1173 1125 1161.99 1136.91 -6.91 -0.61% 31.52 35,833.19 ILS 1050 1173 XRP KrakenkrakenXRP 35498.758 1 hr, 16 min ago 25845.00 9653.75 37.35% 356.35 9,209,854.62 XRP 20500.001 39000 36049.026 37151.357 35879.19 -380.44 -1.06% 18.98 680,964.51 XRP 33967.392 39000 NOK LocalBitcoinslocalbtcNOK 2317.3 5 days, 19 hrs ago 2040.27 277.03 13.58% 320.79 654,505.77 NOK 1737.58 2470.68 2970.41 2143.29 0.00 0.00 NOK USD CoinTradercotrUSD 314 1 hr, 44 min ago 249.88 64.12 25.66% 308.49 77,084.26 USD 224.76 314 311 313.62 306.53 7.47 2.44% 6.60 2,021.88 USD 295 314 PLN LocalBitcoinslocalbtcPLN 1108.89 5 days, 19 hrs ago 899.92 208.97 23.22% 287.98 259,154.17 PLN 760.97 1162.79 1171.19 1061.14 0.00 0.00 PLN SEK FYB-SEfybseSEK 2660 47 min ago 2250.99 409.01 18.17% 284.99 641,499.32 SEK 1911.88 2660 2582.64 2660 2582.35 77.65 3.01% 15.78 40,760.88 SEK 2531 2660 USD The Rock Trading CompanyrockUSD 295.68 2 hrs, 15 min ago 255.41 40.27 15.77% 272.18 69,516.93 USD 228.53 304 296.55 314.23 285.00 10.68 3.75% 5.40 1,539.02 USD 269.01 304 USD Camp BXcbxUSD 310 7 min ago 260.54 49.46 18.98% 226.47 59,004.39 USD 228.03 312.99 310 312.99 310.42 -0.42 -0.14% 8.59 2,666.14 USD 290.11 312.99 SGD FYB-SGfybsgSGD 429.99 2 hrs, 4 min ago 343.43 86.56 25.20% 218.96 75,198.90 SGD 250 429.99 410 419.99 404.32 25.67 6.35% 13.72 5,548.17 SGD 390 429.99 USD BitBaybitbayUSD 292.62 2 days, 4 hrs ago 427.41 -134.79 -31.54% 193.97 82,905.36 USD 237.9 4767 264.66 283.14 0.00 0.00 USD BRL LocalBitcoinslocalbtcBRL 900.01 5 days, 16 hrs ago 802.31 97.70 12.18% 189.59 152,108.52 BRL 721.89 1556.87 1049.87 895.08 0.00 0.00 BRL NMC KrakenkrakenNMC 322.9376 3 hrs, 18 min ago 379.56 -56.62 -14.92% 91.10 34,579.63 NMC 210 735.507 336.06956 352.42899 374.94 -52.00 -13.87% 6.69 2,507.36 NMC 308.182 419.43949 CZK LocalBitcoinslocalbtcCZK 6499.54 5 days, 21 hrs ago 5792.01 707.53 12.22% 80.10 463,942.36 CZK 5369.48 6899.41 7367.16 6631.37 0.00 0.00 CZK EUR BitBaybitbayEUR 235 6 days, 6 hrs ago 252.04 -17.04 -6.76% 30.60 7,713.51 EUR 214.75 699 237.01 494.99 0.00 0.00 EUR DKK LocalBitcoinslocalbtcDKK 2026.45 6 days, 2 hrs ago 1742.65 283.80 16.29% 25.45 44,347.36 DKK 1280.23 2026.45 1952.93 1823.51 0.00 0.00 DKK USD VircurexvcxUSD 359.9388104 2 hrs, 21 min ago 330.33 29.61 8.96% 16.38 5,411.21 USD 270 399 301.00082775 359.93881 341.06 18.88 5.54% 0.00 1.30 USD 301.000027 359.9388104 GBP IBWTibwtGBP 180 1 day, 23 hrs ago 154.38 25.62 16.59% 3.74 577.75 GBP 146 180 950 0.00 0.00 GBP USD IBWTibwtUSD 500 4 days, 18 hrs ago 0.85 499.15 58411.69% -11.99 -10.25 USD 1 500 1200 0.00 0.00 USD
The rest is here:
Bitcoin Charts / Markets
Posted in Bitcoin
Comments Off on Bitcoin Charts / Markets
What is Bitcoin? – Bitcoin, explained – Vox
Posted: July 9, 2015 at 3:42 am
Forgot password?
We'll email you a reset link.
If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.
We'll email it to you.
If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.
If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.
If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.
Choose an available username to complete sign up.
In order to provide our users with a better overall experience, we ask for more information from Facebook when using it to login so that we can learn more about our audience and provide you with the best possible experience. We do not store specific user data and the sharing of it is not required to login with Facebook.
Posted in Bitcoin
Comments Off on What is Bitcoin? – Bitcoin, explained – Vox
What is Bitcoin? Learn everything you need to know. What …
Posted: July 6, 2015 at 3:42 pm
Why Bitcoin Popular Opinion What is Bitcoin?
With the Bitcoin price so volatile everyone is curious. Bitcoin is extremely complicated and no one definition fully encapsulates it. By analogy it is like being able to send a gold coin via email. It is a consensus network that enables a new payment system and a completely digital money.
It is the first decentralized peer-to-peer payment network that is powered by its users with no central authority or middlemen. Bitcoin was the first practical implementation and is currently the most prominent triple entry bookkeeping system in existence.
The first Bitcoin specification and proof of concept was published in 2009 by an unknown individual under the pseudonym Satoshi Nakamoto who revealed little about himself and left the project in late 2010. The Bitcoin community has since grown exponentially.
Satoshi's anonymity often raises unjustified concerns because of a misunderstanding of the open-source nature of Bitcoin. Everyone has access to all of the source code all of the time and any developer can review or modify the software code. As such, the identity of Bitcoin's inventor is probably as relevant today as the identity of the person who invented paper.
Nobody owns the Bitcoin network much like no one owns the technology behind email or the Internet. Bitcoin transactions are verified by Bitcoin miners which has an entire industry and Bitcoin cloud mining options. While developers are improving the software they cannot force a change in the Bitcoin protocol because all users are free to choose what software and version they use.
In order to stay compatible with each other, all users need to use software complying with the same rules. Bitcoin can only work correctly with a complete consensus among all users. Therefore, all users and developers have a strong incentive to protect this consensus.
From a user perspective, Bitcoin is nothing more than a mobile app or computer program that provides a personal Bitcoin wallet and enables a user to send and receive bitcoins.
Behind the scenes, the Bitcoin network is sharing a massive public ledger called the "block chain". This ledger contains every transaction ever processed which enables a user's computer to verify the validity of each transaction. The authenticity of each transaction is protected by digital signatures corresponding to the sending addresses therefore allowing all users to have full control over sending bitcoins.
Thus, there is no fraud, no chargebacks and no identifying information that could be compromised resulting in identity theft. To learn more about Bitcoin, you can consult the original Bitcoin whitepaper, read through the extremely thorough Frequently Asked Questions, listen to a Bitcoin podcast or read the latest Bitcoin news.
The rest is here:
What is Bitcoin? Learn everything you need to know. What ...
Posted in Bitcoin
Comments Off on What is Bitcoin? Learn everything you need to know. What …