[閒聊] 以太坊怎麼混幣?(已懂)
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
06/25 16:58, 1F
推
06/25 17:30,
6年前
, 2F
06/25 17:30, 2F
我覺得應該可以白話解釋耶
用不著直接去K源碼實作
推
06/25 17:49,
6年前
, 3F
06/25 17:49, 3F
混幣是一種行為啦
不是某種幣
推
06/25 18:28,
6年前
, 4F
06/25 18:28, 4F
我還沒看前幾樓說的合約源碼
但我猜那些合約應該就是實做成你說的這種方式
可是這種方式應該沒用
因為你請中介帳戶代替你轉帳到目標帳戶
終究要把你的目標帳戶告訴中介帳戶
如果中介帳戶是寫成合約的形式
那麼合約一定要記錄你指定的目標帳戶
使得大家都可以看到你指定了哪個目標帳戶
就失去意義了
如果中介帳戶是人在操作
那變成你把錢轉給中介帳戶 再私下告訴他目標地址委託他代轉(目標地址不上鏈)
但就要信任這個人不會拿了你的錢就閃人
無法免除對第三方的信任
→
06/25 18:46,
6年前
, 5F
06/25 18:46, 5F
比特幣用 coinjoin 的情況
是所有參與該次混幣的人們 都先把各自的input/output先列進混幣交易裡
等所有人都列完之後 才用各自的私鑰去簽這個交易 所以不會有騙錢的問題
或許這些參與者在當下可以看出哪些input/output是由同一個人寫上去的
但之後的人光看這個混幣交易根本看不出來
所以比特幣用 coinjoin 的確有達成更好的隱私
但以太坊的情況
則是要特地生一個交易來委託中介帳戶代轉多少錢給目標帳戶
之後的人光看這個交易就可以查到 你委託中介帳戶 轉多少錢 到哪個目標帳戶
所以就沒什麼意義
推
06/25 19:01,
6年前
, 6F
06/25 19:01, 6F
推
06/25 19:03,
6年前
, 7F
06/25 19:03, 7F
有了zksnark的話我就沒什麼疑問
但我不認為目前的以太坊合約可以實作出 不用信任第三方又達到隱私的coinjoin
我覺得是account model先天的限制
========回覆更新========
錯ㄌ 還真的可以
推
06/25 19:24,
6年前
, 8F
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
06/25 19:26, 10F
→
06/25 19:26,
6年前
, 11F
06/25 19:26, 11F
→
06/25 19:26,
6年前
, 12F
06/25 19:26, 12F
看完 Bitcoin Wiki 解釋 CoinJoin
我的理解是不用第三方耶
只要所有參與者之間互通有無就夠了
每個參與者都先廣播自己要寫上的 input/output
等列表湊齊之後
每個參與者再廣播自己的簽名
這樣大家做出來的交易就一致
不會有問題
當然這是 UTXO model 才可以做到
→
06/25 19:41,
6年前
, 13F
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
06/25 20:56, 16F
你的指定地址 指的是委託人指定的目標地址嗎
合約有記錄目標地址的話 大家也都知道是委託人指定的吧
推
06/25 21:15,
6年前
, 17F
06/25 21:15, 17F
鏈上看的出委託人跟目標地址的對應關係 -> 大家都看的到 沒意義
鏈上看不出對應關係 -> 合約的操作者一定有辦法假造目標地址 必須相信他是好人
想來想去還是覺得兩條路都行不通吧
========回覆更新========
拍謝 好像還真的可以
所有委託人的目標地址和要轉的金額都先寫進合約
但不記錄目標地址跟委託人的對應關係
確認無誤的委託人就會轉錢進去合約裡 發現錯誤的委託人就不會轉錢進去
錢到齊之後合約就把錢分配到目標地址 沒到齊就退款
這方法應該也是不需要信任第三方
推
06/25 21:47,
6年前
, 18F
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:00, 23F
→
06/25 22:01,
6年前
, 24F
06/25 22:01, 24F
欸~不行降啊
我是想釐清盲點
直接丟code太硬了
推
06/25 22:02,
6年前
, 25F
06/25 22:02, 25F
推
06/25 22:15,
6年前
, 26F
06/25 22:15, 26F
→
06/25 22:15,
6年前
, 27F
06/25 22:15, 27F
推
06/25 23:06,
6年前
, 28F
06/25 23:06, 28F
→
06/25 23:06,
6年前
, 29F
06/25 23:06, 29F
→
06/25 23:06,
6年前
, 30F
06/25 23:06, 30F
3Q
推
06/25 23:37,
6年前
, 31F
06/25 23:37, 31F
其實我也覺得以太坊 coinjoin 這樣做的話的確會花比較多錢
畢竟這種用合約代轉到不同目標地址的機制
要多好幾道交易 跑code也要花gas 常常做感覺很花錢
而比特幣的 coinjoin 只要大家分攤一個超大交易的手續費就好了
跟平常自己發交易花的手續費應該一樣多 所以做幾次都沒差
推
06/25 23:57,
6年前
, 32F
06/25 23:57, 32F
→
06/25 23:57,
6年前
, 33F
06/25 23:57, 33F
→
06/25 23:59,
6年前
, 34F
06/25 23:59, 34F
→
06/25 23:59,
6年前
, 35F
06/25 23:59, 35F
Zn-Shark...是梗ㄇ
???
@_@
???
推
06/26 00:14,
6年前
, 36F
06/26 00:14, 36F
※ 編輯: kugwa (140.112.232.231), 06/26/2018 01:54:09
推
07/12 21:05,
5年前
, 37F
07/12 21:05, 37F
→
07/12 21:26,
5年前
, 38F
07/12 21:26, 38F
DigiCurrency 近期熱門文章
PTT數位生活區 即時熱門文章