Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
30 августа 2014, 5:55:58 AM   # 1
 
 
Сообщения: 252
Цитировать по имени
цитировать ответ
по умолчанию Re: транзакционных скелетов Проверка BlockCypher до подписания

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


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

BlockCypher транзакции сборки и отправки рабочего процесса: http://dev.blockcypher.com/samples/create-tx.html

Код:
POST https://api.blockcypher.com/v1/btc/main/txs/new
> {
>   "входные": [
>     {"адреса": ["1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD"]}
>   ],
>   "выходы": [
>     {"адреса": ["1FGAsJFNgWvFz2tWQAnRq8S6fVX9Zmuxje"], "стоимость": +500000}
>   ]
> }
{
  "Техас": {
    "block_height": -1,
    "гашиш": "f961dea839fd69653547a0308360de67846a49d3593f7459773e27af8d9f5ec0",
    "адреса": [
      "1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD",
      "1FGAsJFNgWvFz2tWQAnRq8S6fVX9Zmuxje",
    ],
    "Всего": 661116,
    "сборы": 10000,
    "получено": "2014-04-20T23: 52: 21.069978821Z",
    "вер": 1,
    "lock_time": 0,
    "vin_sz": 2,
    "vout_sz": 2,
    "подтвердил": 0,
    "входные": [
      {
        "prev_hash": "0c83c8321537a7c79dc6214788944ba6cd5ea76f0594453b6251fcf1856f2e4b",
        "output_index": 0,
        "скрипт": "",
        "output_value": 171116,
        "адреса": [
          "1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD"
        ],
        "script_type": "оплата за Публичным-хэш"
      },
      {
        "prev_hash": "995a50e05d197be88d4da74160b4bcd2c363ebb1a49f95e572667d580bc70aba",
        "output_index": 0,
        "скрипт": "",
        "output_value": +500000,
        "адреса": [
          "1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD"
        ],
        "script_type": "оплата за Публичным-хэш"
      }
    ],
    "выходы": [
      {
        "стоимость": +500000,
        "скрипт": "76a9149c703cb3e9f1a2a154e548b3acafd0054d4835a788ac",
        "адреса": [
          "1FGAsJFNgWvFz2tWQAnRq8S6fVX9Zmuxje"
        ],
        "script_type": "оплата за Публичным-хэш"
      },
      {
        "стоимость": 161116,
        "скрипт": "76a9148629647bd642a2372d846a7660e210c8414f047c88ac",
        "адреса": [
          "1DEP8i3QJCsomS4BSMY2RpU1upv62aGvhD"
        ],
        "script_type": "оплата за Публичным-хэш"
      }
    ]
  },
  "подписывать": [
    "04779733bba8085dd86c21d86c8f9e786a1124751c42061d4c539229a07c4464",
    "0396ea6f1bf7493e738339bd720267e7281144b222343ffe4167e00792c62ff2"
  ]
}

Вопрос:

Что это самый простой способ проверить, что "подписывать" хэш фактически соответствуют правильным сделкам (то есть на самом деле сделка с указанным "вход" к указанному "вывод")? Решение должно быть чистым на стороне клиента браузера JavaScript и совместимы на всех современных мобильных устройств.
правда-актив сейчас офлайн Пожаловаться на истинный-актив   Ответить с цитированием Мультицитирование сообщения от истинного актива Быстрый ответ на сообщение истинно актив


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


31 августа 2014, 8:33:39 PM   # 2
 
 
Сообщений: 26
Цитировать по имени
цитировать ответ
по умолчанию Re: транзакционных скелетов Проверка BlockCypher до подписания

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





Я действительно хотел, чтобы я имел лучший ответ на этот вопрос, но, к сожалению, это невозможно, так как есть. Данные, которые получают подписаны, а затем проверяются с помощью операции OP_CHECKSIG хэш данных транзакций, и это то, как работают скрипты, а не то, что мы можем изменить. Таким образом, детали сделки не могут быть извлечены и проверены больше после хэшируются.

Что мы можем сделать, это, если параметр, вернет вам данные о транзакции. Вы должны хэширования сами перед подписанием, но по крайней мере всю информацию, все равно будет там. Проверка будет по-прежнему не тривиальна, хотя, как вы должны были бы Base58 декодировать адрес. При условии, что все, у меня есть функция вы могли бы получить некоторое вдохновение от делать проверку (только проверяет выход, но на практике это то, что вы действительно заботитесь о):

FUNC Проверка (txdata [] байт, outputAddress строка) BOOL {
  если Len (txdata) < 25 {вернуться ложным}
  декодируется: = base58Decode (outputAddress)
  // последние 4 байта ТХ является временем блокировки, байты перед OP_CHECKSIG, адрес перед этим
  // перед являются длина адреса, OP_DUP OP_HAS160 и длина сценария
  Выход: = txdata [Len (txdata) -34:]
  oneoutput: = bytes.Compare ([] байт {1, 0, 0, 0}, выход [0: 4]) == 0
  checksig: = выход [4] == 25 && Выход [5] == 118  && Выход [6] == 169 && Выход [7] == 20 &&
                Выход [28] == 136 && Выход [29] == 172
  addrmatch: = bytes.Compare (выход [8:28], декодируется [1:21]) == 0
  вернуться oneoutput && addrmatch && checksig
}
mriou сейчас офлайн Пожаловаться на mriou   Ответить с цитированием Мультицитирование сообщения от mriou Быстрый ответ на сообщение mriou

1 сентября 2014, 2:21:20 AM   # 3
 
 
Сообщения: 252
Цитировать по имени
цитировать ответ
по умолчанию Re: транзакционных скелетов Проверка BlockCypher до подписания

mriou, который выглядит как эффективное решение. Вы правильно - я забочусь только о выходе адреса и суммы.
Я не возражаю, если BlockCypher хочет послать фонд от своего другого кошелька, а не столько, сколько правильная сумма переходит к получателю
правда-актив сейчас офлайн Пожаловаться на истинный-актив   Ответить с цитированием Мультицитирование сообщения от истинного актива Быстрый ответ на сообщение истинно актив

25 июля 2015, 4:06:18 PM   # 4
 
 
Сообщения: 4
Цитировать по имени
цитировать ответ
по умолчанию Re: транзакционных скелетов Проверка BlockCypher до подписания

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW