密碼學/加密貨幣原理

467 回覆
844 Like 6 Dislike
2017-07-30 14:49:39
好文留名
2017-07-30 15:02:17
留名學嘢
2017-07-30 21:33:01
留名G持
2017-07-31 01:04:03
唔知我嘅理解有冇錯

第一二篇講嘅就係bitcoin 加密背後既原理
第三篇講嘅係礦工角色就好似係間無人銀行入面做admin 野, 將大家啲transaction history 整理加密放好

我有兩個問題,想知後面既篇章係咪會講到

1. 邊個出糧比啲礦工?冇錢就冇人做admin 野,但呢個過程邊個出糧?

2. 一路將新transaction 加去每unit coin 上面去整一條越來越長既chain, 會唔會拖慢左交易時間?定其實加長對處理既時間係微不足道?
2017-07-31 09:55:30
唔知我嘅理解有冇錯

第一二篇講嘅就係bitcoin 加密背後既原理
第三篇講嘅係礦工角色就好似係間無人銀行入面做admin 野, 將大家啲transaction history 整理加密放好

我有兩個問題,想知後面既篇章係咪會講到

1. 邊個出糧比啲礦工?冇錢就冇人做admin 野,但呢個過程邊個出糧?

2. 一路將新transaction 加去每unit coin 上面去整一條越來越長既chain, 會唔會拖慢左交易時間?定其實加長對處理既時間係微不足道?

詳細等其他師兄答, 我答簡單既

1. 出糧方面, 你處理transaction既同時, 你其實係掘緊 coin, 掘到你就有收入。 另外, 好似每次處理交易, 都會收小小費用幫補下 (但係呢度有個問題搞唔清楚: 人人都處理, 唔通人人都收?如果唔係咁邊個收?)

2. 每個block chain, 其實係上一個chain hash + 新交易, 所以唔會越來越長。
2017-07-31 14:27:44
唔知我嘅理解有冇錯

第一二篇講嘅就係bitcoin 加密背後既原理
第三篇講嘅係礦工角色就好似係間無人銀行入面做admin 野, 將大家啲transaction history 整理加密放好

我有兩個問題,想知後面既篇章係咪會講到

1. 邊個出糧比啲礦工?冇錢就冇人做admin 野,但呢個過程邊個出糧?

2. 一路將新transaction 加去每unit coin 上面去整一條越來越長既chain, 會唔會拖慢左交易時間?定其實加長對處理既時間係微不足道?

詳細等其他師兄答, 我答簡單既

1. 出糧方面, 你處理transaction既同時, 你其實係掘緊 coin, 掘到你就有收入。 另外, 好似每次處理交易, 都會收小小費用幫補下 (但係呢度有個問題搞唔清楚: 人人都處理, 唔通人人都收?如果唔係咁邊個收?)

2. 每個block chain, 其實係上一個chain hash + 新交易, 所以唔會越來越長。

首先bitcoin係做hash而唔係做加密, 目的係確保record唔改得, 而唔係record內容冇人知
bitcoin出新coin既方式就係搵hash(即掘壙), 搵到之後你會加個block落條chain度, 如果你條chain係最長個條(即冇變孤兒仔), 咁你就有reward, 即新coin
所有record會由一個固定size既hash value黎代表, 條chain幾長都好, 你都只需要入個固定size既hash黎計新hash
2017-07-31 14:56:11
留名
2017-07-31 21:59:12
Chapter 4 Mining in Detail

相信起我講之前,好多人都知道做礦工係有回報既。
起最初最初既時候,礦工搵到x such that SHA256("x,A pay B 1BTC,B pay C 1BTC") < target之後
係會獲得50個bitcoin作為獎賞
而且呢個獎賞都會寫入個block度
每個block入面既第一條交易其實係屬於礦工既,所以block既內容應該係咁
"x,miner gets 50BTC,A pay B 1BTC,B pay C 1BTC"

擺埋礦工獎賞入去同一個block係個好緊要既誘因令到礦工唔會出古惑
因為礦工發佈新block出去之後,其他miner會幫手驗証呢個礦工有無計錯數,同埋睇下D交易有無問題
例如礦工會唔會借D e比多幾個bitcoin自己
如果新block包含住一D唔合法既交易
咁其他miner就會無視呢個block, 當呢個block無出現過,繼續跟據上個block既結果既mine
而且其他miner 搵到新block之後係會extend on 上個block, 而唔係呢個出cheat既block
咁呢位出cheat 礦工就戇居喇,因為只有寫起longest blockchain上面既交易先算有效
佢係就係起某一個block入面得到獎賞,但係唔起longest chain上,出面無人承認
所以就算mine到都係曬電費,真係賠了夫人又折兵

講番個獎賞,呢個獎賞係會隨時間而減半,準確D講係每掘到210000個block就會減半
之前講過mining既難度係會自動調較,盡量做到每10分鐘出現一個新block
即係每210000*10分鐘=2100000分鐘=35000小時=1458.333日=3.995年
即係每大約四年,掘礦獎勵就會減少一半

創世block係起2009年1月出現
Block #210000係起2012年11月出現,由呢個block開始獎勵由50調低到25
Block #420000係起2016年7月出現,由呢個block開始獎勵由25調低到12.5

學過中學數學應該識得計sum of geometric sequence
starting term = 50
common ratio = 1/2
sum to infinity = 50 / (1 - 1/2) = 100
如果每個block就獎賞減半,咁總發行量就係100
但係佢係每210000個block先調低一次
所以bitcoin既總發行量 = 210000 * 100 = 21,000,000
二千一百萬個發行量就係咁樣計出黎

起bitcoin既世界係每0.00000001BTC做單位,又叫做1 Satoshi
下面個表就係每一次降低後既獎賞,以satoshi為單位

1st period: 5000000000 (50 BTC)
2nd period: 2500000000 (25 BTC)
3rd period: 1250000000 (12.5 BTC)
4th period: 625000000 (6.25 BTC)
5th period: 312500000
6th period: 156250000
7th period: 78125000
8th period: 39062500
9th period: 19531250
10th period: 9765625
11th period: 4882812.5
12th period: 2441406.25
13th period: 1220703.125
14th period: 610351.5625
15th period: 305175.78125
16th period: 152587.890625
17th period: 76293.9453125
18th period: 38146.97265625
19th period: 19073.486328125
20th period: 9536.7431640625
21st period: 4768.37158203125
22nd period: 2384.185791015625
23rd period: 1192.0928955078125
24th period: 596.0464477539062
25th period: 298.0232238769531
26th period: 149.01161193847656
27th period: 74.50580596923828
28th period: 37.25290298461914
29th period: 18.62645149230957
30th period: 9.313225746154785
31st period: 4.656612873077393
32nd period: 2.3283064365386963
33rd period: 1.1641532182693481

再除落去就會細過1 satoshi, 所以去到33th period之後就唔會再有新bitcoin出現
以每個period 4年黎計,33 period * 4 =132年
所以起我同你既有生之年都唔會見到呢一日

132年之後所有礦工都唔會由掘礦賺到新既bitcoin
2017-07-31 22:00:03
問題:如果bitcoin有幸去到132年之後都未收皮,無新bitcoin賺仲邊會有人做礦工?
答案:靠大家比既transaction fee

上個chapter講過,理論上礦工處理邊個交易先,係先到先得咁決定
咁係因為掘礦初期淨係靠獎賞都夠食
但係隨住獎賞不斷下降,就要交發起交易既人比transaction fee先維持到生計
(起碼都幫補下人地既電費丫...)
所以礦工會唔會及時處理你既交易,就好視乎你肯比幾多tips
你比既tips係會直接袋落個礦工袋到
所以,就算你個交易係好遲send出黎,如果你肯比夠多tips既話,全世界既礦工會爭住擺你既交易入下一個block
就算你既交易係遲過人地發出去,分分鐘可以比其他交易更快得到confirmation

掉番轉咁講,如果你平時都唔比錢聽歌/比錢睇AV
斷估你用bitcoin比錢既時候都唔會比tips
咁你個交易既priority就會不斷比其他肯比tips既交易壓低落去
結果好可能係,明明你6pm就send左個交易出去,等到7pm都未有礦工confirm你

--------

上面提到,mining既難度係會調節到每10分鐘就出現一個新block
呢個調節係每2016個block發生一次
如果每一次既調節都做得好既話,即係每2016 * 10分鐘 =20160分鐘=336小時=14日
所以大約每兩個禮拜就會調節一次

起講點樣調節之前,要define幾個parameter
Difficulty = 2^224 / current target
difficult 最低係1, when current target = 2^224
所以2^224 又叫做"Target when difficult = 1"

將2^224表達番做16進制
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
即係話頭8個位都係0
呢個target其實真係唔難, 你識寫programme既話,求其寫個for loop, loop夠一晚
應該會搵到一個input既hash value細過2^224

頭先講過difficult 1係最易
咁而家既difficult係幾多呢?860,221,984,436.2223
所以current target = 2^224 / 860221984436.2223
大約係0x000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
(18個0字頭)
即係話你個block個hash value要細過0x000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
先合格

如果difficult 係 1
咁平圴要hash幾多次先會到個合格既block呢?
因為SHA256既output係256個bit, total 有2^256個outcome
difficulty = 1既時候, 只要outcome < 2^224都bingo
所以expected value係2^256 / 2^224 = 2^32次
(想象下擲骰仔有6個outcome, 擲到細過3就合格,咁你要擲到合格既expected次數就=6/3=2次)

如果我想每10分鐘=600秒搵到一個新既block
咁成個bitcoin network既total hash power就要有2^32/600 per second

當difficulty 唔係1既時候
hash到合格既expected次數就係difficulty * 2^256 / 2^224 = D * 2^32
成個bitcoin network既total hash power就要有D * 2^32/600 per second

用番而家做例子
而家個difficulty = 860,221,984,436.2223
所以而家既total hash power就係860,221,984,436.2223 * 2^32/600=6.15*10^18 / second
即係而家全世界礦工夾埋,一秒計到6.15*10^18次SHA256

--------------

秒秒鐘計緊6.15*10^18次SHA256
有幾犀利?
根據https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison
Core i7 950 5.8MHash/s , 即係一秒鐘5800000次
GPU可以上到1000MHash/s = 1*10^9 Hash /s
同上面既10^18比仲係爭9條街

GPU可以快過CPU咁多係因為parallel computing
GeForce 10 閒閒地有1000個core,每個core可以各自計SHA256
但係CPU去到盡,就算server grade, 都唔過100 cores

bitcoin面世頭果幾年都仲可以用CPU/GPU 掘到金
後黎比班EE佬/CE佬玩寸左個場
佢地用FPGA黎寫programme計SHA256
FPGA同CPU唔同在於,你起電腦上面寫programme, low level極都要寫C
C要compile做assembly language, 分分鐘一行x=x+1而家用左十行assembly code
但係FPGA就係programme on CPU level,你可以寫hardware description language直接操控點砌d logic gates

越寫low level language, 就越能夠improve performance
後黎D人覺得FPGA都唔夠玩,因為FPGA仲有可programme既功能
馮親可以改既野,即係未優化到盡

所以最終level係ASIC (Application-specific integrated circuit)
即係塊電路版係焊死左,淨係識得計SHA256,做唔到其他野
平平地1000蚊港紙買到一部Antminer S5, 1.16 TH/s
1.16TH/s = 1160GH/s = 1160000MH/s
閒閒地快過GPU成千倍都有,呢部ASIC仲要係cheap野

所以礦工生態由以往各有各掘,發展到而家要form mining pool黎掘
靠自己一個掘既話真係掘到天荒地老都唔會掘到一個
2017-07-31 22:08:15
讀過幾堂密碼學明左7成
2017-08-01 02:57:58
終於明少少
但唔明中本聰當初整嚟為咩?如果為咗創造比舊有好嘅貨幣制度,咁整bitcoin嘅本係邊到嚟,冇理由冇啦會派錢比你地,定係本身bitcoin唔值錢,係有人投資落去同有市場價值先值錢?
可能有啲1999,我係咪需要重睇
2017-08-01 19:55:19
問題:如果bitcoin有幸去到132年之後都未收皮,無新bitcoin賺仲邊會有人做礦工?
答案:靠大家比既transaction fee

上個chapter講過,理論上礦工處理邊個交易先,係先到先得咁決定
咁係因為掘礦初期淨係靠獎賞都夠食
但係隨住獎賞不斷下降,就要交發起交易既人比transaction fee先維持到生計
(起碼都幫補下人地既電費丫...)
所以礦工會唔會及時處理你既交易,就好視乎你肯比幾多tips
你比既tips係會直接袋落個礦工袋到
所以,就算你個交易係好遲send出黎,如果你肯比夠多tips既話,全世界既礦工會爭住擺你既交易入下一個block
就算你既交易係遲過人地發出去,分分鐘可以比其他交易更快得到confirmation

掉番轉咁講,如果你平時都唔比錢聽歌/比錢睇AV
斷估你用bitcoin比錢既時候都唔會比tips
咁你個交易既priority就會不斷比其他肯比tips既交易壓低落去
結果好可能係,明明你6pm就send左個交易出去,等到7pm都未有礦工confirm你

--------

上面提到,mining既難度係會調節到每10分鐘就出現一個新block
呢個調節係每2016個block發生一次
如果每一次既調節都做得好既話,即係每2016 * 10分鐘 =20160分鐘=336小時=14日
所以大約每兩個禮拜就會調節一次

起講點樣調節之前,要define幾個parameter
Difficulty = 2^224 / current target
difficult 最低係1, when current target = 2^224
所以2^224 又叫做"Target when difficult = 1"

將2^224表達番做16進制
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
即係話頭8個位都係0
呢個target其實真係唔難, 你識寫programme既話,求其寫個for loop, loop夠一晚
應該會搵到一個input既hash value細過2^224

頭先講過difficult 1係最易
咁而家既difficult係幾多呢?860,221,984,436.2223
所以current target = 2^224 / 860221tel:9844362223
大約係0x000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
(18個0字頭)
即係話你個block個hash value要細過0x000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
先合格

如果difficult 係 1
咁平圴要hash幾多次先會到個合格既block呢?
因為SHA256既output係256個bit, total 有2^256個outcome
difficulty = 1既時候, 只要outcome < 2^224都bingo
所以expected value係2^256 / 2^224 = 2^32次
(想象下擲骰仔有6個outcome, 擲到細過3就合格,咁你要擲到合格既expected次數就=6/3=2次)

如果我想每10分鐘=600秒搵到一個新既block
咁成個bitcoin network既total hash power就要有2^32/600 per second

當difficulty 唔係1既時候
hash到合格既expected次數就係difficulty * 2^256 / 2^224 = D * 2^32
成個bitcoin network既total hash power就要有D * 2^32/600 per second

用番而家做例子
而家個difficulty = 860,221,984,436.2223
所以而家既total hash power就係860,221,984,436.2223 * 2^32/600=6.15*10^18 / second
即係而家全世界礦工夾埋,一秒計到6.15*10^18次SHA256

--------------

秒秒鐘計緊6.15*10^18次SHA256
有幾犀利?
根據https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison
Core i7 950 5.8MHash/s , 即係一秒鐘5800000次
GPU可以上到1000MHash/s = 1*10^9 Hash /s
同上面既10^18比仲係爭9條街

GPU可以快過CPU咁多係因為parallel computing
GeForce 10 閒閒地有1000個core,每個core可以各自計SHA256
但係CPU去到盡,就算server grade, 都唔過100 cores

bitcoin面世頭果幾年都仲可以用CPU/GPU 掘到金
後黎比班EE佬/CE佬玩寸左個場
佢地用FPGA黎寫programme計SHA256
FPGA同CPU唔同在於,你起電腦上面寫programme, low level極都要寫C
C要compile做assembly language, 分分鐘一行x=x+1而家用左十行assembly code
但係FPGA就係programme on CPU level,你可以寫hardware description language直接操控點砌d logic gates

越寫low level language, 就越能夠improve performance
後黎D人覺得FPGA都唔夠玩,因為FPGA仲有可programme既功能
馮親可以改既野,即係未優化到盡

所以最終level係ASIC (Application-specific integrated circuit)
即係塊電路版係焊死左,淨係識得計SHA256,做唔到其他野
平平地1000蚊港紙買到一部Antminer S5, 1.16 TH/s
1.16TH/s = 1160GH/s = 1160000MH/s
閒閒地快過GPU成千倍都有,呢部ASIC仲要係cheap野

所以礦工生態由以往各有各掘,發展到而家要form mining pool黎掘
靠自己一個掘既話真係掘到天荒地老都唔會掘到一個

可唔可講埋cloud 挖 同咩係contract
2017-08-01 21:26:29
好撚正
2017-08-01 21:36:47
終於明少少
但唔明中本聰當初整嚟為咩?如果為咗創造比舊有好嘅貨幣制度,咁整bitcoin嘅本係邊到嚟,冇理由冇啦會派錢比你地,定係本身bitcoin唔值錢,係有人投資落去同有市場價值先值錢?
可能有啲1999,我係咪需要重睇

應該是無本
我覺得因為bitcoin用黎洗黑錢太方便(主要係政府管唔到)d on9市民又炒埋一份 所以先值錢

因為不法份子用高價(黑錢)買bitcoin 再將bitcoin換物/低價賣番bitcoin洗錢
市民見有利可圖就用乾淨錢投資bitcoin 洗走不法份子d黑錢

利申 唔識 以上全部鳩噏
2017-08-01 23:32:29
終於明少少
但唔明中本聰當初整嚟為咩?如果為咗創造比舊有好嘅貨幣制度,咁整bitcoin嘅本係邊到嚟,冇理由冇啦會派錢比你地,定係本身bitcoin唔值錢,係有人投資落去同有市場價值先值錢?
可能有啲1999,我係咪需要重睇

應該是無本
我覺得因為bitcoin用黎洗黑錢太方便(主要係政府管唔到)d on9市民又炒埋一份 所以先值錢

因為不法份子用高價(黑錢)買bitcoin 再將bitcoin換物/低價賣番bitcoin洗錢
市民見有利可圖就用乾淨錢投資bitcoin 洗走不法份子d黑錢

利申 唔識 以上全部鳩噏

係喎,唔講唔記得deep都有用
2017-08-03 02:37:17

雖然chapter 4有數學唔係好睇得明
2017-08-03 17:07:40
唔好停 支持巴打
2017-08-03 22:08:05
想問hash255 條formula 係點

將個input data 斬開做一截截,每截512bits
第一截512 bits,第二截512 bits
每一截又再斬開八格,每格64 bits
第一格64 bits就係下面既A
第二格64 bits就係下面既B
每512 bits都要run 64 rounds下面既計算
第一截行完64 round之後都會generate 256 bits data
第一截既結果 會同 第二截既 512 bit 撈埋一齊 又run 64 rounds
第二截既結果 會同 第三截既 512 bit 撈埋一齊 又run 64 rounds...
直到天荒地老






係modulo 2^32

詳細唔解釋咁多喇....要有少少logic gate 底既concept先明

圖片取至wikipedia
2017-08-04 14:09:25
2017-08-06 11:52:55
2017-08-06 12:07:51
2017-08-06 22:01:52
-----課外知識1-----

之前提過ECC既private key係random揀個數出黎
簽名時候用既k, 即係暫時性既private key同樣係隨機揀個數出黎
但係呢個k要揀得好小心:用過一次既k唔可以再用
如果你真係咁環保
文件1同文件2都用左同一個k黎簽名
咁就大檸樂喇:hacker可以根據簽名1同簽名2 計番你條private key出黎
即係玩撚猿

點解咁特別提起呢個k?
因為歷史上真係有人試過用左同一個k而奶野:Sony

PS3一直以黎係唔玩得翻版碟
當中就係用左ECC digital signature
每隻正版碟都有Sony既簽名,文件就係隻game
而且部console就有Sony既public key, 可以驗證 Sony既簽名
如果你自己寫左game,擺落PS3度行,因為你無Sony 既簽名,通過唔到認證,就行唔到隻game
PS3就係用左ECC digital signature

2010年George Hotz唔知點樣發現,Sony generate PS3 Game既簽名果陣無用到隨機暫時性private key (即係k)
反而,所有簽名都用左同一個k
咁只要你肯比錢買多幾隻正版碟
就可以有好多
文件1, Sony 簽名1
文件2, Sony 簽名2
文件3, Sony 簽名3

就可以搵到Sony簽名用既private key
然後用Sony既private key黎幫你自己寫既game簽名
Digital Signature scheme係唔會知邊人用private key黎簽
verify果陣淨係認數字,所以一但公開左條key,就全世界都可以冒認Sony簽名
即係可以繞過Sony既認證檢查
簡單黎講:Jailbroken,可以玩翻版碟

George Hotz公開左條key之後,Sony嬲到爆炸
決定從法律途徑告George告到甩褲
呢個行為辣著左Anonymous, 因為Anonymous覺得而家係Sony柒左
有人免費幫你搵個loophole出黎你唔多謝佢不突止,仲要告佢?
Apple iOS都成日比人jailbreak啦,你有無見過Apple告人?
所以2011年4月Anonymous大規模攻擊Sony
傳說話佢地就係用private key 簽左一個自己寫既programme,所以登入到dev-PSN network...
繼而拎到曬所有PSN所有user既資料...
之後既事大家都應該知啦,PSN down左成個月咁濟...

Sorry 呀 追到呢part 未追晒成個post 但有啲野想問

如果我當Sony 係用左random private key k

咁佢console 個private 咪要不斷跟住咁變?

因為以我睇完既理解 private key and public key shall be a pair

但如果係咁 部console 點認邊條public key 對應邊條private key ?
2017-08-06 22:31:15
-----課外知識1-----

之前提過ECC既private key係random揀個數出黎
簽名時候用既k, 即係暫時性既private key同樣係隨機揀個數出黎
但係呢個k要揀得好小心:用過一次既k唔可以再用
如果你真係咁環保
文件1同文件2都用左同一個k黎簽名
咁就大檸樂喇:hacker可以根據簽名1同簽名2 計番你條private key出黎
即係玩撚猿

點解咁特別提起呢個k?
因為歷史上真係有人試過用左同一個k而奶野:Sony

PS3一直以黎係唔玩得翻版碟
當中就係用左ECC digital signature
每隻正版碟都有Sony既簽名,文件就係隻game
而且部console就有Sony既public key, 可以驗證 Sony既簽名
如果你自己寫左game,擺落PS3度行,因為你無Sony 既簽名,通過唔到認證,就行唔到隻game
PS3就係用左ECC digital signature

2010年George Hotz唔知點樣發現,Sony generate PS3 Game既簽名果陣無用到隨機暫時性private key (即係k)
反而,所有簽名都用左同一個k
咁只要你肯比錢買多幾隻正版碟
就可以有好多
文件1, Sony 簽名1
文件2, Sony 簽名2
文件3, Sony 簽名3

就可以搵到Sony簽名用既private key
然後用Sony既private key黎幫你自己寫既game簽名
Digital Signature scheme係唔會知邊人用private key黎簽
verify果陣淨係認數字,所以一但公開左條key,就全世界都可以冒認Sony簽名
即係可以繞過Sony既認證檢查
簡單黎講:Jailbroken,可以玩翻版碟

George Hotz公開左條key之後,Sony嬲到爆炸
決定從法律途徑告George告到甩褲
呢個行為辣著左Anonymous, 因為Anonymous覺得而家係Sony柒左
有人免費幫你搵個loophole出黎你唔多謝佢不突止,仲要告佢?
Apple iOS都成日比人jailbreak啦,你有無見過Apple告人?
所以2011年4月Anonymous大規模攻擊Sony
傳說話佢地就係用private key 簽左一個自己寫既programme,所以登入到dev-PSN network...
繼而拎到曬所有PSN所有user既資料...
之後既事大家都應該知啦,PSN down左成個月咁濟...

Sorry 呀 追到呢part 未追晒成個post 但有啲野想問

如果我當Sony 係用左random private key k

咁佢console 個private 咪要不斷跟住咁變?

因為以我睇完既理解 private key and public key shall be a pair

但如果係咁 部console 點認邊條public key 對應邊條private key ?

會變既係文中既"暫時"public/private key, 但其實唔係key而係randomness黎
public/private key係可以長用而randomness係次次都唔同
'private' randomness只會係sign時用, 而'public' randomness係signature既一部分, verify時會用到
sony個例子係2個signature用左同一個randomness, 導致2個signature既randomness可以互相抵消, 從而得到private key
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞