Bitcoin Forum
July 13, 2024, 02:45:22 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Цепочка блоков  (Read 2836 times)
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 04:25:49 PM
 #21

так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)
Будет профит - будет ферма. Главное технологию, так-сказать, прочувствовать.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 04:33:06 PM
 #22

Я кажется представляю себе к чему ты клонишь.
Задача на самом деле другая.
Представь себе что у тебя четыре миллиона приваткеев. Неважно каких - с первых страниц сайта
directory.io надёрганных или из брейнваллет сгенерированных.
Ты начинаешь парсить блокчейн от начала времен и если видишь пополнение известного тебе адреса -
добавляешь неизрасходованный выход в список, а если видишь трату с этого адреса - вздыхаешь,
что кто-то тебя опередил и вычеркиваешь из своего списка.
Когда доходишь до конца цепочки блоков у тебя получается аккуратный список неизрасходованных
выходов - то есть доступная тебе сумма бабла.
Нет, нет, я клоню чисто к оптимизации всей цепочки блоков под конкретный адрес.
Что касается этих твоих миллионов приваткеев, сгенерённых или с directory.io, так длина приваткея 256 бит,
и количество их комбинаций 2^256.
А теперь, можешь сам посчитать вероятность того, что среди нагенерённых встретится адрес, юзанный в сети и уж тем более с неизрасходованными выходами.
Кстати, directory.io тоже генерит, по сути. Каждая страница - это range для генерации.
Потому что 904625697166532776746648320380374280100293470930272690489102837043110636675 страниц это YOBAбиты YOBIбайт.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 04:41:08 PM
 #23

Нет, нет, я клоню чисто всей цепочки блоков под конкретный адрес.
Что касается миллионов приваткеев, или directory.io, так длина приваткея 256 бит,
и количество их комбинаций 2^256.
А теперь, можешь сам посчитать вероятность того, что среди нагенерённых встретится адрес, юзанный в сети и уж тем более с неизрасходованными выходами.
А я не предлагаю тебе брать случайные адреса с directory.io
Достаточно взять с первой страницы
Вероятность встретить в блокчейне адрес с первой страницы directory.io равна 1.
И адрес из брейнваллета "correct horse battery staple" встречается тоже.

Ладно, значит я неправильно тебя понял. Ты пытаешься какую-то непонятную задачу решить
каким-то извратным (на мой взгляд) способом. Ну, чем мог - я помог. Дальше иди своими ногами.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 04:51:07 PM
Last edit: October 26, 2016, 05:14:47 PM by userbits
 #24

А я не предлагаю тебе брать случайные адреса с directory.io
Достаточно взять с первой страницы
Вероятность встретить в блокчейне адрес с первой страницы directory.io равна 1.
И адрес из брейнваллета "correct horse battery staple" встречается тоже.
У меня тут значит конвертер от браинваллета, в JS, локально запущен в браузере, (могу скинуть, если чо)
и взяв с 6-й страницы http://directory.io/6
приваткей 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrfQyNAxdB
получаю из base58Check - hex 0000000000000000000000000000000000000000000000000000000000000281
Следующий за ним приваткей в base58check - 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrfR95CsLZ
даёт hex 0000000000000000000000000000000000000000000000000000000000000282
ну, а потом, hex-ы:
0000000000000000000000000000000000000000000000000000000000000283
0000000000000000000000000000000000000000000000000000000000000284
0000000000000000000000000000000000000000000000000000000000000285
И т. д.
Значит кеи генерятся по порядку. А страницы лишь устанавливают range для генерации.

И адрес из брейнваллета "correct horse battery staple" встречается тоже.
Какая-то Кристина. =) В общем, суть понятна.

Ладно, значит я неправильно тебя понял. Ты пытаешься какую-то непонятную задачу решить
каким-то извратным (на мой взгляд) способом. Ну, чем мог - я помог. Дальше иди своими ногами.
Я хотел бы каким-то образом, задать первый блок в blkindex или в bootstrap.dat так,
чтобы этот блок являлся тем самым блоком, в который вошла транзакция на конкретный определённый адрес.
И сделать это для того, чтобы начать закачку блокчейна через тяжеловесный bitcoin-Qt именно с этого блока,
до всех актуальных.
Причём блоки не сохранять на диск, если в них не содержится этот адрес,
а качать и сохранять только current block, и при получении нового блока -
проверять что хеши этих блоков сцеплены правильно, и после этого удалять предыдущий
current-блок циклично, с выходом каждого нового блока.
Почему bitcoin-Qt? А потому что его можно включить в режим сервера.
Зачем это нужно? А чтобы поцепить на него майнер.
Сервер включается на localhost, и майнер подключается как-то вот так:
-o http://localhost:8332 -u RPCUSER -p RPCPASS
А база с блоками весит овер 42 гига. А за dogecoin - вообще молчу.
Ну и, вот...

Алсо, хотелось бы понять, как формируются блоки, как транзакции входят в блок,
из какого источника берутся блоки для майнинга, залетают ли новосформированные транзакции в bitcoin-Qt
и как этот процесс связан с current-блоком.
Инфы в сети не нашёл.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 05:09:11 PM
 #25

значит кеи генерятся по порядку. А страницы лишь устанавливают range для генерации.
Спасибо, кэп.

Причём блоки не сохранять на диск, если в них не содержится этот адрес,
а качать и сохранять только current block, и при получении нового блока -
проверять что хеши этих блоков сцеплены правильно, и после этого удалять предыдущий
current-блок циклично, с выходом каждого нового блока.
Стоимость хранения данных на диске - ну это такие копейки, что я и не думаю про это.
А вот качать блоки и ненужные выбрасывать - это расточительство. Потому что трафик
обходится дороже. Не столько в плане денег, сколько в плане времени.

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

Майнить на фальшивой цепочке блоков - это слишком рискованно. Не надо тут экономить.

Может быть ты решаешь задачу майнить не от последнего полученного из сети блока, а от
какого-то из истории? Мсье собирается провести атаку-51? Ну так это можно решить с помощью
прокси-сервера. То есть нужна программа-посредник между стандартным клиентом
и остальным интернетом. И эта программа отдает клиенту не весь трафик, а только заданный.
Например прокси-сервер "включается" если видит блок с транзакцией перевода с адреса
"1xxxx" на адрес "1yyyyy" и не отдает больше клиенту блоки и транзакции. Клиент не получив
этот блок, разумеется, майнит другую цепочку, куда ты вставляешь перевод с адреса
"1xxxx" на свой адрес "1zzzzz" и когда ты наращиваешь цепь длиннее чем вырастила остальная сеть
ты снова включаешь прокси и таким образом наёбываешь владельца адреса "1yyyyy"


userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 05:25:50 PM
Last edit: October 26, 2016, 09:41:42 PM by userbits
 #26

Стоимость хранения данных на диске - ну это такие копейки, что я и не думаю про это.
А вот качать блоки и ненужные выбрасывать - это расточительство. Потому что трафик
обходится дороже. Не столько в плане денег, сколько в плане времени.
Я что блокчейн что-ли? Зачем мне все блоки всех транзакций на моём винте?
А если это SD-карта c портаблельным линуксом на распберри, например?

Я все еще не могу понять - зачем нужна последовательность блоков не вся,
а отобранная по какому-то признаку, например по наличию в блоках транзакции с
определенным адресом. Толку от такой "свалки мусора" немного, так как неполный
блокчейн не даёт тебе гарантии надежности. Иными словами - ты не можешь проверить
дали тебе настоящую цепочку блоков или фальшивую.
Почему нельзя? А по наличию в сети хеша блока с конкретным порядковым номером, не?
Некорректные блоки и их цепочки отсеиваются же.

Майнить на фальшивой цепочке блоков - это слишком рискованно. Не надо тут экономить.
Ну это понятно.

Может быть ты решаешь задачу майнить не от последнего полученного из сети блока, а от
какого-то из истории? Мсье собирается провести атаку-51? Ну так это можно решить с помощью
прокси-сервера. То есть нужна программа-посредник между стандартным клиентом
и остальным интернетом. И эта программа отдает клиенту не весь трафик, а только заданный.
Например прокси-сервер "включается" если видит блок с транзакцией перевода с адреса
"1xxxx" на адрес "1yyyyy" и не отдает больше клиенту блоки и транзакции. Клиент не получив
этот блок, разумеется, майнит другую цепочку, куда ты вставляешь перевод с адреса
"1xxxx" на свой адрес "1zzzzz" и когда ты наращиваешь цепь длиннее чем вырастила остальная сеть
ты снова включаешь прокси и таким образом наёбываешь владельца адреса "1yyyyy"
Для Double-spending нужны петахеши и петафлопсы. LOL.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 07:02:33 PM
 #27

Я что блокчейн что-ли? Зачем мне все блоки всех транзакций на моём винте?
А если это SD-карта c портаблельным линуксом на распберри, например?
А зачем создавать себе такие трудности? Делайте дело на обычном компе,
а не трахайтесь стоя, в гамаке и в скафандрах

Почему нельзя? А по наличию хеша блока с конкретным в сети, не?
Некорректные блоки и их цепочки отсеиваются же.
Корректность проверяется исходя из имеющихся блоков.
Но у вас их не будет, так что и проверить корректность вы не сможете.

Для Double-spending нужны петахеши и петафлопсы. LOL.
Ну я просто предположил. Может вы для на каком-нибудь говнофорке это собирались делать.
Или вы тайный владелец трех китайских пулов.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 07:15:26 PM
Last edit: October 26, 2016, 09:52:01 PM by userbits
 #28

Но у вас их не будет, так что и проверить корректность вы не сможете.
А этот ещё и знает. =)
Ну, есть у меня к примеру на одном из переносных жестких блоки в виде файлов blk0000*.dat.
Только их там ещё докачивать надо и это ничего не даст, потому что - петахеши.
И ваще, по сути, не нужны эти блоки все и сразу, разве что для того - чтобы птичка "синхронизировано" стояла.

Может вы для на каком-нибудь говнофорке это собирались делать.
Или вы тайный владелец трех китайских пулов.
Это всё неправда. И всё то - в большинстве своём, тоже.
100% хешей в пулах генерят сами же майнеры. Владельцы пулов только комиссии гребут.
Просто интересен сам процесс. =) Сошёл бы и форк с небольшой сложностью.
Глянул так, в сторону doge с его килохешами сложности, но там 1,4 млн. блоков в блокчейне, их же качать придётся.
Поэтому, не надо это.

upd:
Я вот, гляжу на 436042-й блок
https://blockchain.info/block/0000000000000000028603f405c303c1711f22ffa1c31ffee89397b90099cb42
с его Nonce 1106733466, которую можно было бы перебрать в соло за 6.14851926 секунд на моей видеокарте, у которой 180Мh/s

Так вот, блок 436042 уже сгенерён и вошёл в блокчейн.
А блок 436043 ещё нет. Как только "соль" к нему найдут майнеры - он будет добавлен в цепочку блоков, как и все другие последующие блоки.
И этот блок, после генерации будет разослан по p2p-сети всем клиентам у которых bitcoin-Qt, и не только, верно?

Так вот, как и откуда его получить, чтобы начать искать nonce в соло-режиме?

P.S.: Блокчейн - как я понял, это сама цепочка блоков, а не сайт blockchain.info.
blockchain.info же - это отдельный сайт, парсер её, показывающий красивый интерфейс для просмотра этой цепочки.
n00by
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
October 27, 2016, 07:40:40 AM
 #29

Я тебе что повар что-ли, чтобы что-то готовить?
Приготовил тебе за шиворот, проверяй.
На дваче будешь так общаться, мамкин повар)


Так вот, как и откуда его получить, чтобы начать искать nonce в соло-режиме?


getblocktemplate на клиенте.
клиента можно запустить с опцией -detachbd тогда блоки качаться не будут

@amaclin мне вот интересно, имеет ли смысл пытаться майнить блок только с коинбэйс транзой без транзакций вообще)
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 08:00:28 AM
 #30

@amaclin мне вот интересно, имеет ли смысл пытаться майнить блок только с коинбэйс транзой без транзакций вообще)
Без транзакций вообще - нельзя. Coinbase-транзакция в блоке должна быть, даже если её выход будет нулевой.

А с одной транзакцией - почему бы и нет? Если вас по какой-то причине не волнуют чужие транзакции и комиссии за них,
которые могут стать вашими - майните без них. Сегодняшние майнинг-пулы так и делают.
Если пул получил блок (чужой или свой - неважно), то для его обработки и создания темплейта следующего
блока нужно определенное время. Чтобы найнеры подключившиеся в этот момент к пулу не проставивали зря
им пул раздает задание майнить блок-пустышку. Если майнер находит подходящий нонсе - в блокчейне
появляется блок из одной транзакции. Например:
https://blockchain.info/block/000000000000000002eb076392586c5b034ba3826ff6adb459bc57db4191943e

amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 08:07:37 AM
Last edit: October 27, 2016, 08:51:03 AM by amaclin
 #31

Я вот, гляжу на 436042-й блок
https://blockchain.info/block/0000000000000000028603f405c303c1711f22ffa1c31ffee89397b90099cb42
с его Nonce 1106733466, которую можно было бы перебрать в соло за 6.14851926 секунд на моей видеокарте, у которой 180Мh/s
Проблема в том, что поле 'nonce' 32-разрядное и перебрать все его значения на современном
оборудовании действительно не составляет труда. Но что если мы перебрали все его
4 миллиарда значений, а хэш блока с нужным количеством лидирующих нулей не нашелся?
Тогда надо что-то поменять в самом блоке, например поменять транзакции местами
и начать перебор заново.
На самом деле транзакции местами не меняют, а меняют так называемый extra-nonce - то
есть scriptSig у coinbase-транзакции, в который можно записать всяких рандомных
байтиков

userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 04:19:12 PM
 #32

На дваче будешь так общаться, мамкин повар)
Ха, просёк. У меня там, "Криптовалют тред." в /cc =)

getblocktemplate на клиенте.
Консоль:
Запрос: getblocktemplate
Ответ: Bitcoin is downloading blocks... (code -10)
клиента можно запустить с опцией -detachbd тогда блоки качаться не будут
Всё-равно блоки тащатся с сети. В символах не напутал?

меняют так называемый extra-nonce - то
есть scriptSig у coinbase-транзакции, в который можно записать всяких рандомных
байтиков
https://i.imgur.com/BJ2FHgp.png
А где его просмотреть этот extra-nonce? Есть ссылка?

Если пул получил блок (чужой или свой - неважно), то для его обработки и создания темплейта следующего
блока нужно определенное время. Чтобы майнеры подключившиеся в этот момент к пулу не проставивали зря
им пул раздает задание майнить блок-пустышку.
Я так понимаю, откуда-то валят новые транзакции (откуда же?), а майнеры конкурируют за то,
кто быстрее подберет нонс для блока, хеш которого будет содержать достаточное количество нулей и куда транзакции входят эти транзакции (или их часть).
И кто быстрее это сделает при помощи этих своих петахешей, тот и выиграл.
При этом транзакции могут менятся местами как угодно, или вообще исключаться, и ещё и extra-nonce менять можно. Так?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 04:40:45 PM
 #33

А где его просмотреть этот extra-nonce? Есть ссылка?
Бля, я картинку я для кого прикрепил? Не видно что ли?

Я так понимаю, откуда-то валят новые транзакции (откуда же?), а майнеры конкурируют за то,
кто быстрее подберет нонс для блока, хеш которого будет содержать достаточное количество нулей и куда транзакции входят эти транзакции (или их часть).
И кто быстрее это сделает при помощи этих своих петахешей, тот и выиграл.
При этом транзакции могут менятся местами как угодно, или вообще исключаться, и ещё и extra-nonce менять можно. Так?
Ну вам еще читать и читать...
Хотя мне нравится ваш интерес, но знаний у вас явно маловато.

Итак. Тезисно.
По сети гуляют транзакции пока не включенные в блоки. Ноды их друг другу пересылают.
Задача майнера состоит в том, чтобы собрать правильный блок из этих транзакций.
(Здесь и далее я под майнером буду иметь в виду клиента с функцией майнинга)
В блоке есть заголовок размером 80 байт.
а) Сперва майнер собирает N валидных транзакций, которые можно включить в блок
б) Добавляет к ним coinbase-транзакцию в scriptSig которой помещает какую-нибудь лабуду типа "вася пупкин сдесь был"
в) считает от получившегося merkle-hash
г) формирует все поля заголовка блока из имеющихся у него данных - то есть заполняет 76 из 80 байт. структуру заголовка гуглите самостоятельно
д) пересчитывает sha256d ()  от заголовка перебирая все возможные варианты оставшегося 32-битового числа
е) если повезло - бросает блок в сеть и начинает работу заново с пункта (а), если не повезло - начинает работу заново с пункта (а), изменяя что-нибудь в пункте (б)
ж) если пока мы все это делаем пришел от кого-то следующий блок - проверяем его и начинаем заново с пункта (а)
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 05:14:59 PM
Last edit: October 27, 2016, 05:36:40 PM by userbits
 #34

Бля, я картинку я для кого прикрепил? Не видно что ли?
Картинка - не ссылка.

Ну вам еще читать и читать...
Хотя мне нравится ваш интерес, но знаний у вас явно маловато.
Есть где-нибудь инфа чисто по матчасти?
Ну, или хорошо откомментированный код, где принцип работы видно и разобрать можно без всяких декомпиляций и деобфускаций.
PDF-ка от Сатоши не о многом говорит.

В блоке есть заголовок размером 80 байт.
6 компонентов.
http://i.kinja-img.com/gawker-media/image/upload/t_original/pyct6nxbj4j5gxe3jxrm.png

а) Сперва майнер собирает N валидных транзакций, которые можно включить в блок
N фиксировано, или ограничено объемом информации в блоке?
Как получить список транзакций требующих включения в блоки в ближайшее время?
б) Добавляет к ним coinbase-транзакцию в scriptSig которой помещает какую-нибудь лабуду типа "вася пупкин сдесь был"
Где взять scriptSig?
в) считает от получившегося merkle-hash
Я видел только Merkle Root.
г) формирует все поля заголовка блока из имеющихся у него данных - то есть заполняет 76 из 80 байт. структуру заголовка гуглите самостоятельно
Понятно: http://img.bitexperts.com/MTE1Nw==-bitcoin-block-header-size-is-81-byte.png
д) пересчитывает sha256d ()  от заголовка перебирая все возможные варианты оставшегося 32-битового числа
Вот такое вот, нашёл:
"Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
"Hello, world!2" => ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7
...
"Hello, world!4248" => 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965
"Hello, world!4249" => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
Nonce = 4250
е) если повезло - бросает блок в сеть и начинает работу заново с пункта (а), если не повезло - начинает работу заново с пункта (а), изменяя что-нибудь в пункте (б)
Куда именно? Знаю, есть https://blockchain.info/ru/pushtx, но тут - транзакции.
А RAW-транзакцию можно в brainwallet'e создать.

ж) если пока мы все это делаем пришел от кого-то следующий блок - проверяем его и начинаем заново с пункта (а)
Ок.

P.S: Вот brainwallet c конвертером в JS. На github'e его нет, поэтому rghost: http://rgho.st/6LCyRbn5L
Архив распаковывается в папку и index.html в браузер.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 05:40:54 PM
 #35

N фиксировано, или ограничено объемом информации в блоке?
Главное (но не единственное ограничение) - не больше мегабайта,

Quote
Как получить список транзакций требующих включения в блоки в ближайшее время?
Из сети. Каждый кто хочет отправить транзакцию - отправляет её в сеть.
Майнер выбирает те, которые не противоречат всем правилам
В целом читать тут: https://en.bitcoin.it/wiki/Category:Technical

Quote
Где взять scriptSig?
Я не понимаю вопрос. Вам для нового блока надо придумать scriptSig или посмотреть
какие scriptSig в имеющихся блоках уже используются?
Ну открываете coinbase-транзакцию
https://blockchain.info/tx/0143ffa829782d6a7585dc47a3026ca89b40e35a4aff09ead41953991aa9a162
и строчка 03c3a7060004d13a1258046b48f7150c3ac41758250a0100000000000a636b706f6f6c182f42697 4436c7562204e6574776f726b2f5345475749542f
и будет scriptSig этой транзакции (это шестнадцатеричное представление)

Quote
А RAW-транзакцию можно в brainwallet'e создать.
Вообще-то под словом brainwallet всегда имеют в виду несколько другое.

Quote
Куда именно? Знаю, есть https://blockchain.info/ru/pushtx, но тут - транзакции.
Сеть биткойна представляет из себя связанные по бинарному биткойн-протоколу компы
https://en.bitcoin.it/wiki/Protocol_rules
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 06:02:16 PM
Last edit: October 27, 2016, 06:13:09 PM by userbits
 #36

В целом читать тут: https://en.bitcoin.it/wiki/Category:Technical
Ок.
Quote
Где взять scriptSig?
Я не понимаю вопрос. Вам для нового блока надо придумать scriptSig или посмотреть
какие scriptSig в имеющихся блоках уже используются?
Ну открываете coinbase-транзакцию
https://blockchain.info/tx/0143ffa829782d6a7585dc47a3026ca89b40e35a4aff09ead41953991aa9a162
и строчка 03c3a7060004d13a1258046b48f7150c3ac41758250a0100000000000a636b706f6f6c182f42697 4436c7562204e6574776f726b2f5345475749542f
и будет scriptSig этой транзакции (это шестнадцатеричное представление)
Хочу понять где просмотреть scriptSig, и как именно она формируется.
По ссылке - нет указанной строчки.

Quote
А RAW-транзакцию можно в brainwallet'e создать.
Вообще-то под словом brainwallet всегда имеют в виду несколько другое.
Если имеется в виду адрес из пароля
(получаемый из privkey являющимся sha256-хешем от passphrase вида "correct horse battery staple",
умноженному на генераторную точку на эллиптической кривой y^2 = x^3 + 7;
в виде base58check ripemd'a160 от sha256 "точки-произведения" с двумя координатами или одной x, если compressed),
то я имею в виду полнофункциональный brainwallet.github.io, мёртвый уже, но работающий тут:
http://wallet-2sx53n.sakurity.com/ и конечно же, локально в JS.

Сеть биткойна представляет из себя связанные по бинарному биткойн-протоколу компы
https://en.bitcoin.it/wiki/Protocol_rules
Ок.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 06:49:10 PM
 #37

Хочу понять где просмотреть scriptSig, и как именно она формируется.
По ссылке - нет указанной строчки.
Жмякните по ссылке [Show scripts & coinbase] не будьте ламером, который пользуется сайтом bc.i в упрощенном режиме

Quote
то я имею в виду полнофункциональный brainwallet.github.io, мёртвый уже, но работающий тут:
http://wallet-2sx53n.sakurity.com/ и конечно же, локально в JS.
Ну и зачем вам это?
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 06:57:00 PM
 #38

Жмякните по ссылке [Show scripts & coinbase] не будьте ламером, который пользуется сайтом bc.i в упрощенном режиме

Quote
то я имею в виду полнофункциональный brainwallet.github.io, мёртвый уже, но работающий тут:
http://wallet-2sx53n.sakurity.com/ и конечно же, локально в JS.
Ну и зачем вам это?
В упор не видел - теперь вижу.
Значит, самая первая транзакция с отправителем "No Inputs (Newly Generated Coins)" - это coinbase-транзакция,
и только у неё есть scriptSig, а у других транзакций в блоке - scriptSig нет.
Знать бы как она формируется. Вижу в decoded - формате, в большинстве своём названия пулов фигурируют.

Ну и зачем вам это?
Чтоб не таскать с собой QT, а просто priv, js, браузер и сеть.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 07:05:09 PM
 #39

В упор не видел - теперь вижу.
Значит, самая первая транзакция с отправителем "No Inputs (Newly Generated Coins)" - это coinbase-транзакция,
и только у неё есть scriptSig, а у других транзакций в блоке - scriptSig нет.
Знать бы как она формируется. Вижу в decoded - формате, в большинстве своём названия пулов фигурируют.
у всех транзакций есть scriptSig
scriptSig - это половинка "колечка" которое связывает транзакции в цепочку
но у coinbase-транзакции нет предыдущего звена, поэтому в scriptSig можно класть
всё что угодно (ну почти всё, кое-какие правила там таки есть)

Quote
Чтоб не таскать с собой QT.
Мсье хочет ездить на формуле-1, а для начала освоить управление велосипедом отказывается?
Ну ок, может кто-то и так может.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 07:43:21 PM
 #40

у всех транзакций есть scriptSig
scriptSig - это половинка "колечка" которое связывает транзакции в цепочку
но у coinbase-транзакции нет предыдущего звена, поэтому в scriptSig можно класть
всё что угодно (ну почти всё, кое-какие правила там таки есть)
Input Scripts у рандомной транзакции имеет два значения, например вот:
https://blockchain.info/tx/20fe5d9c2733c4a8bc7c747d970abbb0013ee072b6ab92e7d0b8d54ae8fea38b

Input Scripts:
3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e6353010268f18c4366ab e0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901

С первым - понятно. Со вторым - нет. Как формируется - тоже не ясно. Такие дела.

Мсье хочет ездить на формуле-1, а для начала освоить управление велосипедом отказывается?
Ну ок, может кто-то и так может.
А я тебя помню, кажись. И ты это сюда принёс? Или отсюда это и выдернули?
И формула1, и езда на велосипеде у меня была кстати, мне их замутили когда малый был, лол.

Ну смотри: brainwallet -> transactions -> privkey -> данные -> re-sign -> raw-transaction -> https://blockchain.info/ru/pushtx
И всё. И никаких синхронизаций блоков в Qt.
Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!