์ง๋ 8ํธ์์ ๋นํธ์ฝ์ธ ์ฑ๊ตด ์ต์ข ๋ณด์ ์์ ์ ๋ํ์ฌ ํฌ์คํ ์ ์งํํ์์ต๋๋ค.
ํฌ์คํ ์ ๋ด์ฉ์ ๋ํ์ฌ @piljae๋๊ป์ ์ด๋ฐ ์ง๋ฌธ์ ํด์ฃผ์ จ์ต๋๋ค. "๊ทธ๋ผ ๋ง์ด๋๋ 6confirm์ด ์ง๋์ผ ์ฝ์ธ๋ฒ ์ด์ค ๊ฑฐ๋๋ผ๋ ๊ฑธ ํตํด์ ๋ณด์์ ๋ฐ๊ฒ ๋๋ ๊ฑด๊ฐ์?" ๊ทธ๋ฆฌ๊ณ @seungjae1012๋๊ป์ "์ ๋ ์ด๋ฏธ์๋์ ๊ดด๋กญํ๊ณ ์ถ์ด์. ๊ถ๊ธํ๊ฒ ์๋๋ฐ์. ๋ธ๋ก ๋ณด์์ ๋ฐ๋ ๊ณผ์ ์ด ์ด๋ป๊ฒ๋๋์..? ๊ทธ๋ฅ ์ฑ๊ตด์๊ฐ ๋์ค์ "๋ 80000๋ธ๋ก ์บค์, 12.5BTC ์์ก ์ฌ๋ฆผ" ์ด๋ผ๊ณ ์ ํํ๋ฉด ์น์ธ ๋ด์ฃผ๋ ๊ตฌ์กฐ์ธ๊ฐ์? ๊ทธ๋ฆฌ๊ณ ์ฝ์ธ ์ผ๋ จ๋ฒํธ๋ ์ด๋ป๊ฒ ๋ฐํํ์ฌ ์๊ธฐ๋ ๊ฒ์ธ์ง.. ๊ถ๊ธํฉ๋๋ค :)"์ด๋ฌํ ์ง๋ฌธ์ ํด์ฃผ์ จ์ต๋๋ค.
๋๋ถ์ ์ ๋ณด๋ค ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ๊ณผ ๋นํธ์ฝ์ธ์ ๋ํ ์ดํด๋๊ฐ ํจ์ฌ ๋์ผ์ ๋ถ์ธ๊ฒ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๊ฐ ์ดํดํ์ง ๋ชปํ๊ฑฐ๋ ์กฐ๊ธ ๋ ํ์ธํด๋ด์ผ ํ๋ ๋ฐฉํฅ์ฑ์ ๋ํด ์๋ ค์ฃผ๋ ๊ทธ๋ฐ ๋๋์ ์ง์ธ์๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ๋ ๋ถ์ ์ง๋ฌธ์ ๋ํ ๋ต์ ๋๋ฆฌ๊ณ ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ถ๋ถ์ ์ฌ๋ฌ๋ถ๋ค์๊ฒ๋ ํฐ ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค!
์ด๋๊ฐ์ง ๊ณ์ํด์ ๋ฐ์ํ๋ ์๋ฌธ์ ์ ์ฝ๊ฐ์ ์ค๋ง๋ฆฌ๋ฅผ ์ก์ ๊ธฐ๋ถ์ ๋๋ค. ๋นํธ์ฝ์ธ์ ์ค์ ํต์ ๊ธฐ๊ตฌ๊ฐ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋๊ฐ ๋นํธ์ฝ์ธ์ ๋ฐํํ์ฌ ์ฃผ๋๊ฑด์ง ๋๋ฌด๋๋ ๊ถ๊ธ ํ์ง ์๋์?
๋นํธ์ฝ์ธ์ ๋ฐํ์ ์ฑ๊ตด์๊ฐ ์ค์ค๋ก ํ๋ค.
๋ธ๋ก์๋ ํฌ๊ฒ ๋ธ๋กํค๋์, ๋ธ๋ก๋ฐ๋ ์ ๋ณด๋ก ๊ตฌ์ฑ๋๋ค๊ณ ์ค๋ช ํด๋๋ ธ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ธ๋ก ๋ฐ๋์๋ ๋ค์์ ๊ฑฐ๋๋ด์ฉ์ด ํฌํจ๋๊ณ ์๋ค๊ณ ์ค๋ช ํด๋๋ ธ์ต๋๋ค. ์ด๋ ์ฑ๊ตด์(๋ง์ด๋)๋ ๋ธ๋ก๋ฐ๋์ ์ฒซ ๋ฒ์งธ ๊ฑฐ๋ ๋ด์ญ์ ์์ ์ด ๋ณด์๋ฐ์ ๋นํธ์ฝ์ธ์ ์๋๊ณผ ํด๋น ๋ธ๋ก์ ๊ฑฐ๋ ์์๋ฃ์ ํฉ์ ์์ฑํ๊ฒ๋ฉ๋๋ค.
์ฆ ์์ ์ด ๋ง๋ ๋ธ๋ก์ ์ฒซ๋ฒ์งธ ๊ฑฐ๋๋ด์ญ์ ์์ ์ด ๋ณด์๋ฐ์ ๋ด์ฉ์ ๊ธฐ์ ํจ์ผ๋ก์จ ์ ํ ๋ณด์์ ๋ฐ๊ฒ๋๊ณ ์ด๋ฌํ ํ๋์ด ๋นํธ์ฝ์ธ์ ์๋กญ๊ฒ ๋ฐํํ๋ ํ์๊ฐ ๋ฉ๋๋ค.
์ฐ์ ์์ด์ค๋ ฅ์ด ๋ฏธ์ฒํ์ง๋ผ ์ฌ๋ฌ๋ถ๋ค๋ ํด๋น ๋ด์ฉ์ ์ง์ ํ์ธํ์ผ๋ฉด ํ๋ ๋ง์์ ๋นํธ์ฝ์ธ ์ํค์ ์๋ ์๋ฃ๋ฅผ ๊ณต์ ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. (https://en.bitcoin.it/wiki/Transaction#general_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin)
Generations have a single input, and this input has a "coinbase" parameter instead of a scriptSig. The data in "coinbase" can be anything; it isn't used. Bitcoin puts the current compact-format targetand the arbitrary-precision "extraNonce" number there, which increments every time the Nonce field in the block header overflows. Outputs can be anything, but Bitcoin creates one exactly like an IP address transaction. The extranonce contributes to enlarge the domain for the proof of work function. Miners can easily modify nonce (4byte), timestamp and extranonce (2 to 100bytes).
The input sufficiently describes where and how to get the bitcoin amout to be redeemed. If it is the (only) input of the first transaction of a block, it is called the generation transaction input and its content completely ignored. (Historically the Previous Transaction hash is 0 and the Previous Txout-index is -1.)
The output sets the conditions to release this bitcoin amount later. The sum of the output values of the first transaction is the value of the mined bitcoins for the block plus possible transactions fees of the other transactions in the block.
๋ต ๋นํธ์ฝ์ธ ๋ฐํ์๊ฒฐ๊ตญ ์ฑ๊ตด์(๋ง์ด๋)๊ฐ ์ค์ค๋ก ์ผ๋งํผ์ ๋นํธ์ฝ์ธ์ ์ง๊ธ๋ฐ์์ง์ ๋ํด์ ๊ธฐ์ ํจ์ผ๋ก์จ ๋นํธ์ฝ์ธ์ผ ๋ฐํ๋๋๊ฒ๋๋ค.
์ต์ด์ ๋นํธ์ฝ์ธ ๋ฐํ๋์ 50BTC์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์น๋ 210,000๋ธ๋ก(์ฝ 4๋ )๋ง๋ค ๋ณด์์ด ์ ๋ฐ์ฉ ์ค์ด๋ค๊ฒ ์ค๊ณ๋์ด ์์ต๋๋ค. ํ์ฌ์๋ 12.5BTC์ ๋ธ๋ก์ ํฌํจ๋ ๊ฑฐ๋ ์์๋ฃ๋ฅผ ๋ณด์์ผ๋ก ์ง๊ธ๋ฐ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ์ ๊ฐ๋ ์ด ์์น๋ 0์ด๋๋ฉฐ, ๋ธ๋ก์ ์์ฑํ ๋๊ฐ์ ๋ณด์์ ํด๋น ๋ธ๋ก์ ๊ฑฐ๋ ์์๋ฃ๋ง ์ง๊ธ์ ๋ฐ๊ฒ๋ฉ๋๋ค.
(์ด๊ฑด ์ ๋ํผ์ ์ ๋๋ค๋ง.. ๋ธ๋ก์ ์์ฑํ์ฌ ๋ณด์๋ฐ๋ ๋น์ฉ์ด ๋ธ๋ก์ ์์ฑํ๊ธฐ ์ํด ํฌ์๋๋ ๋น์ฉ๋ณด๋ค ๋์์ผ์ง๋ง ๋นํธ์ฝ์ธ ์์คํ ์ด ๊ณ์์ ์ผ๋ก ์์ ํ๊ฒ ๋์๊ฐ ๊ฒ ๊ฐ์ต๋๋ค. )
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ถํ์๋ ๋นํธ์ฝ์ธ์ ์ฑ๊ตดํ๋ ๋์ด๋๊ฐ ํ์ ํ ๋ฎ์์ ธ์ ์ฑ๊ตด์ ๋ํ ๋น์ฉ์ด ์ค์ด๋ค๊ฒ ํ๊ฑฐ๋ ํน์ ๋นํธ์ฝ์ธ์ ๊ฑฐ๋ ์์๋ฃ๋ฅผ ๋์ฌ ๋ณด์์ด ๋ง์์ง๋ ๋ฐฉํฅ์ผ๋ก ์งํ๋์ง ์์๊น ์ถ์ต๋๋ค.
๊ทธ๋ผ ๋นํธ์ฝ์ธ ๋ฐํ๋์ด ์ค์ด๋๋ ์๊ธฐ๋ ์ ํํ ์ธ์ ์ผ๊น์? ์๋์ ์ฌ์ดํธ์ ์ ์ํ๋ฉด ๋นํธ์ฝ์ธ ๋ฐํฅ๋์ด ์ค์ด๋๋ ์๊ธฐ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
(http://www.bitcoinblockhalf.com/)
์ ๋ง ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ๊ณผ ๊ฐ์ํํ์ ๋ํ ์ฌ์ดํธ๋ค์ด ์์ฒญ๋๊ฒ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค. ์ธ์ ๋ค ๊ณต๋ถํ์ง.. ์ด๋ฏธ์๋ฌด๋ฅต..
์ ๋นํธ์ฝ์ธ์ ๋ฐ์ ์ ์๋ ์๋๊ณผ ๊ท์น์ ๋ํ ์ค๋ช ์ด ๋๋ฌ์ต๋๋ค. ์ด์ ์ฑ๊ตด์ ๋ํ ๋ณด์์ ์ด๋ ์์ ์์ ๋ฐ๋์ง ๋ช ํํ๊ฒ ํ์ตํด์ผ ํฉ๋๋ค. ์ฐ์ ์ฑ๊ตด์๊ฐ ๋ธ๋ก๋ฐ๋์ ์ฒซ๋ฒ์งธ ๊ฑฐ๋ ์ ์์ ์ด ๋ณด์ ๋ฐ์ ๋นํธ์ฝ์ธ์ ๋ํ ์๋์ ๊ธฐ์ ํ์์ผ๋ก ํด๋น ๋ธ๋ก์ ๊ฑฐ๋๊ฐ ์์ ํ ๋๋๋ ์์ ์ด ๋ธ๋ก์ ๋ณด์ ๋ฐ๋ ์์ ์ด์ง ์์๊น? ๋ผ๋ ์๋ฌธ์ ์์ ๊ฑฐ๋๊ฐ ๋๋๋ ์์ ์ด ์ธ์ ์ธ์ง ๋ช ํํ๊ฒ ์๋ฃ์กฐ์ฌ๋ฅผ ์์ํ์์ต๋๋ค.
์ฐ์ ๋นํธ์ฝ์ธ ์ํค(Confirmation)์์ ์ด์ผ๊ธฐํ๋ Confirmation์ ์๋์ ๊ฐ์ต๋๋ค.
After a transaction is broadcast to the Bitcoin network, it may be included in a block that is published to the network. When that happens it is said that the transaction has been mined at a depth of 1 block. With each subsequent block that is found, the number of blocks deep is increased by one. To be secure against double spending, a transaction should not be considered as confirmed until it is a certain number of blocks deep.
์์ ๋ด์ฉ์ ์กฐ๊ธ ์ฝ๊ฒ ์ค๋ช ํด๋ณด๋ฉด ์ด์ค์ง์ถ์ ๋ง๊ธฐ ์ํด์๋ ์์ ์ ๊ฑฐ๋๊ฐ ํฌํจ๋ ๋ธ๋ก ๋ค๋ก ์ผ์ ์์ ๋ธ๋ก์ด ์ฐ๊ฒฐ๋ ๋ ๊น์ง ๊ฑฐ๋๊ฐ ๋๋ฌ๋ค๊ณ ๊ฐ์ฃผํ๋ฉด ์๋๋ค๋ ๋ด์ฉ์ ๋๋ค. ์ง๋ ํฌ์คํ 8ํธ์์ '์คํ ์ผ ๋ธ๋ก'์ ๋ํ ์ค๋ช ๊ณผ ์ด์ด์ง๋ ๋ถ๋ถ์ ๋๋ค. ๋์์ ์๋ก์ด '๋ธ๋ก'์ด ์์ฑ๋์ด ๋ ธ๋์ ์ฐ๊ฒฐ๋๊ณ ์ผ์ ํ ์์ ๋ธ๋ก์ด ์ด์ด์ง์ง ์์ผ๋ฉด '์คํ ์ผ ๋ธ๋ก'์ด ๋ฐ์ํ ์ฐ๋ ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋๊ฐ ๋๋ฌ๋ค๊ณ ํ๋จํ๋ฉด ์๋๋ค๋ ๋ด์ฉ์ธ๊ฒ ๊ฐ์ต๋๋ค.
The classic bitcoin client will show a transaction as "n/unconfirmed" until the transaction is 6 blocks deep. Merchants and exchanges who accept bitcoins as payment can and should set their own threshold as to how many blocks are required until funds are considered confirmed. When potential loss due to double spending as nominal, as with very inexpensive or non-fungible items, people may choose not to wait for a transaction to be confirmed, and complete the exchange as soon as it is seen on the network. Most exchanges and other merchants who bear the risk from double spending require 6 or more blocks.
There is nothing special about the default, often-cited figure of 6 blocks. It was chosen based on the assumption that an attacker is unlikely to amass more than 10% of the hashrate, and that a negligible risk of less than 0.1% is acceptable. Both these figures are arbitrary, however; 6 blocks are overkill for casual attackers, and at the same time powerless against more dedicated attackers with much more than 10% hashrate.[1]
์ด์ค ์ง์ถ์ ๋ง๊ธฐ ์ํด์๋ ๊ธฐ๋ณธ์ ์ธ ์์น๋ 6๊ฐ ์ด์์ ๋ธ๋ก์ด ํ์ํ๋ค๊ณ ํฉ๋๋ค. ๊ณต๊ฒฉ์๊ฐ 10%๊ฐ ๋๋ ํด์๋ ์ดํธ๋ฅผ ๋ณด์ ํ๊ณ ์์๋ 6๊ฐ์ ๋
ธ๋๋ ๋ฌด๋ ฅํ ๋ ์ ์๊ธฐ ๋๋ฌธ์ 6๊ฐ์ ๋ธ๋ก ๋ํ ์๋ฒฝํ ์์น๋ ์๋๋ผ๊ณ ํฉ๋๋ค.
Freshly-mined coins cannot be spent for 100 blocks. It is advisable to wait some additional time for a better chance that the transaction will be propagated by all nodes. Some older bitcoin clients won't show generated coins as confirmed until they are 120 blocks deep.
์๋กญ๊ฒ ๋ง๋ค์ด์ง ์ฝ์ธ์ 100 ๋ธ๋ก๊น์ง ์ธ ์ ๊ฐ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋๋ ๋นํธ์ฝ์ธ ํด๋ผ์ด์ธํธ๋ 120 ๋ธ๋ก์ด ์ด์ด์ง๋๊น์ง ์๋ก์ด ์ฝ์ธ์ ๋ณด์ฌ์ฃผ์ง ์๋๋ค๊ณ ํฉ๋๋ค.
์ ๋ฆฌ๋ฅผ ์กฐ๊ธํด๋ณด๋ฉด...
์ฆ ์ฑ๊ตด์ ๋ํ '๋ณด์'์ 100 ~ 120 ๋ธ๋ก์ด ์ง๋์ผ์ง ์จ์ ํ ๋ณด์์ ๋ฐ์ ์ ์๋๊ฒ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก 6๋ธ๋ก ์ดํ๋ผ๋ ๋ด์ฉ์ ๊ฑฐ๋๊ฐ ์จ์ ํ ๋๋ฌ์์ ์๋ฏธํ๋ ์ผ๋ฐ์ ์ธ ์์น๋ก ์ฌ์ฉ๋๊ณ ์์์ต๋๋ค. ํ์ง๋ง ์ด ๋ํ ๋์ ํด์์จ์ ๊ฐ์ง ๊ณต๊ฒฉ์์์ํด์ ๋ฌด๋์ง ์ ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ถฉ๋ถํ ๋ธ๋ก์๋ฅผ ํ์ธํ ํ ๊ฑฐ๋๊ฐ ์์ ํ ์ด๋ฃจ์ด์ก๋ค๊ณ ํ๋จํด์ผ ํ๋ค๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ .. ์ ๋ง ๋๋ฌผ๋๊ฒ ๋ฒ์ญ๊ธฐ์ ๊ณ ํต์ ๋ฐ๊ณ ์๋ค๊ฐ ๋ฌธ๋ ํ๊ธ๋ก๋ ๋นํธ์ฝ์ธ ๋ฐฑ์๊ฐ ์์๊น? ํ๊ณ ์ฐพ๋ ์ค... ๋๋ฌผ์ด๋๋ค์ ์์์ด์.. (http://s.kwma.kr/pdf/BitCloud/bitcloudwpkor_p43.pdf)
์ ๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฌ์ ์ง์์ด 0์ด๊ธฐ ๋๋ฌธ์ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๋ํ ํ์ต๊ณผ ๋๋ถ์ด ๋นํธ์ฝ์ธ์ ๋ํด์ ์์๋ณด๋ ๊ณผ์ ์ ๊ต์ฅํ ๊ตฌ๋ฉ์ด ๋ง์ต๋๋ค. ์์ ๋ด์ฉ๋ ํ์ตํ ๋ด์ฉ์ ํ ๋๋ก ์ต๋ํ ์ ๋ฆฌํ๊ณ ์ ๋ฆฌํ์ฌ ๊ณต์ ํด ๋๋ฆฌ๋ ๋ด์ฉ์ ๋๋ค๋ง... ๊ตฌ๋ฉ์ด ์์ ์ ์์ต๋๋ค.
์ด๋ฒ ํฌ์คํ ์ด ๋ ์ง๋ฌธ์ ๋ํ ๋ช ์พํ ๋ต์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ง๋ง ๋ถ์กฑํ ์ ์ด ์๋ค๋ฉด ๋ ๋๊ธ๋ก ์ํตํ๊ณ ๊ฐ์ด ๋ฐ์ ํ ์ ์๋ ์๊ฐ์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค ^^;
[์ฐธ๊ณ ์๋ฃ]
https://en.wikipedia.org/wiki/Bitcoin#Mining
https://en.bitcoin.it/wiki/Confirmation
https://en.bitcoin.it/wiki/Irreversible_Transactions
https://bitcoin.org/bitcoin.pdf