The article comes from Zhihu: A simple explanation of Bitcoin Author: Wu Hao
Chapter Negative Feedback
Section 1 Risk Warning
Section 2 Abridged Version
Chapter 0 Toys
Chapter 1 Bill
Section 1 Tear-up Paper Game
Section 2 Bill Chain
Section 3 Game Rules
Fourth Quarter 21 million
Chapter 2 Payment
Section 1 Anonymous
Second node peer-to-peer
Section 3 Important Details
Chapter 3 Sofa --Summary and FAQ
Section 1 Subjective Assumptions
Section 2 Objective Facts
Section 3 Conclusion
The author added "Chapter Negative Chapter 2, Abridged Version" on 2013-11-22 and provided a source code:
function mine()
{
while(true)
{
longestChain = getLongestValidChain()
-- A number that changes every time, so that you don't waste time
-- trying to calculate a valid blockHash with the same input.
nonce = getNewNonce()
currentTXs = getUnconfirmedTransactionsFromNetwork()
newBlock = getNewBlock(longestChain, currentTX, nonce)
-- http://en.wikipedia.org/wiki/SHA-2
-- and this is what all the "mining machines" are doing.
blockHash = sha256(newBlock)
if(meetReqirements(blockHash))
{
broadcast(newBlock)
-- Now the height of the block chain is incremented by 1
-- (if the new block is accepted by other peers),
-- and all the TXs in the new block are "confirmed"
}
}
}
////////////////////////////////////////////////////// ///////////////
function sendBTC(amount)
{
sourceTXs = pickConfirmedTransactionsToBeSpent(amount)
tx = generateTX(sourceTXs, targetAddrs, amount, fee)
signedTx = sign(tx, privateKeysOfAllInputAddress)
broadcast(signedTx)
}
////////////////////////////////////////////////////// ///////////////
Although there is no analysis now, please wait for the author's update.
----Updated at 2013-12-10 13:16---
It is a pity that the author's reply was: "I have no intention to continue writing."
The article comes from Zhihu: A simple explanation of Bitcoin Author: Wu Hao
The author added "Chapter Negative Chapter 2, Abridged Version" on 2013-11-22 and provided a source code:
Although there is no analysis now, please wait for the author's update.
----Updated at 2013-12-10 13:16---
It is a pity that the author's reply was: "I have no intention to continue writing."
The MAIN function is in bitcoinGUI.cpp or bitcoind.cpp. Check DOC/BUILD-WIN.MD for compilation methods