Bitcoin Forum
May 05, 2024, 09:40:27 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 [All]
  Print  
Author Topic: Цепочка блоков  (Read 2823 times)
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 25, 2016, 06:31:27 PM
 #1

Привет, ребята.

Есть privkey и address.
Есть транзакция, входящая в address.
Есть номер блока, в котором эта транзакция имеется.
Есть Bitcoin-Qt (win32), и есть процесс синхронизации с сетью
(с возможностью ускорения этого процесса с помощью скаченного с torrent bootstrap.dat).

Задач может быть несколько:
1. Задать первый блок для закачки и пропустить все предыдущие блоки.
2. Скачать только те блоки в которых содержится address, в качестве отправителя или получателя, но пропустить все остальные блоки.
3. Обновить баланс подключившись к blockchain.info или ему подобных - без необходимости закачивать блоки вовсе.
4. Включить solo mining на Bitcoin-Qt server по адресу http://localhost:8332 без пулов и закачки блоков.

Кто, что, сможет посоветовать?
1714902027
Hero Member
*
Offline Offline

Posts: 1714902027

View Profile Personal Message (Offline)

Ignore
1714902027
Reply with quote  #2

1714902027
Report to moderator
1714902027
Hero Member
*
Offline Offline

Posts: 1714902027

View Profile Personal Message (Offline)

Ignore
1714902027
Reply with quote  #2

1714902027
Report to moderator
1714902027
Hero Member
*
Offline Offline

Posts: 1714902027

View Profile Personal Message (Offline)

Ignore
1714902027
Reply with quote  #2

1714902027
Report to moderator
I HATE TABLES I HATE TABLES I HA(╯°□°)╯︵ ┻━┻ TABLES I HATE TABLES I HATE TABLES
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
vizito
Legendary
*
Offline Offline

Activity: 1778
Merit: 1098


View Profile WWW
October 25, 2016, 06:44:27 PM
 #2

Привет, ребята.

Есть privkey и address.
Есть транзакция, входящая в address.
Есть номер блока, в котором эта транзакция имеется.
Есть Bitcoin-Qt (win32), и есть процесс синхронизации с сетью
(с возможностью ускорения этого процесса с помощью скаченного с torrent bootstrap.dat).

Задач может быть несколько:
1. Задать первый блок для закачки и пропустить все предыдущие блоки.
2. Скачать только те блоки в которых содержится address, в качестве отправителя или получателя, но пропустить все остальные блоки.
3. Обновить баланс подключившись к blockchain.info или ему подобных - без необходимости закачивать блоки вовсе.
4. Включить solo mining на Bitcoin-Qt server по адресу http://localhost:8332 без пулов и закачки блоков.

Кто, что, сможет посоветовать?
зачем все усложнять? можно же просто скачать легкий кошелек который поддерживает импорт приват ключа(multibit classic или Electrum) и импортировать в него приват ключ можно еще сделать лайт версию Bitcoin Core именно Core запустив кошелек с параметром -prune=<n> (n это объем памяти выделяемый под блоки мин 550 мб)
ON
Hero Member
*****
Offline Offline

Activity: 684
Merit: 506



View Profile
October 25, 2016, 06:54:38 PM
 #3

2. Скачать только те блоки в которых содержится address, в качестве отправителя или получателя, но пропустить все остальные блоки.
Ха ха. Никак это не сделать. Скачай полную базу блоков, и перебирай там транзакции как хочешь.
Задача не очень понятна, но пользуйся легким кошельком, остальное на api от blockchain.info
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 25, 2016, 07:04:43 PM
 #4

зачем все усложнять? можно же просто скачать легкий кошелек который поддерживает импорт приват ключа(multibit classic или Electrum) и импортировать в него приват ключ
Можешь тыкнуть в портаблики для win32? Только не исходники, а exe-шники, ну и чтоб в режим сервера можно было врубить, и соло-майнер прицепить туда.

можно еще сделать лайт версию Bitcoin Core именно Core запустив кошелек с параметром -prune=<n> (n это объем памяти выделяемый под блоки мин 550 мб)
А как правильно прописать n = 550 МБ?
-prune=<550>; -prune=550; -prune=<550000>; -prune=550; ?
У меня в батнике прописано, значит:
@ECHO OFF
START bitcoin-qt.exe -datadir=".\\data\\"

остальное на api от blockchain.info
А как майнить через api?
vizito
Legendary
*
Offline Offline

Activity: 1778
Merit: 1098


View Profile WWW
October 25, 2016, 07:30:09 PM
 #5

зачем все усложнять? можно же просто скачать легкий кошелек который поддерживает импорт приват ключа(multibit classic или Electrum) и импортировать в него приват ключ
Можешь тыкнуть в портаблики для win32? Только не исходники, а exe-шники, ну и чтоб в режим сервера можно было врубить, и соло-майнер прицепить туда.

можно еще сделать лайт версию Bitcoin Core именно Core запустив кошелек с параметром -prune=<n> (n это объем памяти выделяемый под блоки мин 550 мб)
А как правильно прописать n = 550 МБ?
-prune=<550>; -prune=550; -prune=<550000>; -prune=550; ?
У меня в батнике прописано, значит:
@ECHO OFF
START bitcoin-qt.exe -datadir=".\\data\\"

остальное на api от blockchain.info
А как майнить через api?
у electrum есть  portable https://electrum.org/#download там найдешь, а вот у multibit нет portable версии, прописывать нужно "путь к папке\Bitcoin\bitcoin-qt.exe -prune=550" но лучше несколько гигов выделить под это дело, -prune=3072 к примеру
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 25, 2016, 07:39:28 PM
 #6

у electrum есть  portable https://electrum.org/#download там найдешь,
У них zip на пистоне, а 30 мегабайтный exe-шник какие-то сиды непонятные просит и не пропускает дальше.

а вот у multibit нет portable версии,
Значит будет qt.

прописывать нужно "путь к папке\Bitcoin\bitcoin-qt.exe -prune=550" но лучше несколько гигов выделить под это дело, -prune=3072 к примеру
Ок.
vizito
Legendary
*
Offline Offline

Activity: 1778
Merit: 1098


View Profile WWW
October 25, 2016, 07:46:31 PM
 #7

у electrum есть  portable https://electrum.org/#download там найдешь,
У них zip на пистоне, а 30 мегабайтный exe-шник какие-то сиды непонятные просит и не пропускает дальше.

а вот у multibit нет portable версии,
Значит будет qt.

прописывать нужно "путь к папке\Bitcoin\bitcoin-qt.exe -prune=550" но лучше несколько гигов выделить под это дело, -prune=3072 к примеру
Ок.
эти сиды являются защитой перепиши их или скопируй и сохрани и не потеряй в таком же порядке как они у тебя высвечиваются без них ты не восстановишь потом кошелек, потом жмешь далее и вписываешь все слова как там были написаны должно потом будет впустить
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 25, 2016, 07:58:51 PM
 #8

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

Я вообще-то хотел бы догкоины майнить, у них там небольшая сложность.
Но у них там аж 1,4 миллиона блоков, и при закачке этих блоков даже bootstrap.dat, слитый с https://bootstrap.chain.so/bootstrap.dat - не радует.
Знаю, что работают по принципу биткоина, поэтому хотелось бы не качать все блоки, а задать последний, докачать до актуального, и
врубив сервер на локалхосте - поцепить на него cpuminer.

Вряд-ли электрум работает с дожами.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 25, 2016, 09:32:44 PM
 #9

остальное на api от blockchain.info

А как с блокчейна получить актуальный блок для брутфорса соли (майнинг)?
Откуда вообще берутся новые блоки, как они формируются, и где собираются транзакции в блоки?
Можно ли вообще как-то майнить в режиме соло через блокчейн без установки каких-либо программ и пулов?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 12:39:42 PM
 #10

Привет, ребята.

Есть privkey и address.
Есть транзакция, входящая в address.
Есть номер блока, в котором эта транзакция имеется.
Есть Bitcoin-Qt (win32), и есть процесс синхронизации с сетью
(с возможностью ускорения этого процесса с помощью скаченного с torrent bootstrap.dat).

Задач может быть несколько:
1. Задать первый блок для закачки и пропустить все предыдущие блоки.
2. Скачать только те блоки в которых содержится address, в качестве отправителя или получателя, но пропустить все остальные блоки.
3. Обновить баланс подключившись к blockchain.info или ему подобных - без необходимости закачивать блоки вовсе.
4. Включить solo mining на Bitcoin-Qt server по адресу http://localhost:8332 без пулов и закачки блоков.

Кто, что, сможет посоветовать?

1. Протокол позволяет скачивать только нужные блоки, но клиент Bitcoin-Qt работает только с полной базой
блоков (которую можно подсократить, но все равно до этого полностью скачав). Какая проблема скачать всё?

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

3. Напишите программу или поищите в интернете - может найдете что-нибудь.

4. Это я не знаю.
n00by
Member
**
Offline Offline

Activity: 172
Merit: 11


View Profile
October 26, 2016, 01:28:12 PM
 #11

Привет, ребята.

Есть privkey и address.
Есть транзакция, входящая в address.
Есть номер блока, в котором эта транзакция имеется.
Есть Bitcoin-Qt (win32), и есть процесс синхронизации с сетью
(с возможностью ускорения этого процесса с помощью скаченного с torrent bootstrap.dat).

Задач может быть несколько:
1. Задать первый блок для закачки и пропустить все предыдущие блоки.
2. Скачать только те блоки в которых содержится address, в качестве отправителя или получателя, но пропустить все остальные блоки.
3. Обновить баланс подключившись к blockchain.info или ему подобных - без необходимости закачивать блоки вовсе.
4. Включить solo mining на Bitcoin-Qt server по адресу http://localhost:8332 без пулов и закачки блоков.

Кто, что, сможет посоветовать?

Могу посоветовать приготовить деньги для решения всех поставленных задач. Бесплатно могу только посоветовать поискать всю инфу в интернете.
Если есть деньги для решения задач и меня устроит сумма, могу начать обсуждать.
peloso
Legendary
*
Offline Offline

Activity: 2436
Merit: 1187



View Profile
October 26, 2016, 03:09:53 PM
 #12

а зачем все так усложнять? можно вообще ничего не скачивать онлайн кошель блокчейн инфо поддерживает импорт\экспорт приваткеев

но я бы сделал так

если есть смартфон

ставим mycelium вся прелесть этой проги в том что даже импортировать не надо просто с приваткея указывается нужная сумма и отправляется в нужный адрес

для компа чуть по сложнее  копаем в стороно pywallet
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 03:35:44 PM
 #13

Какая проблема скачать всё?
Время, объем, пропускная способность канала связи, и бесполезность наличия большинства блоков с чужими транзакциями.
2. Скачайте всю базу блоков, а потом напишите программу, которая проанализирует базу и каким-то образом
выдаст вам для каждого введенного адреса номера блоков, в которых этот адрес встречается как отправитель
или получатель. Могу вам я написать. За деньги.
Было б неплохо, чтоб блоки с блокчейна вытягивались. Причём бесплатно и без смс.

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

Activity: 14
Merit: 0


View Profile
October 26, 2016, 03:43:42 PM
 #14

Какая проблема скачать всё?
Время, объем, пропускная способность канала связи, и бесполезность наличия большинства блоков с чужими транзакциями.
2. Скачайте всю базу блоков, а потом напишите программу, которая проанализирует базу и каким-то образом
выдаст вам для каждого введенного адреса номера блоков, в которых этот адрес встречается как отправитель
или получатель. Могу вам я написать. За деньги.
Было б неплохо, чтоб блоки с блокчейна вытягивались. Причём бесплатно и без смс.

Могу посоветовать приготовить деньги для решения всех поставленных задач.
Бесплатно могу только посоветовать поискать всю инфу в интернете.
Если есть деньги для решения задач и меня устроит сумма, могу начать обсуждать.
Я тебе что повар что-ли, чтобы что-то готовить?
Приготовил тебе за шиворот, проверяй.


а зачем все так усложнять? можно вообще ничего не скачивать онлайн кошель блокчейн инфо поддерживает импорт\экспорт приваткеев
Приваткеи не блоки. Онлайн блокчейн - годно, сам юзал. Но можно ли майнить через него?
для компа чуть по сложнее  копаем в стороно pywallet
Питон надо?

Знаете, я тут "случайно" так, нашёл 1Hash.com с его 10-ю петахешами в секунду,
и antpool с его 295.29 PH/s, и как-бы соло майнинг не актуален теперь.
Тред можно закрывать.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 03:44:45 PM
 #15

Было б неплохо, чтоб блоки с блокчейна вытягивались. Причём бесплатно и без смс.
Руками можете вытягивать
Заходите на страничку блока, типа
https://webbtc.com/block/0000000000000000020a6f047a52f32eb346d77e73b722f85549ed6ab442d0cc
жамкаете ссылку [binary] и сохраняете в файл.
бесплатно и без смс.

скачивание всех блоков начиная с какого-то определенного?
я про такие готовые тулзы не слышал - с трудом представляю зачем это может понадобиться
peloso
Legendary
*
Offline Offline

Activity: 2436
Merit: 1187



View Profile
October 26, 2016, 03:51:48 PM
 #16




Приваткеи не блоки. Онлайн блокчейн - годно, сам юзал. Но можно ли майнить через него?
[
Питон надо?


так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)

если майнить то только форки

для пивалета конечно питон надо
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 03:55:00 PM
 #17

Было б неплохо, чтоб блоки с блокчейна вытягивались. Причём бесплатно и без смс.
Руками можете вытягивать
Заходите на страничку блока, типа
https://webbtc.com/block/0000000000000000020a6f047a52f32eb346d77e73b722f85549ed6ab442d0cc
жамкаете ссылку [binary] и сохраняете в файл.
бесплатно и без смс.
Там бинарник вида хеш.bin, его можно как-то запхнуть в blk0000x.dat или bootstrap.dat?

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


userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 26, 2016, 04:01:46 PM
 #18

так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)
если майнить то только форки
Ну вот взять догкоины, у них более 1,4 млн блоков.
https://dogechain.info/
Это ещё похлеще чем 436000 биткоиновых. LOL.
https://blockchain.info/

для пивалета конечно питон надо
У меня портабельный пистон, если чо.
peloso
Legendary
*
Offline Offline

Activity: 2436
Merit: 1187



View Profile
October 26, 2016, 04:14:11 PM
 #19

подойдет портабельный думаю
доги тоже не актуально майнить
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 26, 2016, 04:21:09 PM
 #20

Там бинарник вида хеш.bin, его можно как-то запхнуть в blk0000x.dat или bootstrap.dat?
можно в принципе.
структура файлов blk0000x.dat в принципе простая - <MAGICNUMBER> + <ДЛИНАБЛОКА> + <БЛОК>
но самостоятельно скачивать блоки поштучно мне в голову не приходило - пусть клиент этим занимается

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

Я кажется представляю себе к чему ты клонишь.
Задача на самом деле другая.
Представь себе что у тебя четыре миллиона приваткеев. Неважно каких - с первых страниц сайта
directory.io надёрганных или из брейнваллет сгенерированных.
Ты начинаешь парсить блокчейн от начала времен и если видишь пополнение известного тебе адреса -
добавляешь неизрасходованный выход в список, а если видишь трату с этого адреса - вздыхаешь,
что кто-то тебя опередил и вычеркиваешь из своего списка.
Когда доходишь до конца цепочки блоков у тебя получается аккуратный список неизрасходованных
выходов - то есть доступная тебе сумма бабла.
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.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 08:18:49 PM
 #41

С первым - понятно. Со вторым - нет. Как формируется - тоже не ясно. Такие дела.
Что есть первое, а что второе?
У самой типичной транзакции scriptSig состоит из ECDSA-сигнатуры
3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e635301
И публичного ключа
0268f18c4366abe0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901

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

Quote
Ну смотри: brainwallet -> transactions -> privkey -> данные -> re-sign -> raw-transaction -> https://blockchain.info/ru/pushtx
И всё. И никаких синхронизаций блоков в Qt.
Вот это я и называю "трахаться стоя, в гамаке и в скафандрах"
Зачем столько действий делать руками если их за тебя сделает программа?
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 08:43:54 PM
 #42

Что есть первое, а что второе?
У самой типичной транзакции scriptSig состоит из ECDSA-сигнатуры
3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e635301
И публичного ключа
0268f18c4366abe0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901
Понял:
https://bitcoin.org/img/dev/en-signing-output-to-spend.svg

Вот это я и называю "трахаться стоя, в гамаке и в скафандрах". Зачем столько действий делать руками если их за тебя сделает программа?
Просто тут не надо блоки, лучше принцип видно, ну и свести всё это можно просто к вводу адреса получателя, и суммы.
Ну и транзакций нагенерить в оффлайне, а потом отправить пачкой при подключении к сети.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 08:54:24 PM
 #43

Понял:

Это вопрос или утверждение? Если вопрос - то, нет. Я не понял эту блок-схему.
Если утверждение - то позвольте вас поздравить.

Quote
Просто тут не надо блоки, лучше принцип видно, ну и свести всё это можно просто к вводу адреса получателя, и суммы.
Ну и транзакций нагенерить в оффлайне, а потом отправить пачкой при подключении к сети.
Господи, да что ж вас так блоки-то беспокоят?
Ну лежит 100 гигабайт говна на винте. Жрать не просят. Когда попросят - сотру нахер.
А транзакции можно и в лайт-клиентах создавать вроде бы.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 27, 2016, 09:22:36 PM
 #44

Это вопрос или утверждение? Если вопрос - то, нет. Я не понял эту блок-схему.
Если утверждение - то позвольте вас поздравить.
Это тупо картинка, которую удалось найти по запросу ECDSA ScriptSig Bitcoin в картинках гугл.
А повесил я её для красоты, поняв аж нихуя при этом.

Господи, да что ж вас так блоки-то беспокоят?
Ну лежит 100 гигабайт говна на винте. Жрать не просят. Когда попросят - сотру нахер.
А транзакции можно и в лайт-клиентах создавать вроде бы.

А смотри, что у меня:
42coin, Acoin, Alphacoin, Animecoin, Anoncoin, Apexcoin, Auroracoin, BBQcoin, Bitcoin, BitcoinDark,
Birdcoin, Blackcoin, BlackJack, BunnyCoin, CanadaeCoin, CannabisCoin, Capricoin, CassubianDetk,
CashCoin, Catcoin, Corgicoin, CryptoBullion, CryptoClub, Cryptoescudo, Dash, DeafDollars, Devcoin,
Digitalcoin, Dogecoin, DogecoinDark, eGulden, eKrona, Emercoin, EnergyCoin, Fastcoin, Feathercoin,
Fibre, Fluttercoin, Freicoin, FUDcoin, Fuelcoin, Fujicoin, GabenCoin, GlobalBoost, Goodcoin,
GridcoinResearch, Gulden, Guncoin, HamRadioCoin, HTML5Coin, HyperStake, ImperiumCoin, IncognitoCoin,
Influxcoin, IridiumCoin, iCash, iXcoin, Judgecoin, Jumbucks, Latium, Litecoin, LiteDoge, MagicInternetMoney,
Magicoin, Marscoin, MarteXcoin, MasterDoge, Mazacoin, Megacoin, MobiusCoin, MonetaryUnit, Monocle,
MoonCoin, Myriadcoin, NameCoin, Neoscoin, Novacoin, Nubits, Ocupy, Omnicoin, Onyxcoin, Paycoin,
Pandacoin, ParkByte, Pesetacoin, PHCoin, PhoenixCoin, Peercoin, Potcoin, Primecoin, Quark, Reddcoin,
Riecoin, Rimbit, Rubycoin, Sambacoin, SecKCoin, SibCoin, SongCoin, SpreadCoin, StealthCoin, Syscoin,
Titcoin, TittieCoin, Topcoin, TransferCoin, TreasureHuntCoin, Unobtanium, USDe, Vertcoin, Viacoin,
VikingCoin, W2Coin, WankCoin, WeAreSatoshiCoin, WorldCoin, Zetacoin, и Ethereum ещё.

Интересно сколько же места надо выделить на винте, под все эти блоки? =)
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 09:31:36 PM
 #45

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

Activity: 14
Merit: 0


View Profile
October 27, 2016, 11:00:08 PM
 #46

а зачем вам этот список валют?
вы их все майнить собираетесь? или сервис по отправке транзакций делать?
ну учтите, что в некоторых есть существенные отличия от биткойна.
Интересен был бы именно майнинг. Без пулов. В режиме соло. Даже не столько сам процесс, сколько его настройка.
Чтобы понять так-сказать, тонкости технологии.
Но не просто майнинг а майнинг такой валюты, на которую ещё ASIC не понаподключали, и чтобы получалось часто, без закачек всяких.
Какой-то закрытой, малоизвестной, находящейся в дебрях "Тихого дома". Как пройти в Тихий Дом вы все и так сами прекрасно знаете.

А вот сервис по отправке транзакций в сеть, хорошая идея, но там нужен дедикейтед сервер
и прямые руки с нанотехнологичными извилинами заодно.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 28, 2016, 01:22:42 AM
 #47

Да, и ещё, вот такой вопрос интересен.
Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?

Я знаю 2 операции с точками на эллиптической кривой.
Удвоение и сложение.
Умножение - это комбинация умножения и сложения в соответствии со значением бит в числовой константе приватного ключа, на который умножается генераторная точка G.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 28, 2016, 04:47:08 AM
Last edit: October 28, 2016, 05:43:15 AM by amaclin
 #48

Да, и ещё, вот такой вопрос интересен.
Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?
умножение на G
http://bitcoin.stackexchange.com/questions/25024/how-do-you-get-a-bitcoin-public-key-from-a-private-key
но там не простое умножение, которое в школе проходят, а умножение на эллиптической кривой
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 28, 2016, 06:05:02 AM
Last edit: October 28, 2016, 08:25:25 AM by userbits
 #49

умножение на G
http://bitcoin.stackexchange.com/questions/25024/how-do-you-get-a-bitcoin-public-key-from-a-private-key
но там не простое умножение, которое в школе проходят, а умножение на эллиптической кривой
Понял, уже готово.
100500G (101816950638124313904973605100560533252361743933737213833523739281647048689969,
78598442034195021184659696539822905501095501203773743829894485136115869628863)
Decimal координаты.
userbits (OP)
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
October 31, 2016, 10:13:54 AM
 #50

Да, и ещё, вот такой вопрос интересен.
Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?
умножение на G
http://bitcoin.stackexchange.com/questions/25024/how-do-you-get-a-bitcoin-public-key-from-a-private-key
но там не простое умножение, которое в школе проходят, а умножение на эллиптической кривой

А есть операция, обратная удвоению, чтобы найти пол точки?
k = 3x^2 * ((2y)^-1 mod p) mod p;
2x = (k * k) - 2 * x mod p;
2y = ((x - Rx) * k) - y mod p;
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!