求助!求助!求助!请mixin的技术团队帮帮我!

Viewed 144

2.5 XIN 解锁 — 完整诊断报告

App ID: ccab5940-9855-4459-823f-9bd1136499af

资金状态

两笔 XIN(0.0048081 + 2.5 = 2.5048081)卡在 Safe 状态机里。

完整链路

  1. 7/26 套利程序转入两笔 XIN 到 Safe
  2. Safe MTG 创建合并交易:消费两个 UTXO,输出两个新 UTXO
  3. 交易被签名但从未上链(内核拒绝)
  4. 两个 output 长期处于 signed 状态,资金无法动用

根因:Ghost Key 重复

内核交易 tx_hash: d08539fe32b0f882b871fff24242506f57db0b971fbf67b0f3eef546f2e74f5c

该交易有 2 个 output,但 Safe 生成了完全相同的 ghost key 和 mask

output[0] ghost_key: 651ff031b126f65bd77e281adc125ad185f67adc7ab472194a2cecb8bedb4b
output[1] ghost_key: 651ff031b126f65bd77e281adc125ad185f67adc7ab472194a2cecb8bedb4b
mask:                e2a8b8d81a9737a49ff9024090d5814357a056b788119f6edea7820eaa51db1d

Mixin Kernel 拒绝重复 ghost key(v0.19.3 已移除 legacy ghost key duplication fork hack)。

已尝试的方法

  • POST /pin/verify(TIP PIN)→ ✅ HTTP 200,PIN 验证成功
  • POST /safe/multisigs/{rid}/cancel → HTTP 200 但状态不变(signed 是终态)
  • POST /safe/multisigs/{rid}/unlock → 403 Forbidden
  • POST /safe/transactions(提交原始 raw)→ HTTP 200 但内核不处理

需要人工操作

Safe 数据库中将以下两个 output 的 state 从 signed 重置为 unspent

  1. output_id: 9f9c700a-94c9-3b67-a9bd-5a739bd57823 (2.5 XIN)
  2. output_id: 39398feb-d5ae-31ed-9045-02d6e0c97b08 (0.0048081 XIN)

关联 request_id: 99771c62-925e-415b-be97-3ab887684227

重置后 Safe MTG 会自动重新处理,生成正确的(唯一)ghost key。

2 Answers

你这具体的交易是啥?在浏览器能查到的你咋转给 Safe 的具体交易 https://mixin.space/

东哥!请听我说,主要还是我用ai做的时候出现了意外,以下是具体的问题和困难:

2.5 XIN 卡在 Safe 无法取出 — 情况说明

背景

我在 Mixin 上创建了应用(ccab5940-9855-4459-823f-9bd1136499af),尝试做自动化交易。套利程序将 2.5048081 XIN 转入应用的 Safe 后,资金被卡住。

入金记录(mixin.space 可查)

问题所在

Safe 将两笔入金合并成一笔交易(tx_hash: d08539fe32b0f882b871fff24242506f57db0b971fbf67b0f3eef546f2e74f5c),但该交易两个 output 生成了完全相同的 ghost key,导致内核拒绝上链。交易永远卡在 "signed" 状态。

当前困难

  • 客户端 API 无法将 signed 状态回退到 unspent
  • 所有 cancel / unlock / revoke 端点均无效
  • POST /safe/transactions 重新提交原始 raw → 内核仍拒绝
  • 账户 XIN 余额为 0,资金在 Safe 数据库里但无法动用

需要的帮助

在 Safe 数据库中将以下 output 从 signed 重置为 unspent:

  • output_id: 9f9c700a-94c9-3b67-a9bd-5a739bd57823 (2.5 XIN)
  • output_id: 39398feb-d5ae-31ed-9045-02d6e0c97b08 (0.0048081 XIN)

App ID: ccab5940-9855-4459-823f-9bd1136499af
Identity: 7000105438

以下是一个清晰的技术回复;
=== KERNEL TRANSACTION INFO ===

Transaction Hash:
d08539fe32b0f882b871fff24242506f57db0b971fbf67b0f3eef546f2e74f5c

Input UTXOs:

  1. bd8be3556eaa1d075564a56bc4df089451403d4db167bf99fe621f99432ca796:0
    Amount: 0.0048081 XIN
    Ghost Key: ee4722f81c9bdbbced5948596ec81467d2611a6c5d4244feb1e9dff62a22bd3e

  2. 555436b5b7cdf4b9d2347a5c8f886948a1a966ac81c821403ce585becc78ffe2:0
    Amount: 2.5 XIN
    Ghost Key: 729ceb67944e5f4b45fcdd80cc703d70065978afdf58a3b84b4448df55aa17c3

Both UTXOs state: SIGNED (locked to this tx)

Outputs (decoded from raw):
Output[0]: amount=0.0048081 XIN
ghost_key: 00651ff031b126f65bd77e281adc125ad185f67adc7ab472194a2cecb8bedb4be
mask: 2a8b8d81a9737a49ff9024090d5814357a056b788119f6edea7820eaa51db1d

Output[1]: amount=2.5 XIN
ghost_key: 00651ff031b126f65bd77e281adc125ad185f67adc7ab472194a2cecb8bedb4be <-- SAME!
mask: 2a8b8d81a9737a49ff9024090d5814357a056b788119f6edea7820eaa51db1d <-- SAME!

-> Both outputs have identical ghost_key and mask
-> Kernel rejects: "invalid output key" (duplicate ghost key)

-> Mixin Kernel v0.19.3 (Jul 31): removed legacy ghost key duplication hack
-> Before v0.19.3: kernel would have accepted duplicate ghost keys
-> After v0.19.3: duplicate ghost keys are correctly rejected

Full Raw Transaction (848 bytes hex):
77770005a99c2e0e2b1da4d648755ef19bd95139acbbe6564cfb06dec7cd3493
1ca72cdc0002bd8be3556eaa1d075564a56bc4df089451403d4db167bf99fe62
1f99432ca7960000000000000000555436b5b7cdf4b9d2347a5c8f886948a1a9
66ac81c821403ce585becc78ffe20000000000000000000200000002bbd10001
00651ff031b126f65bd77e281adc125ad185f67adc7ab472194a2cecb8bedb4b
e2a8b8d81a9737a49ff9024090d5814357a056b788119f6edea7820eaa51db1d
0003fffe010000000000040eed4cd9000100651ff031b126f65bd77e281adc12
5ad185f67adc7ab472194a2cecb8bedb4be2a8b8d81a9737a49ff9024090d581
4357a056b788119f6edea7820eaa51db1d0003fffe0100000000000000000002
00010000ee025614be7e077a678394b1cb7494fc36326a30c9b14a5656cb1b93
e845fde43f119ee64d86020fd08f035ad8f74c8d182727ad1e991bb45d4e47c0
55abe40b00010000d9c6c0a09794f619fe3e17bae4b4571951c7500db3e46c24
045c234e9cf468124845499fa3e9c72597c4143c66774102d37bf3bad81b23ec
6998fccbab2cfe05

=== ROOT CAUSE ===
Safe API generated a transaction with 2 outputs to the same receiver.
Both outputs got the same ghost key (output_index was not incorporated).
Kernel v0.19.3 removed the hack that allowed duplicates -> tx rejected.
Safe API marked UTXOs as "signed" (committed to this tx) -> no rollback path.

=== WHAT WE NEED ===
Reset these two UTXOs from state=signed back to state=unspent:
39398feb-d5ae-31ed-9045-02d6e0c97b08 (0.0048081 XIN)
9f9c700a-94c9-3b67-a9bd-5a739bd57823 (2.5 XIN)

After reset, Safe API MTG will reprocess and generate correct (unique) ghost keys.