9 ms·
Bitcoin Developer Guide
- deweller 12y agoMastering Bitcoin is another resource that explains the bitcoin protocol in detail. http://chimera.labs.oreilly.com/books/1234000001802/index.html http://chimera.labs.oreilly.com/books/1234000001802/index.ht... It is available to read online for free.
- Transisto 12y ago... on github.
- smaps 12y agoIs this a new thing? I haven't seen a comprehensive list like this for bitcoin tech specs before, and I do follow bitcoin waaaaaay too much. Seems like this will be a very useful thing with more people starting to use bitcoin!
- dollaaron 12y agoI think it's been around for a while, but has been updated/revamped significantly since the last time I saw it.
- jasonisalive 12y agoI was just reading this. Excellent resource, probably the first time I feel I am starting to grasp how all the different pieces of Bitcoin fit together. There's also: https://bitcoin.org/en/developer-reference https://bitcoin.org/en/developer-reference - though I'm not quite sure how the two relate.
- wdewind 12y agoCan someone who has a better understanding of BTC than me explain something? How do the escrow-like instruments and other contractual instruments built on top of the block chain work? How are they better than existing contractual instruments? How do you guarantee that something that is contractually agreed upon for money (ie: I will transfer you a file, upon me sending the file your funds will be released to me) actually happens? Or am I fundamentally missing something? Edit: thanks all for replies, learned a lot.
- chatmasta 12y agoThe innovative technology of the blockchain is decentralized, provable consensus. As long as all nodes control less than 51% of mining power, the content of the blockchain at any given time represents the consensus of all nodes on the network. If a multi-party transaction exists on the blockchain, then by definition of it existing, all relevant parties have verified its authenticity. Bitcoin exposes "scripting" of the blockchain to enable decentralized consensus for arbitrary transaction types. With scripting, developers can leverage the blockchain to store a decentralized consensus of their custom transaction types. Often times this is how escrow-like services are implemented. It's also possible to modify the proof of work scheme itself (as we did with torcoin, albeit in theory only thusfar.) The extensible part of Bitcoin is the blockchain, which is useful because it's a decentralized, publicly verifiable, mathematically provable consensus.
- wdewind 12y agoThank you. From your sibling comment below: > Bitcoin doesn't actually solve the problem of needing trust it does solve the problem of needing to trust your escrow agent with your money but then again if you don't trust your escrow agent with your money why do you trust them to make a fair decision. So I'm still confused here. What new kind of contracts could I build using the blockchain? What existing contracts are made easier because of the blockchain?
- deleted 12y ago[deleted]
- bdamm 12y agoHere's one scenario. Two people want to exchange funds for service or goods. As usual, the seller wants to know that the funds will be available when the goods are delivered. Both people hire an escrow representative (similar to how houses are sold today) and all four create a transaction that binds the buyer's money into a contract; if any two of the remaining parties either enter complete or exit the transaction, then the money is either disbursed to the seller and service providers, or the money is returned to the buyer. This way, the buyer's money is bound into the contract and the seller can determine this to be the case before releasing their product or service. The escrow representatives are trust companies and can see for themselves whether the transaction is progressing as promised or not due to their connections with the buyer/seller and with each other.
- apo 12y agoHere's another helpful resource: http://enetium.com/resources/Bitcoin.pdf http://enetium.com/resources/Bitcoin.pdf
- deleted 12y ago[deleted]
- apo 12y agoThere are a few ways around this, depending on the use. The owner of a wallet only cares about transactions relevant to the wallet. From the beginning, Bitcoin has had a method called Simplified Payment Verification (SPV) that uses block headers and only those transactions needed for the wallet to work: https://bitcoin.org/en/developer-guide#simplified-payment-verification-spv https://bitcoin.org/en/developer-guide#simplified-payment-ve... This is also described in Satoshi's original white paper: https://bitcoin.org/bitcoin.pdf https://bitcoin.org/bitcoin.pdf This takes advantage of the fact that a block header uses the Merkle root for the transaction set: https://www.youtube.com/watch?v=gUwXCt1qkBU https://www.youtube.com/watch?v=gUwXCt1qkBU For nodes and miners, efforts to "prune" the block chain have been underway for some time: https://en.bitcoin.it/wiki/Scalability#Storage https://en.bitcoin.it/wiki/Scalability#Storage
- seanalltogether 12y agoI'm curious how the whole system will scale as the number of transactions increase. Does it take longer and longer for nodes to verify transactions as the blockchain grows?
- haakon 12y agoThere is one transaction block issued every 10 minutes. It can be no larger than 1 MB in size. Miners typically prioritise transactions with higher transaction fees. When block space becomes scarce, transactions with low or no fee will have to wait in line longer. The current plan seems to be to start increasing the block size limit by 50% per year in order to allow higher transaction volume. Block size limit has always been a contentious issue.
- smaps 12y ago>There is one transaction block issued every 10 minutes. Just to clarify for anyone new to bitcoin... blocks aren't "issued" every 10 minutes exactly. On average there is a new block found every 10 minutes (or so).
- nkuttler 12y agoThere are various ideas for the future. See this https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2 https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2 for example.
- macns 12y agoActually the blockchain's size is now over 20GB. Almost a year ago I remember it about 13GB!
- sanswork 12y agoThe slow growth at the moment is because there is almost no transaction volume. If we scale bitcoin up to Visas transaction levels for 2013 we're looking at 60gigs per day in growth.
- swalsh 12y ago"It then sends the 80-byte block header to its mining hardware (an ASIC) along with a target threshold (difficulty setting)." I've always wondered, would it be possible to make the difficulty setting dynamically determined based on some econometric derived from the bitcoin chain? (such as if you see the economies velocity slowing down, perhaps you lower the threshold) or the opposite. If it was, that may be one way to stabilize the prices, at least of the currency itself.
- smaps 12y agoI think it's possible to do that, though that wouldn't really be Bitcoin anymore. If the difficulty were fluctuating with the same amount of computing power out there, the block time would be changing a lot. This would make for different amounts of bitcoins being released rather than the (fairly) predictable current schedule.
- swalsh 12y ago"This would make for different amounts of bitcoins being released rather than the (fairly) predictable current schedule." This is kind of the point. A predictable release of new bitcoins into the economy has no basis in good economics.
- patcon 12y agoThe main point of blocks is not to release bitcoins -- it's to timestamp and "lock in" blocks of transactions. You want to vary the reward or fees of you do anything here :)
- tbrownaw 12y agoIf you were going to go that route, it would make far more sense to play with the block reward amounts (because they're kept too low to do anything). But, the bitcoin people have philosophical reasons to avoid that.
- wmf 12y agoThe purpose of difficulty is to keep the block time around 10 minutes; if you use it to perform some other function then you'd end up with unpredictable block times. I think setting the block reward to a function of difficulty would stabilize a cryptocurrency[1], but that very stability would probably lead to failure if the resulting exchange rate and difficulty are very low. [1] https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/ https://blog.ethereum.org/2014/11/11/search-stable-cryptocur...
- whitten 12y agoDoes anyone here know how the http://ai-coin.org http://ai-coin.org site ties into this info from bitcoin.org ?