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 協定怎麼做
大概弄懂了
總之差不多就是:
所有委託人的目標地址和要轉的金額都先寫進合約
但不記錄目標地址跟委託人的對應關係
確認無誤的委託人就會轉錢進去合約裡 發現錯誤的委託人就不會轉錢進去
錢到齊之後合約就把錢分配到目標地址 沒到齊就退款