[閒聊] 以太坊怎麼混幣?(已懂)

看板DigiCurrency (數位貨幣)作者 (闇黑聖飢魔)時間6年前 (2018/06/25 16:40), 6年前編輯推噓18(18020)
留言38則, 7人參與, 5年前最新討論串1/1
https://github.com/ethereum/wiki/wiki/Design-Rationale#accounts-and-not-utxos Ethereum 的 Design Rationale 列舉了 UTXO 和 account 的優劣 並解釋為何 Ethereum 採用 account model 不過他下面這一句 if people really do care about privacy then mixers and coinjoin can be built via signed-data-packet protocols inside of contracts. 我沒有很懂耶 mixer 和 coinjoin 應該是指混幣沒錯吧 但混幣不是只有 UTXO model 的區塊鏈才有的觀念嗎? account model 要怎麼混幣 並且為何能夠增強隱私呢? 附個混幣解釋 字面意思就是 一群想要傳錢的人 都先把自己的錢交出來 全部混一混然後才發送到各自的目標地址 讓金流以及地址背後的持有者更難被追蹤 實際做法就是 一群想要傳錢的人湊在一起 人數可多可少 可以只有兩個人 也可以數不清的人 當然人越多隱私效果越好 這些人共同創建一個交易 然後各自把想要傳的錢貢獻到交易input 並且也開出各自的目標地址放到交易output 大家都做好各自的input/output之後交易就可以送出了 由於每個input都要用各自的私鑰來簽過整個交易 所以並不會有錢被偷的疑慮 混幣這種行為 打破了「一個交易裡的所有input屬於同一個人」的通則 使得地址更難被關聯起來 https://en.bitcoin.it/wiki/CoinJoin ========更新======== https://blog.ethereum.org/2016/01/15/privacy-on-the-blockchain/ 看到 Vitalik 寫的這篇 有講 Ethereum 上的 CoinJoin 協定怎麼做 大概弄懂了 總之差不多就是: 所有委託人的目標地址和要轉的金額都先寫進合約 但不記錄目標地址跟委託人的對應關係 確認無誤的委託人就會轉錢進去合約裡 發現錯誤的委託人就不會轉錢進去 錢到齊之後合約就把錢分配到目標地址 沒到齊就退款 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.232.231 ※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1529916033.A.45A.html

06/25 16:58, 6年前 , 1F
寫個會mixer的智能合約 收工
06/25 16:58, 1F

06/25 17:30, 6年前 , 2F
搜尋Ethereum Mixer就能找到相關solidity
06/25 17:30, 2F
我覺得應該可以白話解釋耶 用不著直接去K源碼實作

06/25 17:49, 6年前 , 3F
還是好奇跟DASH的有什麼差別?
06/25 17:49, 3F
混幣是一種行為啦 不是某種幣

06/25 18:28, 6年前 , 4F
全部交到一個帳號 然後分別轉帳給收錢那方這樣嗎?
06/25 18:28, 4F
我還沒看前幾樓說的合約源碼 但我猜那些合約應該就是實做成你說的這種方式 可是這種方式應該沒用 因為你請中介帳戶代替你轉帳到目標帳戶 終究要把你的目標帳戶告訴中介帳戶 如果中介帳戶是寫成合約的形式 那麼合約一定要記錄你指定的目標帳戶 使得大家都可以看到你指定了哪個目標帳戶 就失去意義了 如果中介帳戶是人在操作 那變成你把錢轉給中介帳戶 再私下告訴他目標地址委託他代轉(目標地址不上鏈) 但就要信任這個人不會拿了你的錢就閃人 無法免除對第三方的信任

06/25 18:46, 6年前 , 5F
Coinjoin應該有一樣的問題 誰來負責收集需求產生轉帳
06/25 18:46, 5F
比特幣用 coinjoin 的情況 是所有參與該次混幣的人們 都先把各自的input/output先列進混幣交易裡 等所有人都列完之後 才用各自的私鑰去簽這個交易 所以不會有騙錢的問題 或許這些參與者在當下可以看出哪些input/output是由同一個人寫上去的 但之後的人光看這個混幣交易根本看不出來 所以比特幣用 coinjoin 的確有達成更好的隱私 但以太坊的情況 則是要特地生一個交易來委託中介帳戶代轉多少錢給目標帳戶 之後的人光看這個交易就可以查到 你委託中介帳戶 轉多少錢 到哪個目標帳戶 所以就沒什麼意義

06/25 19:01, 6年前 , 6F
白話解釋就是你可以用solidity寫出coinjoin功能
06/25 19:01, 6F

06/25 19:03, 6年前 , 7F
是說在zksnark加入以太後也不用自己寫coinjoin就是惹
06/25 19:03, 7F
有了zksnark的話我就沒什麼疑問 但我不認為目前的以太坊合約可以實作出 不用信任第三方又達到隱私的coinjoin 我覺得是account model先天的限制 ========回覆更新======== 錯ㄌ 還真的可以

06/25 19:24, 6年前 , 8F
我的意思就是說跟DASH交給master node做混幣來達成匿蹤
06/25 19:24, 8F

06/25 19:24, 6年前 , 9F
交易的差別
06/25 19:24, 9F
拍謝誤會 那可能意思差不多吧 不過混幣這個動作按 Bitcoin Wiki 的解釋 應該是可以不需要第三方的吧? 為啥 DASH 需要有 master node

06/25 19:26, 6年前 , 10F
coinjoin是第三方產生轉帳資訊的不是嗎?以太寫個第三方
06/25 19:26, 10F

06/25 19:26, 6年前 , 11F
負責又不能捲款的合約就能達到一樣效果,問題是有沒有辦
06/25 19:26, 11F

06/25 19:26, 6年前 , 12F
法達到無人負責的coinjoin
06/25 19:26, 12F
看完 Bitcoin Wiki 解釋 CoinJoin 我的理解是不用第三方耶 只要所有參與者之間互通有無就夠了 每個參與者都先廣播自己要寫上的 input/output 等列表湊齊之後 每個參與者再廣播自己的簽名 這樣大家做出來的交易就一致 不會有問題 當然這是 UTXO model 才可以做到

06/25 19:41, 6年前 , 13F
這樣參與者都知道對方的output了吧?
06/25 19:41, 13F
沒錯 但是只有參與者知道而已 哪些input/output是同一個人的 事後光看交易是看不出來的 鏈上看不出來就是沒有證據 ========回覆更新======== 剛看了一下 Bitcoin Wiki CoinJoin 那篇的 FAQ 把實作搞複雜一點 可以做到讓參與者也不清楚input/output是誰的

06/25 20:53, 6年前 , 14F
以太的話,應該可以建立一個會退錢的智能合約,錢収滿
06/25 20:53, 14F

06/25 20:53, 6年前 , 15F
轉入指定地址,鍊上也看不出來
06/25 20:53, 15F

06/25 20:56, 6年前 , 16F
faq提到透過第三方的coinjoin應該是實用性比較高的做法
06/25 20:56, 16F
你的指定地址 指的是委託人指定的目標地址嗎 合約有記錄目標地址的話 大家也都知道是委託人指定的吧

06/25 21:15, 6年前 , 17F
所有人目標地址都放進合約這樣...到齊後一起轉
06/25 21:15, 17F
鏈上看的出委託人跟目標地址的對應關係 -> 大家都看的到 沒意義 鏈上看不出對應關係 -> 合約的操作者一定有辦法假造目標地址 必須相信他是好人 想來想去還是覺得兩條路都行不通吧 ========回覆更新======== 拍謝 好像還真的可以 所有委託人的目標地址和要轉的金額都先寫進合約 但不記錄目標地址跟委託人的對應關係 確認無誤的委託人就會轉錢進去合約裡 發現錯誤的委託人就不會轉錢進去 錢到齊之後合約就把錢分配到目標地址 沒到齊就退款 這方法應該也是不需要信任第三方

06/25 21:47, 6年前 , 18F
以太智能合約混幣應該做得到,套無金額遮罩的XMR就差
06/25 21:47, 18F

06/25 21:47, 6年前 , 19F
不多了,付款者們把資金切成多筆相同金額的輸出,每筆
06/25 21:47, 19F

06/25 21:47, 6年前 , 20F
都用隱匿性地址當公鑰,收款者拿自己私鑰算隱匿性私鑰
06/25 21:47, 20F

06/25 21:48, 6年前 , 21F
,用環簽名提款,其他人不會曉得環簽名用的是哪把私鑰
06/25 21:48, 21F

06/25 21:48, 6年前 , 22F
無法將提款者和付款者連結,然後用金鑰映像防多重提款
06/25 21:48, 22F
所以這個是有用到 zero knowledge proof 或是 ring signature 之類的技術嗎 拍謝對這個不熟ˊˋ 如果是的話那我接受啦 但我好奇的是沒有這兩種技術的情況下做的到嗎 像比特幣就可以

06/25 22:00, 6年前 , 23F

06/25 22:01, 6年前 , 24F
已經上Rinkeby 大家可以回家惹
06/25 22:01, 24F
欸~不行降啊 我是想釐清盲點 直接丟code太硬了

06/25 22:02, 6年前 , 25F
想了一下 環簽放的地方不同 所以或許不能說是套XMR吧
06/25 22:02, 25F

06/25 22:15, 6年前 , 26F
就想成以太1.0能用智能合約模擬比特幣的混幣 在加入zk
06/25 22:15, 26F

06/25 22:15, 6年前 , 27F
功能後也不用模擬惹 就直接走zk 大guy4john
06/25 22:15, 27F

06/25 23:06, 6年前 , 28F
XMR有用ring signature,要看XMR技術可以看這兩篇:
06/25 23:06, 28F

06/25 23:06, 6年前 , 29F

06/25 23:06, 6年前 , 30F
3Q

06/25 23:37, 6年前 , 31F
這樣手續費會變貴嗎? XDD
06/25 23:37, 31F
其實我也覺得以太坊 coinjoin 這樣做的話的確會花比較多錢 畢竟這種用合約代轉到不同目標地址的機制 要多好幾道交易 跑code也要花gas 常常做感覺很花錢 而比特幣的 coinjoin 只要大家分攤一個超大交易的手續費就好了 跟平常自己發交易花的手續費應該一樣多 所以做幾次都沒差

06/25 23:57, 6年前 , 32F
說真的,沒有全網強制做匿蹤,再強的Zn-Shark還是一樣會
06/25 23:57, 32F

06/25 23:57, 6年前 , 33F
有可能因為非匿蹤交易而被關連到
06/25 23:57, 33F

06/25 23:59, 6年前 , 34F
Zn-Snark算是目前最強的匿蹤方式,先不討論可能自己印鈔
06/25 23:59, 34F

06/25 23:59, 6年前 , 35F
而不被抓包的前提下
06/25 23:59, 35F
Zn-Shark...是梗ㄇ ??? @_@ ???

06/26 00:14, 6年前 , 36F
打錯喇 zn-snark
06/26 00:14, 36F
※ 編輯: kugwa (140.112.232.231), 06/26/2018 01:54:09

07/12 21:05, 5年前 , 37F
491字 * 7星 = 3437 PCH
07/12 21:05, 37F

07/12 21:26, 5年前 , 38F
文章代碼(AID): #1RCAg1HQ (DigiCurrency)
文章代碼(AID): #1RCAg1HQ (DigiCurrency)