推 darkdixen: 寫個會mixer的智能合約 收工 06/25 16:58
推 foolstack: 搜尋Ethereum Mixer就能找到相關solidity 06/25 17:30
我覺得應該可以白話解釋耶
用不著直接去K源碼實作
推 qxxrbull: 還是好奇跟DASH的有什麼差別? 06/25 17:49
混幣是一種行為啦
不是某種幣
推 tcn1john: 全部交到一個帳號 然後分別轉帳給收錢那方這樣嗎? 06/25 18:28
我還沒看前幾樓說的合約源碼
但我猜那些合約應該就是實做成你說的這種方式
可是這種方式應該沒用
因為你請中介帳戶代替你轉帳到目標帳戶
終究要把你的目標帳戶告訴中介帳戶
如果中介帳戶是寫成合約的形式
那麼合約一定要記錄你指定的目標帳戶
使得大家都可以看到你指定了哪個目標帳戶
就失去意義了
如果中介帳戶是人在操作
那變成你把錢轉給中介帳戶 再私下告訴他目標地址委託他代轉(目標地址不上鏈)
但就要信任這個人不會拿了你的錢就閃人
無法免除對第三方的信任
→ tcn1john: Coinjoin應該有一樣的問題 誰來負責收集需求產生轉帳 06/25 18:46
比特幣用 coinjoin 的情況
是所有參與該次混幣的人們 都先把各自的input/output先列進混幣交易裡
等所有人都列完之後 才用各自的私鑰去簽這個交易 所以不會有騙錢的問題
或許這些參與者在當下可以看出哪些input/output是由同一個人寫上去的
但之後的人光看這個混幣交易根本看不出來
所以比特幣用 coinjoin 的確有達成更好的隱私
但以太坊的情況
則是要特地生一個交易來委託中介帳戶代轉多少錢給目標帳戶
之後的人光看這個交易就可以查到 你委託中介帳戶 轉多少錢 到哪個目標帳戶
所以就沒什麼意義
推 darkdixen: 白話解釋就是你可以用solidity寫出coinjoin功能 06/25 19:01
推 darkdixen: 是說在zksnark加入以太後也不用自己寫coinjoin就是惹 06/25 19:03
有了zksnark的話我就沒什麼疑問
但我不認為目前的以太坊合約可以實作出 不用信任第三方又達到隱私的coinjoin
我覺得是account model先天的限制
========回覆更新========
錯ㄌ 還真的可以
推 qxxrbull: 我的意思就是說跟DASH交給master node做混幣來達成匿蹤 06/25 19:24
→ qxxrbull: 交易的差別 06/25 19:24
拍謝誤會
那可能意思差不多吧
不過混幣這個動作按 Bitcoin Wiki 的解釋 應該是可以不需要第三方的吧?
為啥 DASH 需要有 master node
→ tcn1john: coinjoin是第三方產生轉帳資訊的不是嗎?以太寫個第三方 06/25 19:26
→ tcn1john: 負責又不能捲款的合約就能達到一樣效果,問題是有沒有辦 06/25 19:26
→ tcn1john: 法達到無人負責的coinjoin 06/25 19:26
看完 Bitcoin Wiki 解釋 CoinJoin
我的理解是不用第三方耶
只要所有參與者之間互通有無就夠了
每個參與者都先廣播自己要寫上的 input/output
等列表湊齊之後
每個參與者再廣播自己的簽名
這樣大家做出來的交易就一致
不會有問題
當然這是 UTXO model 才可以做到
→ tcn1john: 這樣參與者都知道對方的output了吧? 06/25 19:41
沒錯
但是只有參與者知道而已
哪些input/output是同一個人的
事後光看交易是看不出來的
鏈上看不出來就是沒有證據
========回覆更新========
剛看了一下 Bitcoin Wiki CoinJoin 那篇的 FAQ
把實作搞複雜一點 可以做到讓參與者也不清楚input/output是誰的
推 tcn1john: 以太的話,應該可以建立一個會退錢的智能合約,錢収滿 06/25 20:53
→ tcn1john: 轉入指定地址,鍊上也看不出來 06/25 20:53
→ tcn1john: faq提到透過第三方的coinjoin應該是實用性比較高的做法 06/25 20:56
你的指定地址 指的是委託人指定的目標地址嗎
合約有記錄目標地址的話 大家也都知道是委託人指定的吧
推 tcn1john: 所有人目標地址都放進合約這樣...到齊後一起轉 06/25 21:15
鏈上看的出委託人跟目標地址的對應關係 -> 大家都看的到 沒意義
鏈上看不出對應關係 -> 合約的操作者一定有辦法假造目標地址 必須相信他是好人
想來想去還是覺得兩條路都行不通吧
========回覆更新========
拍謝 好像還真的可以
所有委託人的目標地址和要轉的金額都先寫進合約
但不記錄目標地址跟委託人的對應關係
確認無誤的委託人就會轉錢進去合約裡 發現錯誤的委託人就不會轉錢進去
錢到齊之後合約就把錢分配到目標地址 沒到齊就退款
這方法應該也是不需要信任第三方
推 Ayukawayen: 以太智能合約混幣應該做得到,套無金額遮罩的XMR就差 06/25 21:47
→ Ayukawayen: 不多了,付款者們把資金切成多筆相同金額的輸出,每筆 06/25 21:47
→ Ayukawayen: 都用隱匿性地址當公鑰,收款者拿自己私鑰算隱匿性私鑰 06/25 21:47
→ Ayukawayen: ,用環簽名提款,其他人不會曉得環簽名用的是哪把私鑰 06/25 21:48
→ Ayukawayen: 無法將提款者和付款者連結,然後用金鑰映像防多重提款 06/25 21:48
所以這個是有用到 zero knowledge proof 或是 ring signature 之類的技術嗎
拍謝對這個不熟ˊˋ
如果是的話那我接受啦
但我好奇的是沒有這兩種技術的情況下做的到嗎
像比特幣就可以
→ darkdixen: 已經上Rinkeby 大家可以回家惹 06/25 22:01
欸~不行降啊
我是想釐清盲點
直接丟code太硬了
推 Ayukawayen: 想了一下 環簽放的地方不同 所以或許不能說是套XMR吧 06/25 22:02
推 darkdixen: 就想成以太1.0能用智能合約模擬比特幣的混幣 在加入zk 06/25 22:15
→ darkdixen: 功能後也不用模擬惹 就直接走zk 大guy4john 06/25 22:15
推 Ayukawayen: XMR有用ring signature,要看XMR技術可以看這兩篇: 06/25 23:06
3Q
推 justben: 這樣手續費會變貴嗎? XDD 06/25 23:37
其實我也覺得以太坊 coinjoin 這樣做的話的確會花比較多錢
畢竟這種用合約代轉到不同目標地址的機制
要多好幾道交易 跑code也要花gas 常常做感覺很花錢
而比特幣的 coinjoin 只要大家分攤一個超大交易的手續費就好了
跟平常自己發交易花的手續費應該一樣多 所以做幾次都沒差
推 qxxrbull: 說真的,沒有全網強制做匿蹤,再強的Zn-Shark還是一樣會 06/25 23:57
→ qxxrbull: 有可能因為非匿蹤交易而被關連到 06/25 23:57
→ qxxrbull: Zn-Snark算是目前最強的匿蹤方式,先不討論可能自己印鈔 06/25 23:59
→ qxxrbull: 而不被抓包的前提下 06/25 23:59
Zn-Shark...是梗ㄇ
???
@_@
???
推 qxxrbull: 打錯喇 zn-snark 06/26 00:14
※ 編輯: kugwa (140.112.232.231), 06/26/2018 01:54:09
推 DarkerDuck: 491字 * 7星 = 3437 PCH 07/12 21:05