Title: PoW как эстафета, возможно ли? Post by: babiypetr on August 03, 2018, 12:09:17 PM Всем привет) Собственный блокчейн пока не разрабатываю, моих познаний в этой области на данный момент явно не достаточно, но программерский "МоЗг))" время от времени, нагружает различными фантазиями, которые занимают ресурсы и так перегруженного организма))) Дабы избавится от своих идиотских мыслей, решил опубликовать их здесь, тая непримеримую надежду "а вдруг в этот раз мысля не идиотская))".
Насколько мне хватило моих знаний, алгоритм консенсуса Proof of Work предлагает майнерам , коллективно, всем сразу и без прогулов, от души поработать над разгадыванием некой загадки, которая вполне себе разгадывается перебором хешей. Того же кто окажется самым усердным в своей работе и сумеет первее остальных отгадать поставленную загадку, сделают немного багаче и дадут попробовать немножко власти дав возможность выпустить новый блок. Честные соревнования (как и выборы) хотят все, но не всем дают в таковых поучаствовать, в результате наших соревнований конено же победит сильнейший (привет фермерам) или хитрейший (привет пулам), а остальные просто сожгут вагончик, другой угольку, что бы попыхтеть за общее дело без малейшего шанса на победу. Блин, суровая картинка вышла какая то, надеюся я ни где не ошибься? Я конечно сам ещё тот трудоголик и прям люблю поработать за "спасибо", но временами как говорил товарищь Сухов)) "За державу обидно". И возникла у меня мысль, а почему бы нам, не запрягать майнеров всех сразу, а давать им, в совершенно случайном порядке, эдакую эстафету, дающую право попробовать разгадать загадку, но не перебирая весь диапазон хешей, а только часть его, причем пока один майнер трудится, другие ждут, если он в заданом диапазоне не нашел ответа, то он всем об этом говорит, и эстафета переходит к следующему участнику сети, который перебирает другой диапазон хешей (перебранный первым уже ни кому не достанется), причем тот кто перебирал уже хеши в рамках этой итериции не сможет повторно попробовать. И таким образом мы передаем эстафету от майнера к майнеру, до тех пор пока одному везунчику не достанется диапазон в котором и найдется ответ на заданную загадку, ну и как полагается такого победителя наградим всеми обещаными плюшками, дадим монет и дадим право побыть президентом с правом подписи одного блока, ну а после того как он выпустил блок, начинается новая эстафета для поиска следующего счасливчика. Что бы дал такой алгоритм? - секономил прилично угля (так как работают не все сразу а по очереди и только до победы) - обидел бы фермеров (а толку от асика, не важно за какое время ты отработаешь свой диапазон, тебя все равно все ждут) - обидел бы пулы (ибо рабовладельческий строй нынче не в моде) - почти коммунизм (все майнеры равны в вероятности стать победителем, но победитель будет только один) А 51% ? Ну как бы теоритически для увеличения шансов повторно клепать блок , необходимо расширять количество узлов (не их мощность), но наличие 51% от количества не дает гарантии что именно один из этих узлов снова получит везучий диапазон и разгадает блок, хотя возможно имеет смысл усложнить алгоритм передачи эстафеты следующему майнеру, возможно не стоит давать это право майнеру из той же подсети что и предыдущий а передать его кому то другому. Ну вот как то так, что скажете? Title: Re: PoW как эстафета, возможно ли? Post by: neiros on August 03, 2018, 02:36:40 PM Хорошо написано, но не более. Если майнер будет обладать даже мизерной частью мощности сети, он с среднем будет находить блоки пропорционально этой своей части мощности. т.е. при 100% - каждый первый блок при 50% - условно говоря, каждый второй блок при 0,0001% - условно говоря, каждый десятитысячный блок (думаю всем понятно, что означает: условно говоря) Блок у каждого майнера индивидуален. Нет как такового диапазона хешей. Есть диапазоны множества изменяемых параметров в блоке. Вы запустили один майнер, а я, или кто-то другой, миллион майнеров. В каком месте и когда в этом случае наступит коммунизм? Title: Re: PoW как эстафета, возможно ли? Post by: babiypetr on August 03, 2018, 02:51:11 PM Пошел учить матчасть, что бы дурные мысли в голову не лезли)
Quote Нет как такового диапазона хешей. - не те маны курил)) я думал что поиск нужного хеша проходит на основании перебора хешей некоего массива данных, который можно разбить на части и скармливать майнерам частями и поочереди...Title: Re: PoW как эстафета, возможно ли? Post by: kzv on August 03, 2018, 02:56:28 PM Пошел учить матчасть, что бы дурные мысли в голову не лезли) Quote Нет как такового диапазона хешей. - не те маны курил)) я думал что поиск нужного хеша проходит на основании перебора хешей некоего массива данных, который можно разбить на части и скармливать майнерам частями и поочереди...Массив данных это заголовок нового блока. Ищется красивый хэш этого заголовка путем подстановки в заголовок случайного числа. Title: Re: PoW как эстафета, возможно ли? Post by: babiypetr on August 03, 2018, 03:10:41 PM Quote Массив данных это заголовок нового блока. - новый и каждого майнера свой, это я понялQuote Ищется красивый хэш этого заголовка - именно красивый? или конкретный хеш который как то связан с прошлым блоком? я думал что именно конкретный хеш Quote путем подстановки в заголовок случайного числа. - вот как раз диапазон из которого может быть выбрано это число я и собирался делить и раздавать), но естественно это не сработает если первая часть из которой будем делать хеш у каждого своя, то и пройтись нужно все таки по всему диапазону подбирая это случайное число. Title: Re: PoW как эстафета, возможно ли? Post by: kzv on August 03, 2018, 07:09:46 PM - именно красивый? или конкретный хеш который как то связан с прошлым блоком? я думал что именно конкретный хеш Именно красивый. В начале хэша должно быть как можно больше нулей. Чем больше нулей - тем сложнее такой хэш найти. Минимальная сложность (красивость) пересчитывается в битке раз в две недели. Выдавать хэш с большей сложностью (красивостью) можно, с меньшей - нельзя. - вот как раз диапазон из которого может быть выбрано это число я и собирался делить и раздавать), но естественно это не сработает если первая часть из которой будем делать хеш у каждого своя, то и пройтись нужно все таки по всему диапазону подбирая это случайное число. Да, причем если сделать костыль в виде "все заголовки блока обязаны у всех быть одинаковы пока не найдем решение", то есть нехилый шанс этого решения вообще никогда не найти перебрав всю соль и не получив требуемую сложность ))Title: Re: PoW как эстафета, возможно ли? Post by: babiypetr on August 03, 2018, 07:38:32 PM Спасибо большое, что потратили время на разъяснения, я понял что идея утопична :)
Title: Re: PoW как эстафета, возможно ли? Post by: kzv on August 04, 2018, 02:43:28 PM Честно говоря первый раз слышу про extranonce (
В коде битка перебирается nonce, если решение не найдено, меняется timestamp блока. Title: Re: PoW как эстафета, возможно ли? Post by: Coin-1 on August 23, 2018, 01:57:55 AM И возникла у меня мысль, а почему бы нам, не запрягать майнеров всех сразу, а давать им, в совершенно случайном порядке, эдакую эстафету, дающую право попробовать разгадать загадку, но не перебирая весь диапазон хешей, а только часть его Примерно такую же идею в этом разделе не так давно выдвигал imhoneer: https://bitcointalk.org/index.php?topic=2767711.0 Говоря утрированно, суть алгоритма сводилась с поочерёдному майнингу согласно некому хешу. В конце темы автор признал уязвимость своего алгоритма к атакам. В начале хэша должно быть как можно больше нулей. Чем больше нулей - тем сложнее такой хэш найти. Здесь нужно отметить, что на самом деле как можно больше нулевых битов должно быть в конце хеша. Дело в том, что в блокчейне Bitcoin данные записываются в Little Endian Byte Order, а не в Big Endian, поэтому согласно этому порядку в хеше младшие байты идут в начале, а старшие байты в конце. Title: Re: PoW как эстафета, возможно ли? Post by: babiypetr on August 23, 2018, 06:29:42 AM Quote В конце темы автор признал уязвимость своего алгоритма к атакам. Об этот краеугольный камень разбиваются многие алгоритмы, но на самом деле менее энергозатратные чем PoW алгоритмы, уже существуют, правда с поправкой на то, что "отец" криптовалют BitCoin не отдает своего первенства, толку от этого не очень много, но будем наблюдать. Я например со своей благотворительной платформой решил податься в Stellar, дёшево, "сердито" и не столь энергозатратно. Вообще, мое субъктивное мнение, что первенство возьмет та криптовалюта, которая сумеет добится "идеального" компромиса, между постулатами крипты и стремлениями регуляторов, только такой компромис позволит крипте по полной влится в реальную экономику - а это как раз то, что сможет сделать эту крипту самой популярной. |