Dec 30, 2017

The bitcoin white paper (https://bitcoin.org/bitcoin.pdf)

Dec 22, 2017

Definitely a bubble.

Blockchain (aka programmable trust) is for sure a huge deal.

Think about the dot-com bubble. Nobody knows who is Amazon.com and who is Pets.com yet.

If you want to understand more the original whitepaper is suprisingly approachable, and a really good place to start: https://bitcoin.org/bitcoin.pdf

Dec 22, 2017

> The question is "which place to store your coins is riskier?"

Where did you get that idea from? Not from my OP, that's for sure:

> One of Bitcoin's selling points is that it's decentralized. By keeping coins in a cloud operated wallet that you don't fully control, you're willfully giving up control over your own wealth, and needlessly putting your coins at risk.

Please, do not misrepresent my views. I do not have much of an opinion on the security of wallets, because I know that unless you go cold storage, any other wallet approach is about as safe as the one in your back pocket.

You can't seem to stop injecting your own totally unrelated arguments and also seem to refuse to actually comprehend the complaint I aired in my OP.

The concern I raised was one of centralization. The Bitcoin white paper is pretty explicit when it comes to explaining its rationale, and in fact mentions negating centralization in the very first sentence of the abstract[0]:

> A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.

[0]https://bitcoin.org/bitcoin.pdf

So there's really no reason to continue to ignore what I am actually saying, because it's a valid concern that strikes at the core tenants of Bitcoin's intended use case. Your concern, on the other hand, is splitting hairs on a subject that does not at all address the actual, fundamental issue of using a Coinbase wallet. This has nothing to do with Coinbase the exchange, this is about the Coinbase service which offers wallets, to which they and only they control the private key.

Dec 21, 2017

Canonical source is of course https://bitcoin.org/bitcoin.pdf

Dec 19, 2017

>It’s not a currency. It’s digital gold.

Abstract: A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.

https://bitcoin.org/bitcoin.pdf

Dec 18, 2017

Read the whitepaper.

https://bitcoin.org/bitcoin.pdf

It's not a pro or con article, but it's the most cogent description of Bitcoin you'll find.

Dec 15, 2017

You fundamentally do not understand how bitcoin works. So let's talk about nodes and consensus as defined in the whitepaper and implemented in nodes. Let's start with the bitcoin white paper (https://bitcoin.org/bitcoin.pdf) :

> Satoshi from the Bitcoin white-paper chapter 12 'Conclusion' : The network is robust in its unstructured simplicity. _Nodes_ work all at once with little coordination. They do not need to be identified, since messages are not routed to any particular place and only need to be delivered on a best effort basis. _Nodes_ can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this _consensus mechanism_.

First, you have to understand what 'consensus' actually means :

> https://en.wikipedia.org/wiki/Consensus_%28computer_science%...

> A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database (or, for example, committing blocks to a blockchain), agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The real world applications include clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs, load balancing and others.

What does this mean if you are but an intrepid traveler amongst the erstwhile numpty-folk?

Nodes are agents in a multi-agent system with an agreed set of consensus rules (https://www.cryptocompare.com/coins/guides/how-does-a-bitcoi...), which they and they alone enforce, that ensure that the system functions. Transactions are propagated through the multi-agent network based upon the agreed consensus rules by nodes, which are agents in a multi-agent system. Miners retrieve valid transactions from any of these nodes, which are agents in a multi-agent system. They then order the transactions, and perform a hashing function on them until the hashing function returns a value that is suitable to the nodes, which are agents in a multi-agent system. They then pass the new block that they've created to the nodes, which are agents in a multi-agent system. The nodes, which are agents in a multi-agent system, then validate the block to ensure that each of the transactions within the block agree with the consensus rules. Then the node, which is an agent in a multi-agent system, extends the block-chain by attaching the new block to it. They then pass the new block, if it is valid, to other nodes, which are agents in a multi-agent system. Then each of these other nodes, which are agents in a multi-agent system, each do the same validation on every block.

Nodes accept incoming transactions and validate them. Miners don't. Nodes replicate transactions to other nodes. Miners don't. Miners take transactions from nodes, and order them in a block, and perform a hashing function on them (the only thing they do). Miners pass the new block to the node. The node validates the transactions in the block. Miners don't. The node validates the block. Miners don't. The node extends the blockchain. Miners don't. The node replicates the block to other nodes. Miners don't. It is the validation of the nodes, and their CPU's, that define and police consensus in bitcoin.

There is only one function that miners do. They take transactions, put them in a block, and hash them. As soon as a miner produces a block that nodes don't want, it is rejected. Miners work. Nodes validate. So nodes are the proof in proof-of-work.

Nodes accept the transactions, validate the transactions (using their CPU), replicate the transactions, maintain the mempools, validate the blocks (using their CPU), extend the blockchain (using their CPU), replicate the blocks, serve the blockchain, and store the blockchain. Nodes even define the PoW algorithm that miners have to employ. If you can't convince these node owners that are using their node on a day-to-day basis, to uninstall their node software and install your new node client, especially when that node client decreases their node security and decreases the network security, any change you have is going to go exactly nowhere.

So nodes maintain the protocol, not miners. It is thus. It has always been thus. If you can't convince all of those node owners running their node clients to uninstall one client and re-install another, any change you have to consensus is DOA.

See for yourself. Download it. (https://bitcoin.org/en/download) It's currently at 0.15.1

https://bitcoin.org/en/full-node

> A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.

Dec 12, 2017

Bitcoin is worth $17k because thats how much someone will pay for it.

Right now the blockchain space is in a clear bubble. A lot of people (many uninformed) see the price rise and don't want to miss out. This drives the price higher.

At some point there will be a correction. Nobody knows the timing or size. My guess would be that this will not happen until we see the failure of a major blockchain.

With that said blockchains are a remarkably powerful new tool and if they can be sensibly scaled they will be extremely impactful. Blockchains allow for the creation of self sustaining, trustless, autonomous marketplaces. A lot of intermediaries are about to be automated away by these protocols (think about platforms like Airbnb or Uber).

Some useful parallels can be drawn with the dot com bubble. A lot of valuations were totally unjustified, but you would have done very well if you bought and held Amazon stock in 1997 (66,600%).

A more interesting question is whether Bitcoin is the Amazon or MySpace of the blockchain revolution.

I have found the following resources to be very instructive:

- The original Bitcoin whitepaper: https://bitcoin.org/bitcoin.pdf

- Mastering Bitcoin: https://github.com/bitcoinbook/bitcoinbook

- The Ethereum wiki: https://github.com/ethereum/wiki/wiki

- The Bitcoin Core mailing list: https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-d...

Dec 12, 2017

>Just the articles I've read

I strongly recommend reading the Bitcoin white paper: https://bitcoin.org/bitcoin.pdf It is not as nearly as long and complicated as you would think, if you know the basics (what's a hash, how do public keys and digital signatures work). I found it way clearer than all the explanation articles I've seen on the internet.

Dec 08, 2017

The content is exactly the same:

> curl 'https://www.bitcoin.com/bitcoin.pdf' | md5

d56d71ecadf2137be09d8b1d35c6c042

> curl https://bitcoin.org/bitcoin.pdf | md5

d56d71ecadf2137be09d8b1d35c6c042

Of the two organizations, .org seems far more trustworthy.

https://www.bitcoin.com/about-us: "Please keep in mind that this is a commercial website"

https://bitcoin.org/en/about-us: "Bitcoin.org was originally registered and owned by Bitcoin's first two developers, Satoshi Nakamoto and Martti Malmi. When Nakamoto left the project, he gave ownership of the domain to additional people, separate from the Bitcoin developers, to spread responsibility and prevent any one person or group from easily gaining control over the Bitcoin project."

Dec 07, 2017

https://bitcoin.org/bitcoin.pdf

Dec 05, 2017

Henceforth be thy lesson :

So let's talk about nodes and consensus as defined in the whitepaper and implemented in nodes.

Let's start with the bitcoin white paper (https://bitcoin.org/bitcoin.pdf) :

> Satoshi from the Bitcoin white-paper chapter 12 'Conclusion' : The network is robust in its unstructured simplicity. Nodes work all at once with little coordination. They do not need to be identified, since messages are not routed to any particular place and only need to be delivered on a best effort basis. Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.

First, you have to understand what 'consensus' actually means :

> https://en.wikipedia.org/wiki/Consensus_%28computer_science%...

> A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database (or, for example, committing blocks to a blockchain), agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The real world applications include clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs, load balancing and others.

What does this mean if you are but an intrepid traveler amongst the erstwhile numpty-folk?

Nodes are agents in a multi-agent system with an agreed set of consensus rules (https://www.cryptocompare.com/coins/guides/how-does-a-bitcoi...), which they and they alone enforce, that ensure that the system functions. Transactions are propagated through the multi-agent network based upon the agreed consensus rules by nodes, which are agents in a multi-agent system. Miners retrieve valid transactions from any of these nodes, which are agents in a multi-agent system. They then order the transactions, and perform a hashing function on them until the hashing function returns a value that is suitable to the nodes, which are agents in a multi-agent system. They then pass the new block that they've created to the nodes, which are agents in a multi-agent system. The nodes, which are agents in a multi-agent system, then validate the block to ensure that each of the transactions within the block agree with the consensus rules. Then the node, which is an agent in a multi-agent system, extends the block-chain by attaching the new block to it. They then pass the new block, if it is valid, to other nodes, which are agents in a multi-agent system. Then each of these other nodes, which are agents in a multi-agent system, each do the same validation on every block.

Nodes accept incoming transactions and validate them. Miners don't. Nodes replicate transactions to other nodes. Miners don't. Miners take transactions from nodes, and order them in a block, and perform a hashing function on them (the only thing they do). Miners pass the new block to the node. The node validates the transactions in the block. Miners don't. The node validates the block. Miners don't. The node extends the blockchain. Miners don't. The node replicates the block to other nodes. Miners don't. It is the validation of the nodes, and their CPU's, that define and police consensus in bitcoin.

There is only one function that miners do. They take transactions, put them in a block, and hash them. As soon as a miner produces a block that nodes don't want, it is rejected. Miners work. Nodes validate. So nodes are the proof in proof-of-work.

Nodes accept the transactions, validate the transactions (using their CPU), replicate the transactions, maintain the mempools, validate the blocks (using their CPU), extend the blockchain (using their CPU), replicate the blocks, serve the blockchain, and store the blockchain. Nodes even define the PoW algorithm that miners have to employ. If you can't convince these node owners that are using their node on a day-to-day basis, to uninstall their node software and install your new node client, especially when that node client decreases their node security and decreases the network security, any change you have is going to go exactly nowhere.

So nodes maintain the protocol, not miners. It is thus. It has always been thus. If you can't convince all of those node owners running their node clients to uninstall one client and re-install another, any change you have to consensus is DOA.

See for yourself. Download it. (https://bitcoin.org/en/download) It's currently at 0.15.1

https://bitcoin.org/en/full-node

> A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.

Ya need to turn off that rbtc tap. It makes ya stoopid.

Thus endeth thy lesson.

Nov 19, 2017

> Bitcoin: Digital gold

Huh, I remember it being "Peer-to-Peer Electronic Cash".

https://bitcoin.org/bitcoin.pdf

Nov 09, 2017

I encourage you to read the Bitcoin white paper if you haven't.

https://bitcoin.org/bitcoin.pdf

I think you are a little off base in the original intentions. It was designed to solve a real problem, and its creator was likely someone who had a background in academia although we may never know for certain.

It is true that maybe a lot of the proponents today want to bring down central banks, but I think it's a little unfair to imply that that was the original intention.

Oct 07, 2017

The "mining faction" is just carrying out the governance model described in Satoshi's Bitcoin paper:

"The proof-of-work also solves the problem of determining representation in majority decision making. If the majority were based on one-IP-address-one-vote, it could be subverted by anyone able to allocate many IPs. Proof-of-work is essentially one-CPU-one-vote. The majority decision is represented by the longest chain, which has the greatest proof-of-work effort invested in it."

https://bitcoin.org/bitcoin.pdf

Just because one group of devs calls themselves the arbitrators of all things Bitcoin doesn't make it so.

Sep 18, 2017

> One important take away for me was that this project aims to replace paypal, not bitcoin. Its target is to establish an open source payment infrastructure that is better than paying with credit cards, paypal, etc...

Well actually if you read the initial paper from Satoshi Nakamoto, bitcoin was invented as a replacement for paypal, not money :

> Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payment [1]

But bitcoin became really popular among the libertarian movement which hated the Fed and other central banks because they saw them as threats to freedom, and now people mostly think about bitcoin as a replacement for money.

[1] : https://bitcoin.org/bitcoin.pdf

Sep 18, 2017

Although bitcoin aims to generate a block every 10 minutes, in practice it usually takes longer than that. As I'm writing this, the last block[0] took 30 minutes to mine (sometimes it spikes to hours though[1]). Most importantly, a transaction needs[2] to be confirmed 4-6 times[3] meaning it should be 4-6 blocks in the past, so you're looking at a 1-2 hour transaction time.

On top of that, if you want to pay less than a certain transaction fee[4] (right now it's $1.62[5]) you probably won't get into the next block, see https://bitcoinfees.github.io. Recall that 1 block = 20 minutes and add that on top of the confirmation time.

[0] https://blockchain.info/block/0000000000000000005f0e639f66af... look at the Timestamps of this block and the Previous Block

[1] https://blockchain.info/charts/avg-confirmation-time?timespa...

[2] https://youtu.be/bBC-nXj3Ng4?t=18m41s

[3] https://bitcoin.org/bitcoin.pdf page 8

[4] https://en.bitcoin.it/wiki/Transaction_fees

[5] https://bitcoinfees.21.co/ (a satoshi is 0.00000001 BTC, 10,000 satoshi is 40 cents right now)

https://www.gwern.net/Bitcoin-is-Worse-is-Better

Sep 05, 2017

I actually would very much appreciate that. I was just reading Nakamoto's whitepaper on Bitcoin [1] and I understand the hashing. However, the coinebase transaction is still a bit confusing to me. Specifically, to get at precisely this issue - what does the bitcoin itself consist of? It is just the summation of the history of transactions to and from an address? Or is there a numerical value or token that is actually issued during a coinbase transaction, and, if so, how is it generated? This is not apparent to me. I understand that during a coinbase transaction, there is a transaction registered that is issued to the miner and the 'from' address is null - but it is still not clear to me, other than the balance of that transaction, if there is an actual token associated with those coins.

Any explanation would be greatly appreciated!

[1] https://bitcoin.org/bitcoin.pdf

Aug 30, 2017

This article correctly shows that virtually none of the ideas underpinning Bitcoin are new. They can all be traced to the academic literature going back decades.

Cryptographic signatures and public-key cryptography, cryptographic hash functions, cryptographic proof-of-work, time-stamping, Merkle trees, chains of transactions blocks, Byzantine fault tolerance, smart contracts -- all of these ideas were old when Bitcoin was invented.

Satoshi Nakamoto's achievement lays in the complex, ingenious way in which he (or she, or they) combined these ideas into a new distributed algorithm.[1]

--

[1] For those who don't know, Satoshi Nakamoto's paper, "Bitcoin: A Peer-to-Peer Electronic Cash System" proposed the first known solution to the double-spending problem in a peer-to-peer network (i.e., without centralized control), with Byzantine fault tolerance (i.e., in a manner resistant to fraudulent nodes attempting to game the rules), via a clever application of cryptographic proof-of-work. The paper is available at https://bitcoin.org/bitcoin.pdf

Aug 25, 2017

The bitcoin whitepaper.

https://bitcoin.org/bitcoin.pdf

Aug 24, 2017

I would never call it my "all-time favorite" (no paper qualifies for that title in my book), but Satoshi Nakamoto's paper, "Bitcoin: A Peer-to-Peer Electronic Cash System" deserves a mention here, because it proposed the first-known solution to the double-spending problem in a masterless peer-to-peer network, with Byzantine fault tolerance (i.e., in a manner resistant to fraudulent nodes attempting to game the rules), via a clever application of proof-of-work:

https://bitcoin.org/bitcoin.pdf

Others in this thread have already mentioned papers or opinionated essays that quickly came to mind, including "Reflections on Trusting Trust" by Ken Thompson, "A Mathematical Theory of Communication" by Claude Shannon (incredibly well-written and easy-to-follow given the subject matter), and "Recursive Functions of Symbolic Expressions and Their Computation by Machine" by John McCarthy.

I would also mention "On Computable Numbers, with an Application to the Entscheidungsproblem" by Alan Turing, "On Formally Undecidable Propositions of Principia Mathematica And Related Systems" by Kurt Gödel, and "The Complexity of Theorem Proving Procedures" by Stephen Cook, but in my view these papers are 'unnecessarily' challenging or time-consuming to read, to the point that I think it's better to read textbooks (or popular works like "Gödel, Escher, and Bach" by Douglas Hofstadter) covering the same topics instead of the original papers. Still, these papers are foundational.

Finally, I think "The Mythical Man-Month" by Fred Brooks, and "Worse is Better" by Richard Gabriel merit inclusion here, given their influence.

This is by no means an exhaustive list. Many -- many -- other worthy papers will surely come to mind over the course of the day that I won't have a chance to mention here.

There are many other good recommendations elsewhere in this thread, including papers/essays I have not yet read :-)

Aug 24, 2017

"Bitcoin: A Peer-to-Peer Electronic Cash System" https://bitcoin.org/bitcoin.pdf

Aug 09, 2017

> Author is projecting. Replaced "me" with "people" in writing this. Considered himself smart; tried to wrap head around Bitcoin, but lacks math/cs/finance background, and or curiosity to dig below surface level hype... Doesn't 'get it'.

Yes, exactly my thoughts.

It's IMPOSSIBLE to understand HOW and WHY Bitcoin works without a baseline understanding of public-key cryptography, cryptographic hashing functions, key ideas of computational complexity, and algorithmic processes in distributed systems, particularly peer-to-peer networks.

In other words, to understand how and why Bitcoin works, one must first understand the key concepts underpinning Satoshi Nakamoto's groundbreaking paper: https://bitcoin.org/bitcoin.pdf

The general public, lacking the necessary education and knowledge to understand these things, has no choice but to use Bitcoin based on faith and experience.

Note that the general public doesn't understand government-issued money either, but they happily use it every day based on faith and experience. The same thing is happening with Bitcoin.

Jul 19, 2017

Does anyone have an opinion on the Blockchain.info wallet? This is, what they wrote:

"""Hello,

At this time Blockchain.info has no official stance on this debate. We are actively monitoring bitcoin network conditions and will work to minimize any potential impact to our users. In general, we follow the longest chain, as outlined in the white paper (https://bitcoin.org/bitcoin.pdf).

With that said you always have 100% control over your funds and private keys. Your wallet recovery phrase is compatible with any other BIP39/BIP44 wallet. So in essence no matter what happens you have control of these funds and can import them into any other wallet that our mnemonic/seed is compatible with. """

Jul 12, 2017

I still don't get it. As long as a reasonable majority of hashing power stays on one chain, there shouldn't be any symptoms except increased confirmation times.

The bitcoin.org page says:

> Do not trust any payments you receive after Tue Aug 01 2017 02:00:00 GMT+0200 (CEST) until the situation is resolved. No matter how many confirmations the new payment says it has, it can disappear from your wallet at any point up until the situation is resolved.

Which I don't understand, unless miners are actively trying to make this happen (by mining on two different chains with roughly the same hashing power). According to the paper[1], as long as at least 20% of the hashing power is honest, 11 confirmations should be final (in 99.9% of cases)

[1] https://bitcoin.org/bitcoin.pdf (page 8)

Jul 12, 2017

https://bitcoin.org/bitcoin.pdf makes it clear that Bitcoin is definitely a payment system, a distributed one. But it's not only a payment system, and using it like one right now is pretty dumb because of the absurdly high transaction fees, but high fees are entirely a temporary artifact as the system scales. (Edit: removed hostility.)

Jul 07, 2017

Original Bitcoin whitepaper: https://bitcoin.org/bitcoin.pdf

Semi-official Bitcoin wiki: https://en.bitcoin.it/wiki/Main_Page

Jun 28, 2017

The paper that started it all is still a good read: https://bitcoin.org/bitcoin.pdf

Jun 24, 2017

Bitcoin's method is detailed in Satoshi's classic paper:

https://bitcoin.org/bitcoin.pdf

Ethereum uses a variant of the GHOST algorithm, which was introduced in the paper Accelerating Bitcoin’s Transaction Processing: Fast Money Grows on Trees, Not Chains.

https://eprint.iacr.org/2013/881.pdf

The Ethereum white paper mentions how they modified it:

https://github.com/ethereum/wiki/wiki/White-Paper#modified-g...

Full detail is in their infamously difficult Yellow Paper:

https://github.com/ethereum/yellowpaper