密碼學/加密貨幣原理

467 回覆
844 Like 6 Dislike
2017-07-28 20:40:42
再度留名
底褲超人啲文要消化下

你係邊個
2017-07-28 21:41:30
lm
2017-07-29 01:09:19
幾時出第三章
2017-07-29 01:43:14
留名學野
2017-07-29 01:45:35
有689 個 likes
2017-07-29 02:22:41
留名學野
2017-07-29 14:47:50
push
2017-07-29 14:50:56
lm
2017-07-29 16:39:38
Chapter 3 blockchain and mining overview

----第一節:blockchain


上面係一幅簡化左既blockchain圖
最左邊,即係創世block (genesis block)
佢起呢個世界既第一塊block, 成條chain既盡頭,所以叫佢做level 0
所有其他block都會間接或直接咁指住佢

隨左創世block之外
其他block既結構都一樣,包含兩樣野:上個block既hashvalue, 一大堆交易紀錄
例如block A咁,佢包含住上個block既hash value, 即係hash(創世block)
指住block A既block C都有同樣結構, 佢儲住hash(Block A)
最後仲有個pointer指住block C
大家就係靠指住block C既pointer去搵番曬成條chain出黎
hash value起呢個情況下就好似一個地址,我拎住一個block既hash, 就知道起memory邊度搵番佢出黎

運用番chapter 1既知識
hash value既作用係幫你檢查檔案有無被修改過
起blockchain既世界,hash value係用黎檢查一個block有無比人改過

例如,有條契弟想起創世block入面加一條交易,憑空創造100個bitcoin入佢戶口
佢就咁改創世block係唔會成功既,因為多左一條交易之後,創世block既hash value就會唔同左
但係呢個時候block A仲記住創世block舊既hash value, 所以block A會搵唔到創世block
咁條chain就斷左

圖解上面講既野

原本創世block入面得一條記錄,就係中本聰有50蚊
而且hash(創世block)=111
所以block A就記住左創世block係111


契弟自己老屈左100蚊比自己
但係因為佢改左創世block既數據
創世block既hash value都跟住變左,let say 222
但係block A仍然以為創世block 起111,所以條chain會斷左。

咁契弟就會諗到,「咁我改埋Block A咪得lor,將block A儲住既111改做222,得左!」
無錯,改完創世block同block A之後,睇落去係成功左。
但係唔好唔記得仲有Block C指住block A

當契弟改左block A儲住既創世block 地址
block A自己既hash value都會跟住改左
所以而家Block C就會指唔到Block A

如此類推,如果block C後面仲有block既話,咁契弟就要一直改落去
一直改曬成條chain,先可以成功起創世block度加到100蚊比自己

起bitcoin既世界入面你想改曬成條chain係無可能既
因為每一部掘緊bitcoin既server都有齊曬成條blockchain(200GB左右)起度
呢個世界閒閒地一百幾廿萬部機掘緊
隨非契弟能力一次過改曬幾百萬部機既成條blockchain啦
如果唔係,寫左落blockchain既野就無可能修改到
2017-07-29 16:40:39
----第二節:mining

bitcoin network入面有好多礦工
礦工其實係一部server
做既野就係收集唔同人提交既transaction, 然後砌成一個block, 再attach上去而家條chain既尾

例如你發起一個bitcoin transaction, 想捐錢比我
咁你個bitcoin wallet software就會就街同人講:呢個連登仔想比1 bitcoin underpants呀
wallet係知道呢個世界有咩礦工起度,礦工收到一個交易之後又會話比佢既礦工朋友知
所以好快呢個交易就會傳播到去所有礦工,等待加入下一個block

但係網絡世界係有latency, 即係話呢個transaction可能會先去到香港礦工手上
然後香港礦工話比日本礦工知,再行多幾步先去到美國礦工度
呢個世界一秒鐘有咁多單交易,每一個礦工收到交易個時間都唔一樣
礦工做野通常都係first come first serve
(通常,not always, 遲D會講到咩情況下唔係first come first serve)
美國礦工可能隔左十幾秒先收到你個transaction
如果起佢收到呢個交易之前,佢已經儲夠一個block可以裝既交易數量
咁佢會暫時儲起呢個交易,等佢mine完而家呢個block,有機會先擺你既交易入下一個block

我想帶出既重點係:個個礦工掘緊既block,所裝住既交易可能係唔一樣

咁你就會問喇:點定邊個礦工有權建議下一個block儲住咩交易?
就係鬥快計數既時候喇
條數就係
SHA256(x,交易1,交易2,...,交易n) < target
形象化一D就係
SHA256("x,Alice pay Bob 1BTC,Bob pay Carol 2BTC") < 00F0000000000000000000000000000000000000000000000000000000000000

礦工試下x = 0000001
就符合唔到上面條不等式
SHA256("0000001,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = D2CEEE02829CE041B3D1F2D836F863086D50C8CE97E3A8BA2C5549681AFFCB57
大過target,所以唔得

於是礦工繼續試,試下x=0000002
SHA256("0000002,Alice pay Bob 1BTC,Bob pay Carol 2BTC") =
9DCBDB0052C041078B3B92C14EE8C869BA70FA22D642511496E3D079BBC9528E
都係唔得

於是礦工繼續試,試下x=0000003
唔得...再試x=0000004
唔得...再試

直到
x=00000016
SHA256A("00000016,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = 005ADB8E16B8A4BAC6D69601A091E70A3A7C4A823B62C12C2E9099F0AA939133 真係細過
00F0000000000000000000000000000000000000000000000000000000000000
bingo!!!!!

礦工卒之搵到一個x,砌埋落去其他transaction度,hash出黎個結果係細過target
佢立即會同全世既礦工講:我搵到啦!!!!
其他礦工就會檢查下佢計條數有無問題
同埋檢查一下呢個block包含既交易有無問題
都無問題既話,其他礦工就會接受左呢個block, 儲落自己database度
又會檢查一下自己既transaction pool, 睇下有無D交易係已經比人地mine左,咁自己就可以拎走果D交易

起上面個例子入面,個target其實好大,係兩個0字頭
現實上既target係好細好細
例如00000000000000000F0000000000000000000000000000000000000000000000
17個0字頭

target前面既0越多就即係越高難度
呢個target係所有礦工一齊傾出黎既
目標係要維持係大約10分鐘之內就要搵一個新block
如果忽然之間好多人加入做礦工,令到創造新block時間跌到落8分鐘
咁大家就會同意提升難度,例如將target由17個0字頭變成20個0字頭
如果好多礦工做到無癮,唔玩既話,令到創造新block既時間延長至12分鐘
咁大家會同意降低難度到ley say 10個0字頭

常見問題:
如果同時有兩個礦工搵到兩個唔同block既hash value細過target
又同時同其他礦工講,咁點算?
四個字:先到先得


好似上面幅圖咁
創世block出現之後
有兩個礦工一齊搵到下一個block, 一個係block A一個係block B
B同A一樣都係level 1既block
因為佢地都係直接指住創世block

所有先接收到block A既礦工,會基於block A既結果繼續mine下一個block
所有先接收到block B既礦工,會基於block B既結果繼續mine下一個block

例如呢個世界有70%礦工收到block A, 30%收到block B
斷估70%既礦工,會比30%既礦工做野快
所以好可能70%既礦工好快就搵到block C (which is based on block A)
呢個時候base on block B做野既礦工就可以收皮
因為blockchain既世界係淨係睇最長果條chain

你可以質疑,咁可能block A同block B既coverage係50/50呢
的確係有咁既可能
會唔會兩邊既server次次都一齊mine到
咁咪會變左兩條chain
A-C-E-G-I...
B-D-F-H-J...
實際上呢個可能性係非常非常之低
大多數既孤兒chain最多都係去到兩三個block
幾乎無一條孤兒chain可以去到六個block

所以bitcoin界有個defacto既標準:
longest blockchain 6個level之前既transaction可視為confirmed
2017-07-29 17:42:46
巴打講得好簡單易明
2017-07-29 18:05:41
----第二節:mining

bitcoin network入面有好多礦工
礦工其實係一部server
做既野就係收集唔同人提交既transaction, 然後砌成一個block, 再attach上去而家條chain既尾

例如你發起一個bitcoin transaction, 想捐錢比我
咁你個bitcoin wallet software就會就街同人講:呢個連登仔想比1 bitcoin underpants呀
wallet係知道呢個世界有咩礦工起度,礦工收到一個交易之後又會話比佢既礦工朋友知
所以好快呢個交易就會傳播到去所有礦工,等待加入下一個block

但係網絡世界係有latency, 即係話呢個transaction可能會先去到香港礦工手上
然後香港礦工話比日本礦工知,再行多幾步先去到美國礦工度
呢個世界一秒鐘有咁多單交易,每一個礦工收到交易個時間都唔一樣
礦工做野通常都係first come first serve
(通常,not always, 遲D會講到咩情況下唔係first come first serve)
美國礦工可能隔左十幾秒先收到你個transaction
如果起佢收到呢個交易之前,佢已經儲夠一個block可以裝既交易數量
咁佢會暫時儲起呢個交易,等佢mine完而家呢個block,有機會先擺你既交易入下一個block

我想帶出既重點係:個個礦工掘緊既block,所裝住既交易可能係唔一樣

咁你就會問喇:點定邊個礦工有權建議下一個block儲住咩交易?
就係鬥快計數既時候喇
條數就係
SHA256(x,交易1,交易2,...,交易n) < target
形象化一D就係
SHA256("x,Alice pay Bob 1BTC,Bob pay Carol 2BTC") < 00F0000000000000000000000000000000000000000000000000000000000000

礦工試下x = 0000001
就符合唔到上面條不等式
SHA256("0000001,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = D2CEEE02829CE041B3D1F2D836F863086D50C8CE97E3A8BA2C5549681AFFCB57
大過target,所以唔得

於是礦工繼續試,試下x=0000002
SHA256("0000002,Alice pay Bob 1BTC,Bob pay Carol 2BTC") =
9DCBDB0052C041078B3B92C14EE8C869BA70FA22D642511496E3D079BBC9528E
都係唔得

於是礦工繼續試,試下x=0000003
唔得...再試x=0000004
唔得...再試

直到
x=00000016
SHA256A("00000016,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = 005ADB8E16B8A4BAC6D69601A091E70A3A7C4A823B62C12C2E9099F0AA939133 真係細過
00F0000000000000000000000000000000000000000000000000000000000000
bingo!!!!!

礦工卒之搵到一個x,砌埋落去其他transaction度,hash出黎個結果係細過target
佢立即會同全世既礦工講:我搵到啦!!!!
其他礦工就會檢查下佢計條數有無問題
同埋檢查一下呢個block包含既交易有無問題
都無問題既話,其他礦工就會接受左呢個block, 儲落自己database度
又會檢查一下自己既transaction pool, 睇下有無D交易係已經比人地mine左,咁自己就可以拎走果D交易

起上面個例子入面,個target其實好大,係兩個0字頭
現實上既target係好細好細
例如00000000000000000F0000000000000000000000000000000000000000000000
17個0字頭

target前面既0越多就即係越高難度
呢個target係所有礦工一齊傾出黎既
目標係要維持係大約10分鐘之內就要搵一個新block
如果忽然之間好多人加入做礦工,令到創造新block時間跌到落8分鐘
咁大家就會同意提升難度,例如將target由17個0字頭變成20個0字頭
如果好多礦工做到無癮,唔玩既話,令到創造新block既時間延長至12分鐘
咁大家會同意降低難度到ley say 10個0字頭

常見問題:
如果同時有兩個礦工搵到兩個唔同block既hash value細過target
又同時同其他礦工講,咁點算?
四個字:先到先得


好似上面幅圖咁
創世block出現之後
有兩個礦工一齊搵到下一個block, 一個係block A一個係block B
B同A一樣都係level 1既block
因為佢地都係直接指住創世block

所有先接收到block A既礦工,會基於block A既結果繼續mine下一個block
所有先接收到block B既礦工,會基於block B既結果繼續mine下一個block

例如呢個世界有70%礦工收到block A, 30%收到block B
斷估70%既礦工,會比30%既礦工做野快
所以好可能70%既礦工好快就搵到block C (which is based on block A)
呢個時候base on block B做野既礦工就可以收皮
因為blockchain既世界係淨係睇最長果條chain

你可以質疑,咁可能block A同block B既coverage係50/50呢
的確係有咁既可能
會唔會兩邊既server次次都一齊mine到
咁咪會變左兩條chain
A-C-E-G-I...
B-D-F-H-J...
實際上呢個可能性係非常非常之低
大多數既孤兒chain最多都係去到兩三個block
幾乎無一條孤兒chain可以去到六個block

所以bitcoin界有個defacto既標準:
longest blockchain 6個level之前既transaction可視為confirmed

30%唔夠人快 條chain 唔夠人長,之後會點?
2017-07-29 18:10:12
----第二節:mining

bitcoin network入面有好多礦工
礦工其實係一部server
做既野就係收集唔同人提交既transaction, 然後砌成一個block, 再attach上去而家條chain既尾

例如你發起一個bitcoin transaction, 想捐錢比我
咁你個bitcoin wallet software就會就街同人講:呢個連登仔想比1 bitcoin underpants呀
wallet係知道呢個世界有咩礦工起度,礦工收到一個交易之後又會話比佢既礦工朋友知
所以好快呢個交易就會傳播到去所有礦工,等待加入下一個block

但係網絡世界係有latency, 即係話呢個transaction可能會先去到香港礦工手上
然後香港礦工話比日本礦工知,再行多幾步先去到美國礦工度
呢個世界一秒鐘有咁多單交易,每一個礦工收到交易個時間都唔一樣
礦工做野通常都係first come first serve
(通常,not always, 遲D會講到咩情況下唔係first come first serve)
美國礦工可能隔左十幾秒先收到你個transaction
如果起佢收到呢個交易之前,佢已經儲夠一個block可以裝既交易數量
咁佢會暫時儲起呢個交易,等佢mine完而家呢個block,有機會先擺你既交易入下一個block

我想帶出既重點係:個個礦工掘緊既block,所裝住既交易可能係唔一樣

咁你就會問喇:點定邊個礦工有權建議下一個block儲住咩交易?
就係鬥快計數既時候喇
條數就係
SHA256(x,交易1,交易2,...,交易n) < target
形象化一D就係
SHA256("x,Alice pay Bob 1BTC,Bob pay Carol 2BTC") < 00F0000000000000000000000000000000000000000000000000000000000000

礦工試下x = 0000001
就符合唔到上面條不等式
SHA256("0000001,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = D2CEEE02829CE041B3D1F2D836F863086D50C8CE97E3A8BA2C5549681AFFCB57
大過target,所以唔得

於是礦工繼續試,試下x=0000002
SHA256("0000002,Alice pay Bob 1BTC,Bob pay Carol 2BTC") =
9DCBDB0052C041078B3B92C14EE8C869BA70FA22D642511496E3D079BBC9528E
都係唔得

於是礦工繼續試,試下x=0000003
唔得...再試x=0000004
唔得...再試

直到
x=00000016
SHA256A("00000016,Alice pay Bob 1BTC,Bob pay Carol 2BTC") = 005ADB8E16B8A4BAC6D69601A091E70A3A7C4A823B62C12C2E9099F0AA939133 真係細過
00F0000000000000000000000000000000000000000000000000000000000000
bingo!!!!!

礦工卒之搵到一個x,砌埋落去其他transaction度,hash出黎個結果係細過target
佢立即會同全世既礦工講:我搵到啦!!!!
其他礦工就會檢查下佢計條數有無問題
同埋檢查一下呢個block包含既交易有無問題
都無問題既話,其他礦工就會接受左呢個block, 儲落自己database度
又會檢查一下自己既transaction pool, 睇下有無D交易係已經比人地mine左,咁自己就可以拎走果D交易

起上面個例子入面,個target其實好大,係兩個0字頭
現實上既target係好細好細
例如00000000000000000F0000000000000000000000000000000000000000000000
17個0字頭

target前面既0越多就即係越高難度
呢個target係所有礦工一齊傾出黎既
目標係要維持係大約10分鐘之內就要搵一個新block
如果忽然之間好多人加入做礦工,令到創造新block時間跌到落8分鐘
咁大家就會同意提升難度,例如將target由17個0字頭變成20個0字頭
如果好多礦工做到無癮,唔玩既話,令到創造新block既時間延長至12分鐘
咁大家會同意降低難度到ley say 10個0字頭

常見問題:
如果同時有兩個礦工搵到兩個唔同block既hash value細過target
又同時同其他礦工講,咁點算?
四個字:先到先得


好似上面幅圖咁
創世block出現之後
有兩個礦工一齊搵到下一個block, 一個係block A一個係block B
B同A一樣都係level 1既block
因為佢地都係直接指住創世block

所有先接收到block A既礦工,會基於block A既結果繼續mine下一個block
所有先接收到block B既礦工,會基於block B既結果繼續mine下一個block

例如呢個世界有70%礦工收到block A, 30%收到block B
斷估70%既礦工,會比30%既礦工做野快
所以好可能70%既礦工好快就搵到block C (which is based on block A)
呢個時候base on block B做野既礦工就可以收皮
因為blockchain既世界係淨係睇最長果條chain

你可以質疑,咁可能block A同block B既coverage係50/50呢
的確係有咁既可能
會唔會兩邊既server次次都一齊mine到
咁咪會變左兩條chain
A-C-E-G-I...
B-D-F-H-J...
實際上呢個可能性係非常非常之低
大多數既孤兒chain最多都係去到兩三個block
幾乎無一條孤兒chain可以去到六個block

所以bitcoin界有個defacto既標準:
longest blockchain 6個level之前既transaction可視為confirmed

30%唔夠人快 條chain 唔夠人長,之後會點?

變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數
2017-07-29 19:12:42
清楚易明 加油巴打
2017-07-29 21:57:26


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢
2017-07-29 22:16:37


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現
2017-07-29 22:18:52
留名
2017-07-29 22:33:34
留名
2017-07-29 22:35:52


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現

咁對於用家而言
姐係我起碼要等多6條BLOCK係尾先叫CONFIRM左個交易
咁收錢個個係呢段時間咪有RISK?
2017-07-29 22:46:22


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現

咁對於用家而言
姐係我起碼要等多6條BLOCK係尾先叫CONFIRM左個交易
咁收錢個個係呢段時間咪有RISK?

咁即係可以用個time lag 黎搵錢 食差價
2017-07-29 23:17:24


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現

咁對於用家而言
姐係我起碼要等多6條BLOCK係尾先叫CONFIRM左個交易
咁收錢個個係呢段時間咪有RISK?

咁即係可以用個time lag 黎搵錢 食差價

一般交易例如買咖啡既話
就梗係唔會等6個confirmation
小小錢就講個信字啦,就好似你比左10蚊紙人地
收錢果個都唔會下下檢查你果張係咪真銀紙

而且一旦你send左個交易出去
要出cheat reverse個交易都唔係咁易
如果你識寫programme,又有足夠hash power既話 可以試下發動double spend attack

我諗緊...可能下個chapter就講下各種出cheat既手法

但係如果係同exchange交易
例如兌換bitcoin做法定貨幣
就會跟足D真係等足6個conformations, 有時甚至更長既時間
先肯換錢比你
2017-07-30 01:32:27


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現

咁對於用家而言
姐係我起碼要等多6條BLOCK係尾先叫CONFIRM左個交易
咁收錢個個係呢段時間咪有RISK?

咁即係可以用個time lag 黎搵錢 食差價

一般交易例如買咖啡既話
就梗係唔會等6個confirmation
小小錢就講個信字啦,就好似你比左10蚊紙人地
收錢果個都唔會下下檢查你果張係咪真銀紙

而且一旦你send左個交易出去
要出cheat reverse個交易都唔係咁易
如果你識寫programme,又有足夠hash power既話 可以試下發動double spend attack

我諗緊...可能下個chapter就講下各種出cheat既手法

但係如果係同exchange交易
例如兌換bitcoin做法定貨幣
就會跟足D真係等足6個conformations, 有時甚至更長既時間
先肯換錢比你

呢樣野真係會LIMIT左呢種電子貨幣
改善到既話 潛力真係可以大好多
2017-07-30 09:26:51


變孤兒仔
唔會有人理佢
入面儲左既交易都唔算數
要起longest blockchain上面搵到既交易先算數


咁咪有交易冇咗?

我都諗緊
而家兩條linked list
A list 有10 個block
B list 有9 個block

咁b list 就廢左, 但應該有一個block 比人廢左
而每個block 有n 條transaction
咁比人廢左個n條transcaction會點呢


有10個礦工起長緊果條chain做緊野
淨低3個礦工起短D果條做緊

就算有交易擺左入短D果條chain,而未入長D果條chain
對於果10個礦工黎講,果D交易仍然係未confirm既交易
照樣會起長chain下一個block擺果D交易入去
一個交易可以同時起條孤兒chain出現,又起longest blockchain出現

咁對於用家而言
姐係我起碼要等多6條BLOCK係尾先叫CONFIRM左個交易
咁收錢個個係呢段時間咪有RISK?

咁即係可以用個time lag 黎搵錢 食差價

一般交易例如買咖啡既話
就梗係唔會等6個confirmation
小小錢就講個信字啦,就好似你比左10蚊紙人地
收錢果個都唔會下下檢查你果張係咪真銀紙

而且一旦你send左個交易出去
要出cheat reverse個交易都唔係咁易
如果你識寫programme,又有足夠hash power既話 可以試下發動double spend attack

我諗緊...可能下個chapter就講下各種出cheat既手法

但係如果係同exchange交易
例如兌換bitcoin做法定貨幣
就會跟足D真係等足6個conformations, 有時甚至更長既時間
先肯換錢比你

呢樣野真係會LIMIT左呢種電子貨幣
改善到既話 潛力真係可以大好多


有次試過 exchange之間轉 btc, 等撚左我大半個鐘先confirm...
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞