顯示廣告
隱藏 ✕
※ 本文為 MindOcean 轉寄自 ptt.cc 更新時間: 2019-09-05 23:11:53
看板 Gossiping
作者 StepZero2One (BooleanFunction)
標題 [問卦] 八卦板導入工作量證明能降低蟑螂活性嗎
時間 Thu Sep  5 22:39:56 2019


安安
各位天龍人客家人南部人大家好

小妹在浦之星女學院分散式系統共識部的好姬友
最近在研究比特幣的共識機制
裡面有一種稱為工作量證明的方法
據說最早是用在防止程式濫發e-mail
簡單的來說就是讓發送e-mail的成本變高
但又不會高到影響正常人使用

常見工作量證明大多是用hash function來實作

可以把hash function想像成一台超級攪拌機
無論你丟什麼東西進去,他都能攪成一陀你認不出來的東西
以sha256為例
你把一隻"蟑螂"丟進去
他會把蟑螂攪成
"d2ab6e2b2736875bc98679bf04aa63426d43f1ab6832222f8594788fea96aad0"
再吐出來給你
https://i.imgur.com/HBziwg8.jpg
[圖]
 


因為沒有人知道最後會吐出什麼
如果想要找一個會攪出"c8763"開頭的東西
就只能把所有東西都丟進去攪攪看
看哪個東西最後會攪出"c8763"
試跑了一下找到 "Mu4SF" 符合條件
https://i.imgur.com/bFr4YBx.jpg
[圖]
 
之後把"Mu4SF"丟給伺服器做驗證
伺服器只需要把"Mu4SF"也丟進超級攪拌機裡攪一次
然後看到攪出來的東西確實是"c8763"開頭的
就能確認這個答案是對的

如此一來
隨著限制的多寡,使用者需要或多或少的時間去算出答案
然而伺服器始終只需要做少許的字串比對
就能知道你的答案是否正確

而限制的多寡在比特幣協定中又被稱為「難度」
在比特幣協定中的工作量證明
每個回合會有「題目」和「難度」
題目會要求你丟進去攪拌機裡的東西必需要是什麼樣子
而難度則會規定你攪出來的東西必需要是什麼樣子

難度會直接影響解題的速度,
要找一個難度是開頭3個6的答案,
或許3秒鐘就跑完了,
但如果換作要找一個難度是開頭30個6的答案,
可能跑一整年都找不到

舉個例子
假設題目是「Aquors」
難度是開頭3個6
那就必需找一個Aqours開頭的東西
丟進攪拌機後攪出來的東西必需是3個6開頭
這邊找到的是AqoursZxz
得到666af1f7296cb7865d6f0c9d9d0509582e54f0e549608991ec56f94636326d09
https://i.imgur.com/yhsS95K.jpg
[圖]
 

如果把這個方法導入八卦板
推文和發文都必需解一個PTT出的題目
並且找出一些蟑螂的特徵
像是使用海外IP、
大量不同帳號同時使用相同IP、
長時間不斷的推文之類的
來動態調整難度
PTT站方曾多次屠殺蟑螂,相信站方應該有不少蟑螂特徵

再找一些方法來減少正常鄉民的不便
像是預先給N個題目讓鄉民先算好
要推發文隨時可以用

而蟑螂們因為要大量推發文
所以也必需解大量的工作量證明
假設平均一個工作量證明需要一台電腦跑10分鐘
那麼一隻只有一台電腦的蟑螂
即使有200個帳號,它在1小時內仍然只能推6次文
如果想增加推發文量就必需增購設備來跑工作量證明
而在頻率過高的情況下又會碰到難度調整
使得增購設備的效果並不是線性成長的
這或許可以增加蟑螂們的成本進而影響牠們的活躍度


我說完了ずら
有沒有八卦?


--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.155.32 (臺灣)
※ 文章代碼(AID): #1TSHu-He (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1567694398.A.468.html
chao0210: 公啥小嘔嘔嘔嘔幹幹幹幹幹幹1F 1.161.43.29 台灣 09/05 22:41
ReDmango: PTT做不到 且你這篇文板上只有1%能看懂2F 58.114.25.142 台灣 09/05 22:41
kilof: 工沙小拉 先消滅柯份版主3F 61.58.28.210 台灣 09/05 22:42
chao0210: 雜湊4F 1.161.43.29 台灣 09/05 22:42
ReDmango: 做PO要有條chain,或者是有一個能提供足5F 58.114.25.142 台灣 09/05 22:45
ReDmango: 夠算力的集中式Main Server,PTT用
ReDmango: Telnet這個protocol跑基本上就是絕緣體
ReDmango: ,而且也沒有人力物力金錢。
不懂為什麼要chain,有個database記著每個人的題目和難度就行了不是?
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:46:56
ReDmango: PO*W 少打一個W9F 58.114.25.142 台灣 09/05 22:46
每個人的題目和難度是獨立的,找到解才能推發文
不是大家一起找同一個解
比起比特幣的共識機制,這用法比較像以前防止濫發EMAIL的功能
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:47:51
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:49:20
Ericz7000: 也是可 只是設計上只有大量同IP推文和10F 126.149.17.139 日本 09/05 22:50
Ericz7000: 海外用戶分得出正常人跟蟑螂,如果已知
Ericz7000: 有這兩個明顯特徵就是蟑螂,幹麻還要脫
Ericz7000: 褲子放屁,直接禁他們就好
因為BAN人需要證據,加難度不必
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:51:10
qphone: 似乎可行,先把完整演算法寫出來再說14F 163.49.209.127 日本 09/05 22:51
emptie: 你這樣公關公司可能會去開發ASIC來算15F 180.217.193.254 台灣 09/05 22:52
ReDmango: 因為你如果沒有chain,按照PTT每天的推16F 58.114.25.142 台灣 09/05 22:52
ReDmango: 文發文數,就要有一個集中式的Server來
ReDmango: 做這件事。
所以說有指定八卦板這種蟑螂特多的板
其他板不需要加,在一個板裡加入這個機制對於集中式SERVER來說應該還在可行範圍
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:53:42
emptie:  結果增加普通使用者的麻煩19F 180.217.193.254 台灣 09/05 22:52
ReDmango: 以現在都會過載的情況下,不可能,20F 58.114.25.142 台灣 09/05 22:52
ReDmango: 公關不可能玩ASIC啦
ASIC倒是簡單,PTT可以發放專用程式,再加殼加到連他媽都不認識
搞ASIC前還得先逆向,ASIC還沒搞出來公關公司先破產
真的給他搞出來,換一個演算法也不是多大的問題
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 22:55:47
emptie: 可是想在八卦板推文聊天的鄉民怎麼辦22F 180.217.193.254 台灣 09/05 22:54
ReDmango: Telnet這個老舊protocol限制太多惹23F 58.114.25.142 台灣 09/05 22:54
ReDmango: 不太可能做得到
Ericz7000: 我是說 不用每個人都搞這個,只要同時25F 126.149.17.139 日本 09/05 22:54
Ericz7000: 間大量同IP推文就設冷卻時間,效果跟你
ReDmango: 除非你要PTT官方推出整套相應的連線器27F 58.114.25.142 台灣 09/05 22:55
Ericz7000: 這招差不多吧28F 126.149.17.139 日本 09/05 22:55
提高除了等待時間以外的成本
有時候防禦不一定要完全把對方擋在外面
讓對方行動的成本提高也是個方法
ReDmango: 現在都會換IP惹 沒用29F 58.114.25.142 台灣 09/05 22:55
ReDmango: 哈 你回的我說惹
warfarin: 看不懂,但能消滅蟑螂就是好事31F 1.200.204.244 台灣 09/05 22:57
sourbait: PTT直接沒落32F 101.9.76.84 台灣 09/05 22:59
※ 編輯: StepZero2One (140.118.155.32 臺灣), 09/05/2019 23:03:53
ReDmango: Telnet完全明碼在玩 hash多少都沒用33F 58.114.25.142 台灣 09/05 23:02

--
※ 看板: Gossiping 文章推薦值: 2 目前人氣: 0 累積人氣: 258 
分享網址: 複製 已複製
( ̄︶ ̄)b alan0055 說讚!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇