Bitcoin Forum
June 21, 2024, 08:34:59 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: PoW как эстафета, возможно ли?  (Read 213 times)
babiypetr (OP)
Full Member
***
Offline Offline

Activity: 322
Merit: 102


View Profile WWW
August 03, 2018, 12:09:17 PM
Merited by klarki (1)
 #1

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

Насколько мне хватило моих знаний, алгоритм консенсуса Proof of Work предлагает майнерам , коллективно, всем сразу и без прогулов, от души поработать над разгадыванием некой загадки, которая вполне себе разгадывается перебором хешей. Того же кто окажется самым усердным в своей работе и сумеет первее остальных отгадать поставленную загадку, сделают немного багаче и дадут попробовать немножко власти дав возможность выпустить новый блок. Честные соревнования (как и выборы) хотят все, но не всем дают в таковых поучаствовать, в результате наших соревнований конено же победит сильнейший (привет фермерам) или хитрейший (привет пулам), а остальные просто сожгут вагончик, другой угольку, что бы попыхтеть за общее дело без малейшего шанса на победу. Блин, суровая картинка вышла какая то, надеюся я ни где не ошибься?

Я конечно сам ещё тот трудоголик и прям люблю поработать за "спасибо", но временами как говорил товарищь Сухов)) "За державу обидно".

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

Что бы дал такой алгоритм?

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

А 51% ?

Ну как бы теоритически для увеличения шансов повторно клепать блок , необходимо расширять количество узлов (не их мощность), но наличие 51% от количества не дает гарантии что именно один из этих узлов снова получит везучий диапазон и разгадает блок, хотя возможно имеет смысл усложнить алгоритм передачи эстафеты следующему майнеру, возможно не стоит давать это право майнеру из той же подсети что и предыдущий а передать его кому то другому.

Ну вот как то так, что скажете?

neiros
Legendary
*
Offline Offline

Activity: 3514
Merit: 1100



View Profile WWW
August 03, 2018, 02:36:40 PM
 #2


Хорошо написано, но не более.

Если майнер будет обладать даже мизерной частью мощности сети, он с среднем будет находить блоки пропорционально этой своей части мощности.
т.е.
при 100% - каждый первый блок
при 50% - условно говоря, каждый второй блок
при 0,0001% - условно говоря, каждый десятитысячный блок
(думаю всем понятно, что означает: условно говоря)

Блок у каждого майнера индивидуален. Нет как такового диапазона хешей. Есть диапазоны множества изменяемых параметров в блоке.

Вы запустили один майнер, а я, или кто-то другой, миллион майнеров.
В каком месте и когда в этом случае наступит коммунизм?

babiypetr (OP)
Full Member
***
Offline Offline

Activity: 322
Merit: 102


View Profile WWW
August 03, 2018, 02:51:11 PM
 #3

Пошел учить матчасть, что бы дурные мысли в голову не лезли)

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

kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 03, 2018, 02:56:28 PM
 #4

Пошел учить матчасть, что бы дурные мысли в голову не лезли)

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

Массив данных это заголовок нового блока.
Ищется красивый хэш этого заголовка путем подстановки в заголовок случайного числа.

OpenTrade - Open Source Cryptocurrency Exchange
babiypetr (OP)
Full Member
***
Offline Offline

Activity: 322
Merit: 102


View Profile WWW
August 03, 2018, 03:10:41 PM
 #5


Quote
Массив данных это заголовок нового блока.
- новый и каждого майнера свой, это я понял

Quote
Ищется красивый хэш этого заголовка

- именно красивый? или конкретный хеш который как то связан с прошлым блоком? я думал что именно конкретный хеш

 
Quote
путем подстановки в заголовок случайного числа.


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

kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 03, 2018, 07:09:46 PM
 #6


- именно красивый? или конкретный хеш который как то связан с прошлым блоком? я думал что именно конкретный хеш

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

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

OpenTrade - Open Source Cryptocurrency Exchange
babiypetr (OP)
Full Member
***
Offline Offline

Activity: 322
Merit: 102


View Profile WWW
August 03, 2018, 07:38:32 PM
 #7

Спасибо большое, что потратили время на разъяснения, я понял что идея утопична Smiley

kzv
Legendary
*
Offline Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
August 04, 2018, 02:43:28 PM
 #8

Честно говоря первый раз слышу про extranonce (
В коде битка перебирается nonce, если решение не найдено, меняется timestamp блока.

OpenTrade - Open Source Cryptocurrency Exchange
Coin-1
Legendary
*
Offline Offline

Activity: 2492
Merit: 2232



View Profile
August 23, 2018, 01:57:55 AM
 #9

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

Примерно такую же идею в этом разделе не так давно выдвигал imhoneer:
https://bitcointalk.org/index.php?topic=2767711.0

Говоря утрированно, суть алгоритма сводилась с поочерёдному майнингу согласно некому хешу. В конце темы автор признал уязвимость своего алгоритма к атакам.



В начале хэша должно быть как можно больше нулей. Чем больше нулей - тем сложнее такой хэш найти.

Здесь нужно отметить, что на самом деле как можно больше нулевых битов должно быть в конце хеша. Дело в том, что в блокчейне Bitcoin данные записываются в Little Endian Byte Order, а не в Big Endian, поэтому согласно этому порядку в хеше младшие байты идут в начале, а старшие байты в конце.
babiypetr (OP)
Full Member
***
Offline Offline

Activity: 322
Merit: 102


View Profile WWW
August 23, 2018, 06:29:42 AM
 #10

Quote
В конце темы автор признал уязвимость своего алгоритма к атакам.

Об этот краеугольный камень разбиваются многие алгоритмы, но на самом деле менее энергозатратные чем PoW алгоритмы, уже существуют, правда с поправкой на то, что "отец" криптовалют BitCoin не отдает своего первенства, толку от этого не очень много, но будем наблюдать. Я например со своей благотворительной платформой решил податься в Stellar, дёшево, "сердито" и не столь энергозатратно.

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

Pages: [1]
  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!