Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
24 июля 2017, 9:28:42 PM   # 1
 
 
Сообщения: 440
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

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


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

    Существует тест блок, который создает расходы транзакции MAX_MONEY.
    Это вызывается из SRC / тест / transaction_tests.cpp (transaction_tests / tx_valid) и найти в SRC / тест / данных / tx_valid.json.

Код:
["Тесты для CTransaction :: CheckTransaction ()"],
["выход MAX_MONEY"],
[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"]],
"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000", правда]

    Декодирование serializedTransaction с помощью decoderawtransaction, возвращает следующий результат.

Код:
{
    "TXID" : "4d163e00f1966e9a1eab8f9374c3e37f4deb4857c247270e25f7d79a999d2dc9",
    "версия" : 1,
    "Locktime" : 0,
    "Vin" : [
        {
            "TXID" : "0000000000000000000000000000000000000000000000000000000000000100",
            "Vout" : 0,
            "scriptSig" : {
                "как м" : "3046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f01 21030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbac",
                "наговор" : "493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbac"
            },
            "последовательность" : 4294967295
        }
    ],
    "Vout" : [
        {
            "стоимость" : 21000000.00000000,
            "N" : 0,
            "scriptPubKey" : {
                "как м" : "1",
                "наговор" : "51",
                "тип" : "нестандартный"
            }
        }
    ]
}

    Я хотел бы понять, как создать serializedTransaction.
    Как бы я произвожу эту же операцию с помощью клиента RPC с createrawtransaction и signrawtransaction, используя те же параметры, увиденные здесь, в наборе тестов?

    Просьба поделиться тем, как я бы через механику создания той же транзакции с помощью клиента сердечника или другие инструменты, такие, что значение serializedTransaction одно и то же.
   
Код:
01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000

    Заранее спасибо за ваши советы.

С наилучшими пожеланиями,
-Чикаго
Чикаго сейчас офлайн Пожаловаться на Чикаго   Ответить с цитированием Мультицитирование сообщения от Чикаго Быстрый ответ на сообщение Чикаго


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


25 июля 2017, 6:00:55 AM   # 2
 
 
Сообщений: 31
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

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





Код:
$ Bitcoin-TX -testnet -create nversion = 1 = 0000000000000000000000000000000000000000000000000000000000000100: 0: 4294967295 outscript = 21000000: 1
010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010040075af0750700015100000000

$ Bitcoin-кли -testnet signrawtransaction 010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010040075af0750700015100000000 «[{"TXID":"0000000000000000000000000000000000000000000000000000000000000100","Vout": 0,"scriptPubKey":"A9148F121357DC6D9130F3A19B3EDD965998B6B23E5687","redeemScript":"21036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508EAC","количество": 21000000}]»«["cTtH93A1spUmeMV2QdPXtET8KT2w98YxDjkQJNbZbYBgKAxsTbsr"]»
{
  "наговор": "01000000010001000000000000000000000000000000000000000000000000000000000000000000006c47304402200f52ed89db0f0909b2b5db21eff27c7fc446a138d373de42e7467065e65893ab022036bd523c296eb40d6e26165969ad3553c1620c141e95df75b8c372c860f92d2b012321036622cf5134172ee134ea77a181aad2d544d3e084af105423779c94545f96508eacffffffff010040075af0750700015100000000",
  "полный": правда
}


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

26 июля 2017, 3:47:53 AM   # 3
 
 
Сообщения: 440
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

Привет arubi,

    Спасибо за ваш ответ.

    У меня возникают проблемы с пониманием, как знать ключ сценария и избавь аргументы сценария к signrawtransaction.
    Я не понимаю, как scriptPubKey и redeemScript производятся.
    

        [
          {
            "TXID":"0000000000000000000000000000000000000000000000000000000000000100",
            "Vout": 0,
            "scriptPubKey": "наговор",
            "redeemScript": "наговор",
            "количество": 21000000.00000000
          }
        ]
    


    Как вы придумали с этими аргументами?
        "scriptPubKey":"A9148F121357DC6D9130F3A19B3EDD965998B6B23E5687"
        "redeemScript":"21036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508EAC"

    Как бы я пришел с моими собственными значениями scriptPubKey и redeemScript для другой сделки, где только ключевые пары отличаются?

С наилучшими пожеланиями,
-Чикаго
    
Чикаго сейчас офлайн Пожаловаться на Чикаго   Ответить с цитированием Мультицитирование сообщения от Чикаго Быстрый ответ на сообщение Чикаго

26 июля 2017, 5:10:44 PM   # 4
 
 
Сообщений: 31
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

Ну, во-первых, я произвел случайный закрытый ключ cTtH93A1spUmeMV2QdPXtET8KT2w98YxDjkQJNbZbYBgKAxsTbsr, то есть открытый ключ, который и есть 036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508E.
Я создал "платить Публичных" (P2pk) скрипт, использующий его, что 21036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508EAC, и завернутые, что в "заплатить скрипт хэш" (P2sh) скрипт, который A9148F121357DC6D9130F3A19B3EDD965998B6B23E5687.
Сценарий p2pk является то redeemscript и деньги (21000000 BTC) отправляется на тот p2sh скрипт, который является scriptpubkey.

TXID для операции ввода, который заплатил 21 млн БТД в сценарий p2sh, выбирается 0000000000000000000000000000000000000000000000000000000000000100 .  В действительности, вы не можете выбрать значение, но для этого теста, это то, что используется.

Для того, чтобы выкупить этот вход, я должен обеспечить redeemscript для p2sh scriptpubkey, и так, что redeemscript на самом деле p2pk сценарий, я также должен обеспечить закрытый ключ для вывесок.

Чтобы прочитать о сценариях, как p2pk, p2sh и больше, это может быть хорошая ссылка: https://bitcoin.org/en/developer-guide#term-output .

Вы можете использовать Ядро для создания все от секретного ключа к p2sh сценария с помощью команд, как getnewaddress, dumpprivkey, importaddress...
Я рекомендую использовать testnet или regtest локально играть с ним

* Например, вы можете запустить:
Bitcoin-кли -testnet decodescript 21036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508EAC
И посмотрим, что на самом деле говорит, что сценарий, который только "делать операцию checksig с этим Публичным",
arubi сейчас офлайн Пожаловаться на arubi   Ответить с цитированием Мультицитирование сообщения от arubi Быстрый ответ на сообщение arubi

27 июля 2017, 8:27:11 PM   # 5
 
 
Сообщения: 440
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

Привет arubi,

    Еще раз спасибо за вашу поддержку.

    Теперь я понимаю, как это сделал redeemScript.
    В принципе, я использовал WIF-к-общественности с libbitcoin-исследователь на WIF закрытого ключа вы предоставили, а затем полученный открытый ключ EC от закрытого ключа WIF.

Код:
./ BX-Linux-x64-QRCode WIF к общественности cTtH93A1spUmeMV2QdPXtET8KT2w98YxDjkQJNbZbYBgKAxsTbsr
036622cf5134172ee134ea77a181aad2d544d3e084af105423779c94545f96508e

    Затем я использовал скрипт-кодирование с libbitcoin-исследователь для Base16 кодирование сценария P2PK и пришел с тем же значением redeemScript вы предоставили.

Код:
./ BX-Linux-x64-QRCode скрипт закодировать '[036622cf5134172ee134ea77a181aad2d544d3e084af105423779c94545f96508e] checksig'
21036622cf5134172ee134ea77a181aad2d544d3e084af105423779c94545f96508eac

    Как создать сценарий P2SH?
завернуты, что в "заплатить скрипт хэш" (P2sh) скрипт, который A9148F121357DC6D9130F3A19B3EDD965998B6B23E5687

    Как бы я поворачиваю redeemScript в scriptPubKey?
    Какие инструменты вы использовали, чтобы обернуть redeemScript в P2SH сценария?

    Я смотрел на использование libbitcoin-исследователя, но не наткнуться на ответ сам.

С наилучшими пожеланиями,
-Чикаго
   

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

27 июля 2017, 9:01:09 PM   # 6
 
 
Сообщений: 31
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

С помощью bip16 что можно взять любой сценарий и "заворачивать" он со сценарием p2sh (имеет стандартный адрес), так что есть простой способ принимать платежи даже в более сложные сценарии с бременем создания условий погашения переехал в лице получать деньги.
decodescript Приведенный выше пример показывает, как он может быть использован:

бег:
Код:
Bitcoin-кли -testnet decodescript 21036622CF5134172EE134EA77A181AAD2D544D3E084AF105423779C94545F96508EAC
Выход:

Код:
{
  "как м": "036622cf5134172ee134ea77a181aad2d544d3e084af105423779c94545f96508e OP_CHECKSIG",
  "reqSigs": 1,
  "тип": "Публичных",
  "адреса": [
    "mi9ipdx2Ddx4ARbBJ5o5UPv82uRqSZSRPm"
  ],
  "p2sh": "2N6HiGdMTTxS8yp6puVN7Roz9HCNcnwU2PH"
}

Обратите внимание на адрес p2sh.
Scriptpubkey, что, как известно, этот адрес типа сделан из нажима hash160 из redeemscript, и op_equal.  Вы можете прочитать больше по ссылке bip16.

Теперь вы можете запустить:
Код:
Bitcoin-кли -testnet validateaddress 2N6HiGdMTTxS8yp6puVN7Roz9HCNcnwU2PH
И видим, что:
Код:
...
  "scriptPubKey": "a9148f121357dc6d9130f3a19b3edd965998b6b23e5687",
...
Что и используется в 21 мил. выкуп.
arubi сейчас офлайн Пожаловаться на arubi   Ответить с цитированием Мультицитирование сообщения от arubi Быстрый ответ на сообщение arubi

29 июля 2017, 6:56:26 AM   # 7
 
 
Сообщения: 440
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

Привет arubi,

    Еще раз спасибо за руководство.
    Проработка ваших примеров делает четкие вещи для меня.

    Была проблема, которую я до сих пор сталкиваюсь при попытке пройти через примеры с новым набором ключей - и я надеюсь, чтобы понять эту часть для себя.

    Я ценю, что вы разбив его для меня, и объяснить это, как я 5 лет.

С наилучшими пожеланиями,
-Чикаго
Чикаго сейчас офлайн Пожаловаться на Чикаго   Ответить с цитированием Мультицитирование сообщения от Чикаго Быстрый ответ на сообщение Чикаго

29 июля 2017, 9:22:28 AM   # 8
 
 
Сообщений: 31
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Test Suite (создание трансакции, затрачиваемое MAX_MONEY)

Приветствия Чикаго. Удачи с новым набором ключей.
arubi сейчас офлайн Пожаловаться на arubi   Ответить с цитированием Мультицитирование сообщения от arubi Быстрый ответ на сообщение arubi



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW