NXTER.ORG

混幣(Coin Shuffle)

images

混幣(Coin Shuffle)是一個隱私功能,它可以讓用戶快速高效地與其他用戶的資金進行混合,在現有的用戶帳戶和混幣後的新帳戶之間創建隨機的映射關係。
該功能是基於TimRuffing在Bitcointalk.org上的描述以及它的學術論文而來的。

概覽

CYSrWUpWEAA8Vfr
該功能是基於NXT區塊鏈而實施的,消除了現存的協力廠商混幣服務中存在的手動步驟和信任問題。用戶端錢包提供了用於監控和操作的介面。

可以對NXT、資產以及貨幣進行混幣,混幣創建者在創建混幣時可以指明混幣類型。

任何帳戶都可以創建混幣並指明混幣類型、混幣數量、參與人數和註冊截止日期。

這是通過shufflingCreate API來實現的。接下來的混幣步驟可以通過使用shufflingRegister、shufflingProcess和shufflingVerify或shufflingCancel APIs來手動執行。

然而由於混幣處理過程的複雜性以及操作時間預測的難度等原因,不可能手動來處理混幣。因此,混幣是通過一個自動單元“混幣器”使用startShuffler API來管理執行的。

一旦啟動,混幣器就會監控與指定的混幣相關交易的區塊鏈狀態,而且會代表使用者自動提交所需的交易,根據需求執行混幣處理、驗證或取消。為了實現這些,混幣器需要將使用者的密碼保存在記憶體中,與鍛造時的情況類似。與鍛造一樣,節點重啟或崩潰都需要手動重啟混幣器。在混幣成功完成或取消之後,混幣器還會繼續運行720個區塊,以確保萬一出現區塊回滾重寫(儘管不太可能)時混幣仍然是啟動的。

每一個節點/混幣/參與者都有混幣器。單個節點可以運行的混幣器的最大數目是100個。

除了混幣所需的貨幣或資產數目外,參與混幣還需要至少有1000NXT的押金,如果是混幣NXT,則混幣金額數目必須要大於1000NXT。

當一個混幣成功完成後,參與混幣的錢幣會添加到接收者帳戶中以進行發送出去的交易(只能使用新創建的、未使用過的帳戶作為接收者帳戶)。如果由於註冊參與者沒有按照要求參與混幣或故意提交錯誤資料而導致混幣失敗,那麼導致混幣失敗的參與者將會被處罰1000NXT押金,處罰的押金會分發給混幣完成區塊的鍛造者以及之前3個區塊鍛造者。如果由於參與人數沒有達到要求而導致混幣取消,所有人都不會收到處罰,所有的押金都將退還。在測試網路中,押金和處罰金都是7NXT。

混幣註冊完成後,參與者必須要在100個區塊時間段內(測試網路是10個區塊)提交處理資料。驗證和處罰階段,所有參與者的時間限制是 100+參與人數 個區塊(測試網路是10+參與人數 個區塊)。在任何階段,如果截止時間到後還有參與者沒有提交所需的交易資料,混幣將會取消,這個參與者將會損失它的1000NXT的押金。這個過程是由混幣器處理的。因此註冊一個混幣後,保證混幣器啟動、並運行至混幣成功完成是很關鍵的。如果節點重啟了,那麼之前所有的混幣器都需要手動重啟。

訪問取回目前運行的混幣器、混幣以及混幣參與者的APIs是:getAllShufflings,getAccountShufflings,getAssignedShufflings,getHoldingShufflers,getShufflingParticipants。

如果將nxt.deleteFinishedShufflings屬性設置為true(預設是false),那麼完成的混幣會自動從資料庫中刪除。

創建一個混幣或註冊一個混幣的費用是1 NXT,混幣處理和混幣取消的費用是10NXT,驗證交易的費用是1NXT。

警告:

  1. 混幣參與者的接收帳戶必須是新創建的帳戶。參與者需要給這個新帳戶創建很強的額密碼,並將其妥善保存好,以備後續之用。如果密碼不夠強或保存不當,可能會導致你的資金損失。
  2. 一當一個帳戶創建了一個混幣或註冊成為一個混幣參與者,該帳戶使用的節點必須要保持線上,混幣器必須要保持啟動。混幣器的狀態可以使用“My Shufflings”頁面來監控。如果你的節點重啟了,那麼一定要重啟與你的帳戶參與的所有相關的混幣器。

【原文】
https://bitbucket.org/JeanLucPicard/nxt/issues/325/coin-shuffling

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

混币(Coin Shuffle)

混币(Coin Shuffle)是一个隐私功能,它可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系。
该功能是基于TimRuffing在Bitcointalk.org上的描述以及它的学术论文而来的。

概览

该功能是基于NXT区块链而实施的,消除了现存的第三方混币服务中存在的手动步骤和信任问题。客户端钱包提供了用于监控和操作的界面。

可以对NXT、资产以及货币进行混币,混币创建者在创建混币时可以指明混币类型。

任何账户都可以创建混币并指明混币类型、混币数量、参与人数和注册截止日期。

这是通过shufflingCreate API来实现的。接下来的混币步骤可以通过使用shufflingRegister、shufflingProcess和shufflingVerify或shufflingCancel APIs来手动执行。

然而由于混币处理过程的复杂性以及操作时间预测的难度等原因,不可能手动来处理混币。因此,混币是通过一个自动单元“混币器”使用startShuffler API来管理执行的。

一旦启动,混币器就会监控与指定的混币相关交易的区块链状态,而且会代表用户自动提交所需的交易,根据需求执行混币处理、验证或取消。为了实现这些,混币器需要将用户的密码保存在内存中,与锻造时的情况类似。与锻造一样,节点重启或崩溃都需要手动重启混币器。在混币成功完成或取消之后,混币器还会继续运行720个区块,以确保万一出现区块回滚重写(尽管不太可能)时混币仍然是激活的。

每一个节点/混币/参与者都有混币器。单个节点可以运行的混币器的最大数目是100个。

除了混币所需的货币或资产数目外,参与混币还需要至少有1000NXT的押金,如果是混币NXT,则混币金额数目必须要大于1000NXT。

当一个混币成功完成后,参与混币的钱币会添加到接收者账户中以进行发送出去的交易(只能使用新创建的、未使用过的账户作为接收者账户)。如果由于注册参与者没有按照要求参与混币或故意提交错误数据而导致混币失败,那么导致混币失败的参与者将会被处罚1000NXT押金,处罚的押金会分发给混币完成区块的锻造者以及之前3个区块锻造者。如果由于参与人数没有达到要求而导致混币取消,所有人都不会收到处罚,所有的押金都将退还。在测试网络中,押金和处罚金都是7NXT。

混币注册完成后,参与者必须要在100个区块时间段内(测试网络是10个区块)提交处理数据。验证和处罚阶段,所有参与者的时间限制是 100+参与人数 个区块(测试网络是10+参与人数 个区块)。在任何阶段,如果截止时间到后还有参与者没有提交所需的交易数据,混币将会取消,这个参与者将会损失它的1000NXT的押金。这个过程是由混币器处理的。因此注册一个混币后,保证混币器启动、并运行至混币成功完成是很关键的。如果节点重启了,那么之前所有的混币器都需要手动重启。

访问取回目前运行的混币器、混币以及混币参与者的APIs是:getAllShufflings,getAccountShufflings,getAssignedShufflings,getHoldingShufflers,getShufflingParticipants。

如果将nxt.deleteFinishedShufflings属性设置为true(默认是false),那么完成的混币会自动从数据库中删除。

创建一个混币或注册一个混币的费用是1 NXT,混币处理和混币取消的费用是10NXT,验证交易的费用是1NXT。

警告:

  • 混币参与者的接收账户必须是新创建的账户。参与者需要给这个新账户创建很强的额密码,并将其妥善保存好,以备后续之用。如果密码不够强或保存不当,可能会导致你的资金损失。
  • 一当一个账户创建了一个混币或注册成为一个混币参与者,该账户使用的节点必须要保持在线,混币器必须要保持激活。混币器的状态可以使用“My Shufflings”页面来监控。如果你的节点重启了,那么一定要重启与你的账户参与的所有相关的混币器。


【原文】
https://bitbucket.org/JeanLucPicard/nxt/issues/325/coin-shuffling

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.