Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
14 ноября 2016, 7:53:29 PM   # 1
 
 
Сообщения: 157
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Привет, может кто-нибудь дать мне руку с ошибкой?

16: обязательный-скрипт-проверка-флага не удалось (Подпись должна быть равна нулем при сбое ПРОВЕРКИ (MULTI) операции SIG)

Я получаю сообщение об ошибке, когда я пытаюсь отправить сделку в regtest (я не проверял в других сетях). Детали:


Код:
Bitcoin-кли sendrawtransaction "01000000019a6f1c41fd248d499742f5d35f8fa261be00a0a187785eefe5d1cacb42abe2930000000048473044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01ffffffff0250bb052a010000001976a914aa9fcf69961a101de1a3279238657391e9f8141b88ac0000000000000000226a20d4962daf2b2f39666bcd8d35df1357c5608b7019791c20812cd9108b830388bc00000000"
Код ошибки: -26
сообщение об ошибке:
16: обязательный-скрипт-проверка-флага не удалось (Подпись должна быть равна нулем при сбое ПРОВЕРКИ (MULTI) операции SIG)



Код:
Bitcoin-кли decoderawtransaction "01000000019a6f1c41fd248d499742f5d35f8fa261be00a0a187785eefe5d1cacb42abe2930000000048473044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01ffffffff0250bb052a010000001976a914aa9fcf69961a101de1a3279238657391e9f8141b88ac0000000000000000226a20d4962daf2b2f39666bcd8d35df1357c5608b7019791c20812cd9108b830388bc00000000"
{
  "TXID": "eb09809dcedeca7874c5b9457256e8418ba00d96a35d9e3526f17a7f11030e36",
  "гашиш": "eb09809dcedeca7874c5b9457256e8418ba00d96a35d9e3526f17a7f11030e36",
  "размер": 200,
  "VSIZE": 200,
  "версия": 1,
  "Locktime": 0,
  "Vin": [
    {
      "TXID": "93e2ab42cbcad1e5ef5e7887a1a000be61a28f5fd3f54297498d24fd411c6f9a",
      "Vout": 0,
      "scriptSig": {
        "как м": "3044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d [ALL]",
        "наговор": "473044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01"
      },
      "последовательность": 4294967295
    }
  ],
  "Vout": [
    {
      "стоимость": 49.99986000,
      "N": 0,
      "scriptPubKey": {
        "как м": "OP_DUP OP_HASH160 aa9fcf69961a101de1a3279238657391e9f8141b OP_EQUALVERIFY OP_CHECKSIG",
        "наговор": "76a914aa9fcf69961a101de1a3279238657391e9f8141b88ac",
        "reqSigs": 1,
        "тип": "pubkeyhash",
        "адреса": [
          "mw58cUP45n5S3cA82p5nFxNWYT8L4YZWHw"
        ]
      }
    },
    {
      "стоимость": 0.00000000,
      "N": 1,
      "scriptPubKey": {
        "как м": "OP_RETURN d4962daf2b2f39666bcd8d35df1357c5608b7019791c20812cd9108b830388bc",
        "наговор": "6a20d4962daf2b2f39666bcd8d35df1357c5608b7019791c20812cd9108b830388bc",
        "тип": "nulldata"
      }
    }
  ]
}

Вы можете увидеть, что это не так? Спасибо.


ОБНОВИТЬ:


Код:
C: \ Users \ lucas.ontivero>Bitcoin-кли decodescript 473044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01
{
  "как м": "3044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01",
  "тип": "нестандартный",
  "p2sh": "2N1ceLS8UmGjqnduV5G11suZKpjoDd49dNH"
}

Это говорит тип: нестандартный! Зачем?
lontivero сейчас офлайн Пожаловаться на lontivero   Ответить с цитированием Мультицитирование сообщения от lontivero Быстрый ответ на сообщение lontivero


Как заработать Биткоины?
Без вложений. Не майнинг.


14 ноября 2016, 7:57:24 PM   # 2
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Получил 1806 Биткоинов
Реальная история.





Это означает, что у вас плохая подпись. Что вы сделали, чтобы подписать сделку? Какой выход, что вы тратите от?
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

14 ноября 2016, 8:14:39 PM   # 3
 
 
Сообщения: 157
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Это означает, что у вас плохая подпись. Что вы сделали, чтобы подписать сделку? Какой выход, что вы тратите от?

Это то, что я сделал:

Во-первых, я генерируется 101 блоков с:

Код:
Bitcoin-кли генерируют 101

Далее я перечислить неизрасходованные выходы:

Код:
Bitcoin-кли listunspent
[
  {
    "TXID": "36f79ff9e543de7eeb589cf65dc9fa5bc36db7c5a96ae6b8f05d89f96ffa4088",
    "Vout": 0,
    "адрес": "mkwLRxyMhe8ZXc37g12oVXtCbcTV6vQ4me",
    "scriptPubKey": "2102b9567015d1a0dc9337b35bc23222b017b48487c46c9063155b9ec4499b99d421ac",
    "количество": 50.00000000,
    "подтверждения": 101,
    "расходуемого": правда,
    "разрешимый": правда
  }
]

Я получаю секретный ключ для адреса, содержащего 50btc:

Код:
Bitcoin-кли dumpprivkey mkwLRxyMhe8ZXc37g12oVXtCbcTV6vQ4me
cUBBp6TfHmyhrApkrVGiP83DCTtdnHHEreXe8eJwANv2tLUUcLAv


и, наконец, мой код выглядит следующим образом: (. Я не прошу проверки кода, что я хочу показать, что я имею в заключении сделки с закрытым ключом, полученным Фрон utxo)

Код:
Задача общественного асинхронной<байт[]> PersistAsync (байты [] данные)
{
вар монета = ждет _repository.GetUnspentCoinsAsync ();
если (! coins.Any ())
проливают новый Exception ("Нет достаточно денег");

вар монета = coins.First ();

вар valueIn = coin.Amount.Satoshi;
вар changeAddress = BitcoinAddress.Create ("mw58cUP45n5S3cA82p5nFxNWYT8L4YZWHw"); // один из моих адресов
вар Тх = новую транзакцию ();

вар changeTxOut = новый TxOut (valueIn, changeAddress);
вар digestTxOut = новый TxOut (0, новый сценарий (OpcodeType.OP_RETURN, Op.GetPushOp (данные)));

tx.Inputs.Add (новый TxIn (coin.Outpoint));
tx.Outputs.Add (changeTxOut);
tx.Outputs.Add (digestTxOut);

вар feeRate = ждут _feeProvider.GetFeeAsync ();
вар effectiveFee = 0L;
вар suggestedFee = feeRate.GetFee (ТХ);

вар ключ = Key.Parse ("cUBBp6TfHmyhrApkrVGiP83DCTtdnHHEreXe8eJwANv2tLUUcLAv");
в то время как (effectiveFee < suggestedFee)
{
changeTxOut.Value = valueIn - suggestedFee;
tx.Sign (ключ, монета); // <---------- ЗДЕСЬ Я подписываю ВХОД с закрытым ключом

effectiveFee = valueIn - tx.Outputs [0] .Value.Satoshi;
suggestedFee = feeRate.GetFee (ТХ);
}

ждут _repository.PushAsync (ТХ);
вернуться tx.GetHash () ToBytes ().
}


lontivero сейчас офлайн Пожаловаться на lontivero   Ответить с цитированием Мультицитирование сообщения от lontivero Быстрый ответ на сообщение lontivero

14 ноября 2016, 8:16:44 PM   # 4
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Так что же на самом деле tx.Sign делать? Что такое код для этого? Вы используете определенную библиотеку для этого?
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

14 ноября 2016, 8:38:05 PM   # 5
 
 
Сообщения: 157
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Так что же на самом деле tx.Sign делать? Что такое код для этого? Вы используете определенную библиотеку для этого?

tx.Sign подписывает конкретная монета с данным секретным ключом, я использую https://github.com/MetacoSA/NBitcoin библиотека.

Код для временных меток данных в Bitcoin blockchain.
lontivero сейчас офлайн Пожаловаться на lontivero   Ответить с цитированием Мультицитирование сообщения от lontivero Быстрый ответ на сообщение lontivero

14 ноября 2016, 8:48:52 PM   # 6
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

ОБНОВИТЬ:


Код:
C: \ Users \ lucas.ontivero>Bitcoin-кли decodescript 473044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01
{
  "как м": "3044022027e72718acc7a14b3654cc4e86cb5d46d5ca020e327d9941a7965a3e9a52a4840220243a7ed16753f46194ffbdec68c4fa300c23cba30e499a147eba383f47119c2d01",
  "тип": "нестандартный",
  "p2sh": "2N1ceLS8UmGjqnduV5G11suZKpjoDd49dNH"
}

Это говорит тип: нестандартный! Зачем?

Это не сценарий. То есть подпись, а не сценарий. Decodescript следует использовать для вывода скриптов или redeemscript из выхода p2sh, а не полный scriptsig от входа.

tx.Sign подписывает конкретная монета с данным секретным ключом, я использую https://github.com/MetacoSA/NBitcoin библиотека.

Код для временных меток данных в Bitcoin blockchain.

Так как вы используете NBitcoin, само подписание должно быть правильным. Проблема заключается в том, вероятно, что вы построили сделку неправильно. Тем не менее, я не знаком с NBitcoin, поэтому я не уверен, что именно неправильно.
achow101 сейчас офлайн Пожаловаться на achow101   Ответить с цитированием Мультицитирование сообщения от achow101 Быстрый ответ на сообщение achow101

24 ноября 2016, 6:27:07 PM   # 7
 
 
Сообщений: 98
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Был еще один поток с подобной проблемой


Поднимите им будет пытаться найти его в 1 сек
myparentsdisownedme сейчас офлайн Пожаловаться на myparentsdisownedme   Ответить с цитированием Мультицитирование сообщения от myparentsdisownedme Быстрый ответ на сообщение myparentsdisownedme

4 августа 2017, 2:20:29 AM   # 8
 
 
Сообщений: 13
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

Поднимите им будет пытаться найти его в 1 сек

Вы когда-нибудь решить эту проблему? У меня такая же ошибка при попытке разделить несколько монет из моего бумажника бумаги multisig. Я был в состоянии переместить эти монеты штрафа на Bitcoin, но при создании необработаннога сделки в BitcoinABC клиенте я получаю эту ошибку при попытке трансляции. Есть дополнительный / другой параметр для `createrawtransaction` или` signrawtransaction` Я не в курсе? 

Код:

decodescript 5241049d1b6d42d4a8a3e8804571fc08e57cc20fe88f0d2d9c81a6994871919ffc7d931a0d554e35d095fa7d9f469f5dee9f9b5acd283dc141a90be64322289aa125914104b8cd3bc653efb0752d82b451dfe53f978cd38464188aa6399b339702c40396b2892f34adf73ea43829b446fe9143581a412b6094f4aeaa47c52984859a96a2ee4104f21aebac0c331445fdafbe425d45ea99b8d46ef07a06ee7780ef3f347183e9eb40a512fb681f96117ab15165d83d0925e193de751a7e6da7ed93c209f0b58e0253ae



{
  "как м": "2 049d1b6d42d4a8a3e8804571fc08e57cc20fe88f0d2d9c81a6994871919ffc7d931a0d554e35d095fa7d9f469f5dee9f9b5acd283dc141a90be64322289aa12591 04b8cd3bc653efb0752d82b451dfe53f978cd38464188aa6399b339702c40396b2892f34adf73ea43829b446fe9143581a412b6094f4aeaa47c52984859a96a2ee 04f21aebac0c331445fdafbe425d45ea99b8d46ef07a06ee7780ef3f347183e9eb40a512fb681f96117ab15165d83d0925e193de751a7e6da7ed93c209f0b58e02 3 OP_CHECKMULTISIG",
  "reqSigs": 2,
  "тип": "multisig",
  "адреса": [
    "1NWZpxQ1ATrJKqdTqSPSWgEQrRWCfEYSM8",
    "18kMNg2Mw1v88NViKePVMD1o38FWj5zzLu",
    "14izfR267otujhjq39xZyi9JGrkGSiDcjY"
  ],
  "p2sh": "3MD9o1jtghDJALtDGambXbkyu2MvSS15ZR"
}

     
Код:

decoderawtransaction 020000000119485fd232b8fd0c8d103db6b6a8914e76606fbf07f9ba301275878a430dd01c00000000fd5c0100473044022046d64b21572c8f5377463aaedb0fb6a2a0cef83781b39e445fd20f44908dc6e002201a94a2ec336a8819f821cb19d21f1836902779993c0760d2a2bc9e0ea68faf6d4147304402204024b83e039cc8e96bb3d57293ba2d0b902fe9ab9ce4b1b6b6cf22f48799dd57022026df4b8a6406828050e9ddbb7014885318772064d326101c87ac0a951ce578b4414cc95241049d1b6d42d4a8a3e8804571fc08e57cc20fe88f0d2d9c81a6994871919ffc7d931a0d554e35d095fa7d9f469f5dee9f9b5acd283dc141a90be64322289aa125914104b8cd3bc653efb0752d82b451dfe53f978cd38464188aa6399b339702c40396b2892f34adf73ea43829b446fe9143581a412b6094f4aeaa47c52984859a96a2ee4104f21aebac0c331445fdafbe425d45ea99b8d46ef07a06ee7780ef3f347183e9eb40a512fb681f96117ab15165d83d0925e193de751a7e6da7ed93c209f0b58e0253aeffffffff01c024ec38000000001976a914f5b04fed557924a2d454c35354f59f2c9e3a8d4388ac00000000


{
  "TXID": "613db8a55c39d61450555e62a0824ff4595e0a5bff3be75386ae75d15ff99422",
  "гашиш": "613db8a55c39d61450555e62a0824ff4595e0a5bff3be75386ae75d15ff99422",
  "размер": 435,
  "версия": 2,
  "Locktime": 0,
  "Vin": [
    {
      "TXID": "1cd00d438a87751230baf907bf6f60764e91a8b6b63d108d0cfdb832d25f4819",
      "Vout": 0,
      "scriptSig":
        "как м": "0 3044022046d64b21572c8f5377463aaedb0fb6a2a0cef83781b39e445fd20f44908dc6e002201a94a2ec336a8819f821cb19d21f1836902779993c0760d2a2bc9e0ea68faf6d [ALL,
      "последовательность": 4294967295
    }
  ],
  "Vout": [
    {
      "стоимость": 9.55000000,
      "N": 0,
      "scriptPubKey": {
        "как м": "OP_DUP OP_HASH160 f5b04fed557924a2d454c35354f59f2c9e3a8d43 OP_EQUALVERIFY OP_CHECKSIG",
        "наговор": "76a914f5b04fed557924a2d454c35354f59f2c9e3a8d4388ac",
        "reqSigs": 1,
        "тип": "pubkeyhash",
        "адреса": [
          "1PQ5mPPG19J13Be793ee3c3mXqVABPZHKK"
        ]
      }
    }
  ]
}


Любая идея, что я сделал не так?

Я следовал этой схеме при построении моей сделки.
Код:
createrawtransaction «[{"TXID":"","Vout":}]»«{"receive_address": 0,0008}»
signrawtransaction 'hash_from_createraw' «[{"TXID":"","Vout":,"scriptPubKey":"","redeemScript":""}]»«["priv_key"]»
signrawtransaction 'hash_from_signraw' «[{"TXID":"","Vout":,"scriptPubKey":"","redeemScript":""}]»«["priv_key2"]»
MaxSoocha сейчас офлайн Пожаловаться на MaxSoocha   Ответить с цитированием Мультицитирование сообщения от MaxSoocha Быстрый ответ на сообщение MaxSoocha

26 августа 2017, 7:38:27 AM   # 9
 
 
Сообщений: 48
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

То же самое здесь ... при переносе на ABC клиент, мульти-сиг операция не работает. Получение же ошибку:

JamesBold сейчас офлайн Пожаловаться на JamesBold   Ответить с цитированием Мультицитирование сообщения от JamesBold Быстрый ответ на сообщение JamesBold

23 октября 2017, 9:28:51 PM   # 10
 
 
Сообщения: 6
Цитировать по имени
цитировать ответ
по умолчанию Re: Ошибка: Подпись должна быть равна нулю при сбое ПРОВЕРКА (MULTI) операции SIG

в "signrawtransaction" Команда, которую вы должны указать оригинал (всего!) количество адрес P2SH:

signrawtransaction $ RAW_TX "[{\"TXID \": \"$ UTXO_TXID \",\"количество\": $ ORIGAMOUNT,\"Vout \": $ UTXO_VOUT, \"scriptPubKey \": \"$ UTXO_OUTPUT_SCRIPT \"\"redeemScript \": \"$ P2SH_REDEEM_SCRIPT \"}]" "[\"$ PRIVATE_KEY1 \"]"
Carsten83FFM сейчас офлайн Пожаловаться на Carsten83FFM   Ответить с цитированием Мультицитирование сообщения от Carsten83FFM Быстрый ответ на сообщение Carsten83FFM



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW