Bitcoin Forum
June 17, 2024, 05:42:06 PM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 [363]
7241  Local / Кодеры / Автоматическая пересылка биткойнов on: February 12, 2014, 04:57:24 AM
Я с биткойном познакомился недавно, к конце прошлого года.
Как и многие другие новички задавался вопросом - "есть ли халява?"
В общем, пришлось углубиться в программирование и прояснить для себя кое-что.
Сразу скажу - халявы нет. Но бывают интересные моменты

Суть вот в чем. Есть "скомпроментированные" приватные ключи, на биткойн-адреса которых иногда поступают какие-то небольшие суммы. Самый известный такой адрес это
https://blockchain.info/address/1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T
соответствующий дефалтовому примеру "correct horse battery staple" в брейнваллете
Анализ сделок показывает - что как только кто-то кредитует этот адрес - сразу же кто-то другой оттуда выводит. Некоторые такие выводы делаются с комиссией, а некоторые - по принципу "снежного кома"

Допустим, у меня есть личный (нескомпроментированный) аккаунт ХХХ, на котором лежит 1 BTC.
Я отслеживаю все транзакции в сети, и как только вижу транзакцию перевода на 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T (допустим 0.001 BTC) то еще до включения этой транзакции в блокчейн формирую транзакцию с двумя входами - первый вход: 1.0 BTC с моего аккаунта, второй вход 0.001 с "correct horse". В результате, если я успеваю это сделать до того, как это сделает кто-то другой - на моем аккаунте оказывается 1.001 Это я и называю "снежным комом", когда мы к большому куску "наматываем" еще

Стандартный клиент для этого не подходит - во-первых, он не даст сделать перевод без подтверждений, во-вторых нужно следить за трафиком, и самое плохое - попытка в него импортировать ключ типа "correct horse" вызывает рост wallet.dat и жуткие тормоза.

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

Я уже порядком задолбался писать эту программу. Решил написать в форум, чтоб какой-то стимул появился.
Буду тут если вы не против описывать детали протокола и степень готовности программы.
Разумеется, опенсорс, разумеется все на виду у всех.
7242  Local / Кодеры / Re: bittranshelperawk on: February 03, 2014, 04:14:39 AM
В общем, я вроде победил эту проблему. Надо еще тестировать и причесать код, но в целом получилось вот что:
Если инпутов N - то надо сериализовать данные из транзакции, подставляя на место всех scriptSig (пункты 5,6) либо scriptPubKey, либо "пустышку". Очевидно, данные для хеширования получатся разные.
Я все время был "около правильного кода", просто в цикле перепутал i и j Smiley
7243  Local / Кодеры / Re: bittranshelperawk on: February 02, 2014, 06:11:45 PM
Что-то не получается.
Вот тут https://bitcointalk.org/index.php?topic=422021.0 написано, что надо формировать "simplified version" для каждого инпута, то есть хеши таки будут разными. В принципе логично, что инпуты подписываются независимо друг от друга и от порядка следования. Тогда какую цифру ставить в пункте 9? Допустим, на каждом инпуте по 1000 сатоши, а всего 10 инпутов. Ставим 10к или 1к?
В общем, буду благодарен за любую подсказку или совет.

7244  Bitcoin / Development & Technical Discussion / Re: Simple Transaction Signing Question on: February 02, 2014, 02:20:22 PM
Quote
A simplified version of the tx is created (TxIn0, TxOut0, TxOut1) and hashed.  The hash is signed by the private key for A and stored in the Sig & PubKey section for TxIn0.
A simplified version of the tx is created (TxIn1, TxOut0, TxOut1)and hashed.  The hash is signed by the private key for B and stored in the Sig & PubKey section for TxIn1.
A simplified version of the tx is created (TxIn2, TxOut0, TxOut1) and hashed.  The hash is signed by the private key for C and stored in the Sig & PubKey section for TxIn2.

Please help. What is "simplified version of the tx" for hashing?
I have working example from http://bitcoin.stackexchange.com/questions/3374/how-to-redeem-a-basic-tx
But it works only with one input.
Can you explain, please how to create transaction with more than one input?
7245  Local / Кодеры / Re: bittranshelperawk on: February 02, 2014, 01:00:07 PM
Quote
Скрипт ничего не отправляет в сеть — только формирует и подписывает транзакцию.

Слушай, а можно тебя вопросами помучать?
А то что-то ни на английском, ни тем более на русском не найду.
Даже спросить не у кого.
Я вот долго бился с подписыванием транзакций самостоятельно.
В конце концов набрел на вот это описание
http://bitcoin.stackexchange.com/questions/3374/how-to-redeem-a-basic-tx
Всё получилось, хотя пришлось еще разобраться с вариантом когда используется сокращенный формат публичного ключа. (вроде разобрался)
Остался вопрос - как надо модифицировать алгоритм, чтобы подписывать несколько инпутов?
Да, на всякий случай поясню - мне надо подписать обычную транзакцию с несколькими инпутами, а не мультисиг.
Pages: « 1 ... 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 [363]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!