Bitcoin Forum
May 06, 2024, 01:31:01 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 »
  Print  
Author Topic: Асикостойкий алгоритм PoW  (Read 6060 times)
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
August 18, 2018, 10:03:50 AM
 #601

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

В блоке нет денег, коины есть, а денег нет, но вы держитесь.
А зря, эта очевидная мысль пришла мне в голову уже давно, так как у всех транзакций в блоке бетховена, кроме coinbase транзакции, есть подпись. Спермакоин очень мутный. На его сайте весьма мудацкое описание:
Quote
So when a miner finds a block, he must himself sign and transmit the block to the network (like solo mining), instead of having a pool handle this for him.
Что значит когда майнер нашёл блок? В таком варианте ничего не мешает создать пул. Возможно это описание писал кто-то не слишком разбирающийся в алгоритме, тем не менее в WP алгоритма тоже толком нет и пёс их знает что они там перебирают. Сомнения усиливаются от наличия 43000 блоков с пустыми minersignature и hashwholeblock.

1714959061
Hero Member
*
Offline Offline

Posts: 1714959061

View Profile Personal Message (Offline)

Ignore
1714959061
Reply with quote  #2

1714959061
Report to moderator
1714959061
Hero Member
*
Offline Offline

Posts: 1714959061

View Profile Personal Message (Offline)

Ignore
1714959061
Reply with quote  #2

1714959061
Report to moderator
1714959061
Hero Member
*
Offline Offline

Posts: 1714959061

View Profile Personal Message (Offline)

Ignore
1714959061
Reply with quote  #2

1714959061
Report to moderator
You can see the statistics of your reports to moderators on the "Report to moderator" pages.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1mk3r
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
August 21, 2018, 08:32:46 AM
Last edit: August 21, 2018, 08:44:14 AM by 1mk3r
 #602

Продолжим дискуссию.
Вобщем что имеем:
1)Антипуловый алгоритм, основанный на подписях владельца кошелька получателя награды в каждой итерации майнинга, вроде бы существует. Spreadcoin, хоть и мудацкий.
2)Процессорный алгоритм для которого даже для видях майнеров нет тоже существует. 1GB-AES и тому подобное.
3)Цель я вижу следующим образом – скрестить п.1 и п.2 (для обеспечения максимальной децентрализации), а также найти решение проблемы длительной угадайки. Иначе говоря, нужно чтобы майнеры получали строго периодическую (хотя и уменьшающуюся) награду вне зависимости от роста сложности. Иначе говоря, нужно воспроизвести систему выплат характерную для работы пулов.
Нужно платить награды шарорешателям – неидеально решившим блок. Записывая их решения в следующий блок, и взимая с них комиссию за монетизацию шар.
Механизм распределения награды:
Вводится понятие «доли трудового участия» для создателя блока он равен -1, для решившего предыдущий блок полностью но не успевшего опубликовать его -0,9,  для нерешившего но подобравшегося близко к решению – 0,8 и.тд. пропорционально степени идеальности решения и вплоть до предельной идеальности принятия шары (установленной раз и навсегда при создании алгоритма)- она должна быть такая чтобы процессор i7 получал награду раз в сутки.
Далее суммируем эти дольки – 1+0,9+0,8+0,7 = 3,4
Делим награду 50 монет на 3,4 = 14,7 монет на единицу доли трудового участия.
Соответственно тот кто имеет коэффициент 0,9 получает 14,7*0,9 = 13,2 и так далее.
Вышеуказанная награда на единицу – 14,7 действует только для следующего блока.
Если блок № 1 решил майнер без шарорешателей и получил 50 монет, то в блоке № 2 создавший блок получит также 50 монет, а шарорешатель допустим с коэффициентом 0,9 получит 45 монет. Всего в блоке будет создано 95 монет.
Но в следующем блоке № 3 будет уже 50/(1+0,9) = 26,3 монет на единицу коэффициента трудового участия.  Таким образом мы стимулируем создателей блоков включать максимальное количество шар в блок.

Сомнения усиливаются от наличия 43000 блоков с пустыми minersignature и hashwholeblock.
А как вы это смотрели, в каком блок-эксплорере и какие номера блоков, хотя бы для примера.





fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
August 21, 2018, 03:03:26 PM
Last edit: August 22, 2018, 10:54:23 AM by fxpc
 #603

Продолжим дискуссию.
Вобщем что имеем:
1)Антипуловый алгоритм, основанный на подписях владельца кошелька получателя награды в каждой итерации майнинга, вроде бы существует. Spreadcoin, хоть и мудацкий.
2)Процессорный алгоритм для которого даже для видях майнеров нет тоже существует. 1GB-AES и тому подобное.
3)Цель я вижу следующим образом – скрестить п.1 и п.2 (для обеспечения максимальной децентрализации), а также найти решение проблемы длительной угадайки. Иначе говоря, нужно чтобы майнеры получали строго периодическую (хотя и уменьшающуюся) награду вне зависимости от роста сложности. Иначе говоря, нужно воспроизвести систему выплат характерную для работы пулов.
Нужно платить награды шарорешателям – неидеально решившим блок. Записывая их решения в следующий блок, и взимая с них комиссию за монетизацию шар.
Механизм распределения награды:
Вводится понятие «доли трудового участия» для создателя блока он равен -1, для решившего предыдущий блок полностью но не успевшего опубликовать его -0,9,  для нерешившего но подобравшегося близко к решению – 0,8 и.тд. пропорционально степени идеальности решения и вплоть до предельной идеальности принятия шары (установленной раз и навсегда при создании алгоритма)- она должна быть такая чтобы процессор i7 получал награду раз в сутки.
Далее суммируем эти дольки – 1+0,9+0,8+0,7 = 3,4
Делим награду 50 монет на 3,4 = 14,7 монет на единицу доли трудового участия.
Соответственно тот кто имеет коэффициент 0,9 получает 14,7*0,9 = 13,2 и так далее.
Вышеуказанная награда на единицу – 14,7 действует только для следующего блока.
Если блок № 1 решил майнер без шарорешателей и получил 50 монет, то в блоке № 2 создавший блок получит также 50 монет, а шарорешатель допустим с коэффициентом 0,9 получит 45 монет. Всего в блоке будет создано 95 монет.
Но в следующем блоке № 3 будет уже 50/(1+0,9) = 26,3 монет на единицу коэффициента трудового участия.  Таким образом мы стимулируем создателей блоков включать максимальное количество шар в блок.

1) Но это не точно и есть нюансы.
2) Это то же что используется в криптонотах и монерах, майнеров для видях полно.
3) Рядовому хомяку плевать на длительность угадайки, пока не приходится платить за электричество фермы или асика, лотерея же. Какое трудовое участие в лотерее, зачем воспроизводить систему выплат характерную для пулов и что такое неидеальное решение блока? Решение это валидные данные хеширование которых даёт подходящий под условия хеш, то есть случайное число, либо ты нашёл это число, либо нет. Можно конечно сделать допуск +-X, но это колхоз и лохчейн не резиновый. i7 это не процессор, а семейство в котором уже 8 поколений. Какое из поколений и какой из процессоров этого поколения брать за эталон, а главное почему именно его, когда у среднестатистического хомяка никакого i7 нет вовсе? Если 100 процессоров получают награду раз в сутки, то как они будут получать награду раз в сутки, когда в сети 100 000 процессоров? Имхо, ты какой-то коммунизм предлагаешь.

Сомнения усиливаются от наличия 43000 блоков с пустыми minersignature и hashwholeblock.
А как вы это смотрели, в каком блок-эксплорере и какие номера блоков, хотя бы для примера.

В кошельке. Диапазон 0-43000.

1mk3r
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
August 24, 2018, 02:28:32 PM
 #604

По поводу 43000 блоков без полей minersignature и minerwholeblock:
Действительно в блокчейне ровно 43000 блоков без этих полей, далее идут блоки с подписями.
Я порылся в исходном коде спредкоина на гитхабе.
В файле main.cpp нашел вот это.

// Get hardfork blocks
unsigned int getFirstHardforkBlock()
{
    return fTestNet? 0 : 2200;
}

unsigned int getSecondHardforkBlock()
{
    return fTestNet? 0 : 43000;
}
Как я понял это старт сети так происходил, с условием что первые 43000 блоков майнились без этих полей, то есть наверное могли быть намайнены теоретически в пуле. Затем антипул механизм был включен на блоке 43001. По времени это один месяц.
Зачем они это сделали непонятно. Видимо это была тестовая сеть. И судя по дате первого блока в сети 29.07.2014., а также датам размещения кода на Гитхабе 24.01.2015 и анонса на биткоинтолк 10.10.2014, это был премайн в тихаря.

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

По поводу нерезиновости блокчейна, Сатоши завещал отрубать хвост блокчейна.
Я представляю себе это так, каждые 25 гигов майнится контрольный блок со списком всех ненулевых кошельков в блокчейне и их балансами. А каждые 100 гигов, отрубается самый старый 25 гиговый хвостик.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
August 24, 2018, 05:10:28 PM
Last edit: August 24, 2018, 05:25:42 PM by fxpc
 #605

У тестовой сети отдельный лохчейн, а у них этот пиздец в основном.

Претензия к идее "всем всё платится". С каких пор джекпот лотереи положено выплачивать каждому лудоману, а не только выигравшему? Вероятность смайнить обратно пропорциональна сложности, которая зависит от количества хомяков. Любой алгоритм на более производительном устройстве будет выполняться быстрее. Что значит невозможность включения в майнинг GPU? Есть алгоритмы выполняющиеся на GPU не на порядки быстрее чем на CPU и этого достаточно. Хомяка с CPU уделывают не другие хомяки с более производительными устройствами, а пулы.

amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
August 24, 2018, 06:17:58 PM
 #606

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

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

Кроме того, ваша "концептуальная идея" бредовая в смысле того, что никак не учитывается количество хомяков, коим уже сегодня несть числа. Если награду раздавать раз в 10 минут, а хомяков с процессорами будет миллион, то очевидно, что ни при каком алгоритме "раз в неделю получать значимую прибавку к стипендии" не получится.

Хомяка с CPU уделывают не другие хомяки с более производительными устройствами, а пулы.

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
August 25, 2018, 09:55:01 AM
Last edit: August 25, 2018, 10:53:10 AM by fxpc
 #607

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

Кроме того, ваша "концептуальная идея" бредовая в смысле того, что никак не учитывается количество хомяков, коим уже сегодня несть числа. Если награду раздавать раз в 10 минут, а хомяков с процессорами будет миллион, то очевидно, что ни при каком алгоритме "раз в неделю получать значимую прибавку к стипендии" не получится.

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

1mk3r
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
August 31, 2018, 06:34:00 PM
Last edit: August 31, 2018, 07:46:44 PM by 1mk3r
 #608

Пошарился по английскому разделу альткоинов и нашел монетку Zillioncoin (форк Spreadcoin) - CPU-Only, Антипул механизм из Spredcoin
https://bitcointalk.org/index.php?topic=1818945.0

Только на процах и строго без пулов.
А также пристуствует элемент непредсказуемости - случайной генерации задания на майнинг:
POW состоит из щести последовательно выполняемых алгоритмов:
Spread-Blake-Keccak_shavite-JH-ECHO
При этом алгоритмы 3,4,5, в случайном порядке меняются местами от блока к блоку.
В GUI кошелька есть инфографика красиво отображающая этот процесс.

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

Бирж нету, биржевого курса нету. Но монетка децентрализована воистину.
И разрабу до фонаря что нет листинга на биржах с 2017 года. Он походу как Перельман в своем мирке живет. Прикрутил к кошельку какие то бегущие строки с курсами основных валют.
Так что денег не будет, можно держаться (HODL).
Можно форкнуть. Коммунистический механизм распределения награды среди шарорешателей туда добавить и будет то о чем я писал.
600 000 блоков добыто  и все с minersignature и hashwholeblock (то есть ни как у спрэдкоина 43000 первых блоков были без них)
Но разраб экспериментатор тот еще, он где то на 500 000 блоке заменил алгоритм майнинга x11 на вышеуказанный ЦПУшный вырвимозг. Хардфорк провел.
Видимо поэтому на биржи  и не листит, чтобы лепить что душе угодно.

Несмотря на отсутствие биржевой цены, у монеты хороший коннект. Есть куча чудиков которые ее зачем то добывают. Несмотря на дикий премайн и явное отсутствие биржевых перспектив если ее все таки залистят.
i5 2400 сраненький проц выдает, 17 килохешей на этом вырвиглазном алгоритме, хешрейт сети 3 мегахеша. Блок моим процыком добывается 3 часа, хотя частота блоков по алгоритму раз в минуту. 180 минут - то есть грубо 180 идиотов с такими же процами за каким то хреном его добывают, что явно подтверждает тезис Маклина о немеренном количестве хомяков даже в ситуации полного бесперспективняка.

Еще имхо. Такая монета, при отсутствии пулов, а также при равенстве вычислительной вооруженности хомяков (CPU-Only), а также при отсутствии описанного мною коммунистического распределения, никогда не сделает иксов и не покажет туземун, потому-что увеличение времени угадайки будет всегда сокращать численность хомяков до определенного равновесного уровня. Сложность добычи и цена такой монеты также всегда будет держаться у определенного равновесного уровня. В определенном смысле это означает появление своего рода стейблкоина, и может быть даже это и хорошо. Такой принудительно законсервированный доисторический период существования биткоина.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
September 02, 2018, 04:50:23 PM
Last edit: September 03, 2018, 07:53:58 AM by fxpc
 #609

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

Наша песня хороша - начинай сначала. Какой алгоритм, МММ?

1mk3r
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
September 10, 2018, 06:41:09 PM
 #610

Коммунистический механизм распределения награды среди шарорешателей туда добавить и будет то о чем я писал.
Наша песня хороша - начинай сначала. Какой алгоритм, МММ?
Есть в эфире такое понятие как uncle блоки (дядя - брат отеческого блока), это орфаны которые монетизируются на уровне алгоритма, добавляются в блокчейн и повышают его надежность, за счет вложенных в них вычислений. Uncle включенные в блок, получают 7/8 статической награды блока.
Я предлагаю распространить этот механизм не только на орфаны (идеальные альтернативные решения блока) но и на шары (неидеальные альтернативные решения блока) и выплачивать им награду пропорционально степени идеальности шары, от 7/8 за идеальную и вниз до предельной нижней сложности принятия шар, она задается фиксировано при создании алгоритма и соответствует работе средестатистического хомячкового процессора за сутки.

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

Проблему тяжелого блокчейна я предлагаю решить путем отсчечения хвоста блокчейна. Допустим так: каждые 50 тыс.блоков (при времени блока в 1 мин - это около месяца) создается контрольный блок содержащий полный перечень всех ненулевых кошельков и их балансов. А каждые 300 тыс блоков. происходит отсечение, самого древнего 50 тысячного контрольного блока.

В остальном это должен быть обычный CPU-only форк спредкоина, типа zillioncoin, чтобы майнился только на CPU и без пулов и никаких видеокарт.
Почему именно на CPU без GPU и без пулов? - для повышения децентрализации, чтобы действовал (насколько это возможно)  принцип одна нода- один голос - равные возможности для нахождения блока. GPU, ASIC и пулы этому принципу противоречат, так как делают систему централизованной за счет концентрации мощностей в одних руках, что противоречит изначальной концепции крипты - распределенные децентрализованные деньги.
 
amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
September 10, 2018, 09:27:44 PM
 #611

Проблему тяжелого блокчейна я предлагаю решить путем отсчечения хвоста блокчейна. Допустим так: каждые 50 тыс.блоков (при времени блока в 1 мин - это около месяца) создается контрольный блок содержащий полный перечень всех ненулевых кошельков и их балансов. А каждые 300 тыс блоков. происходит отсечение, самого древнего 50 тысячного контрольного блока.

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
1mk3r
Member
**
Offline Offline

Activity: 60
Merit: 10


View Profile
September 11, 2018, 06:35:23 AM
Last edit: September 11, 2018, 06:54:49 AM by 1mk3r
 #612

Проблему тяжелого блокчейна я предлагаю решить путем отсчечения хвоста блокчейна. Допустим так: каждые 50 тыс.блоков (при времени блока в 1 мин - это около месяца) создается контрольный блок содержащий полный перечень всех ненулевых кошельков и их балансов. А каждые 300 тыс блоков. происходит отсечение, самого древнего 50 тысячного контрольного блока.

Через год после создания вашего "блокчейна с отсечками" я наконец заинтересуюсь вашей валютой
и запущу свою ноду. Моя нода соединится с восьмью (допустим) другими нодами. Что будет делать
моя нода, если каждый из восьми пиров представит свою собственную версию блокчейна? Кому из этих
восьми мне верить?
Верить наиболее сложной цепочке из имеющихся.
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 11, 2018, 01:44:40 PM
 #613

В остальном это должен быть обычный CPU-only форк спредкоина, типа zillioncoin, чтобы майнился только на CPU и без пулов и никаких видеокарт.

Интересно а в чем заключается идея защиты от GPU?

И кстати  на сайте http://www.zillioncoin.com
Написано:
New GPU miner coming soon


Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
September 11, 2018, 07:46:07 PM
Merited by chimk (1)
 #614

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 12, 2018, 07:48:55 AM
 #615

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


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

Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
September 12, 2018, 09:06:53 AM
Merited by chimk (1)
 #616

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

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

В генезис-блоке действительно хэш предыдущего блока забит нулями. Это непринципиально,
так как он вообще по сути захардкоден в коде клиента, валидность его никто не проверяет.
Я задал вопрос - как выбрать mainchain если вам предлагают две цепочки блоков, имеющие
разную "голову" (а раз голова разная, то и хвост будет отличаться). Предложено было измерить
сложность и выбрать цепочку с большей кумулятивной сложностью. Я смутно вижу в этом
проблему, но в двух словах не смогу сейчас привести аргументы почему так нельзя/опасно делать.
И предлагаю вам самим это покумекать и погуглить, какие аргументы высказывались уже
на эту тему - всяко такая идея всплывала уже не один десяток раз.

Самый лучший способ разобраться в проблеме - объяснить другому человеку. Вот и объясните
мне почему так никто не делает.

Даю подсказку.
Итак. Я запускаю клиента и коннекчусь к двум пирам.
Первый пир мне может предоставить цепочку блоков от 100000 до 200000 со сложностью N
Второй пир мне может предоставить цепочку блоков от 300000 до 400000 со сложностью M

Учитывайте, что у нас в первой цепочке неизвестны блоки с 0 по 99999 так что ничего об
их сложности мы не знаем, а число записанное в блоке 100000 (если вы вдруг в блок отсечки
решите туда записать сумму) может быть поддельное. А во второй цепочке неизвестны блоки
с 0 по 299999.

Какая цепочка является mainchain? Рассмотрите два варианта, M > N и M < N


Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
September 12, 2018, 01:45:11 PM
Merited by chimk (1)
 #617

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

В крипте с системой отсечек точкой отсчёта будет блок с балансами. Атакующий может записать туда любую лабуду, например увеличить свой баланс. Точно такой же трюк можно проделать с генезис блоком, если он не захардкожен в клиент.

amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
September 12, 2018, 02:23:40 PM
Merited by chimk (1)
 #618

В крипте с системой отсечек точкой отсчёта будет блок с балансами. Атакующий может
записать туда любую лабуду, например увеличить свой баланс. Точно такой же трюк можно
проделать с генезис блоком, если он не захардкожен в клиент.

Ну зачем ты подсказываешь? Сам человек может додуматься. А так ты подсказал - и
теперь будут искать пути обхода.

Что если "прунится" (то бишь отрезается) не полностью голова, а только транзакции?
То есть генезис-блок можно оставить, а при "обрезании" мы удаляем только транзакции,
а 80-байтные заголовки блоков оставляем. Плюс к этому, разумеется, в алгоритм вносится
что каждый (допустим) 50000-ый блок имеет специфический формат, содержащий не
транзакции, а "балансы"?

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
September 12, 2018, 02:50:08 PM
 #619

В крипте с системой отсечек точкой отсчёта будет блок с балансами. Атакующий может
записать туда любую лабуду, например увеличить свой баланс. Точно такой же трюк можно
проделать с генезис блоком, если он не захардкожен в клиент.

Ну зачем ты подсказываешь? Сам человек может додуматься. А так ты подсказал - и
теперь будут искать пути обхода.

Пардон, молчу. Понаблюдаю с тобой за изысканиями страждущих. Smiley

Vtools (OP)
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
September 12, 2018, 02:59:19 PM
 #620

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

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

В генезис-блоке действительно хэш предыдущего блока забит нулями. Это непринципиально,
так как он вообще по сути захардкоден в коде клиента, валидность его никто не проверяет.
Я задал вопрос - как выбрать mainchain если вам предлагают две цепочки блоков, имеющие
разную "голову" (а раз голова разная, то и хвост будет отличаться). Предложено было измерить
сложность и выбрать цепочку с большей кумулятивной сложностью. Я смутно вижу в этом
проблему, но в двух словах не смогу сейчас привести аргументы почему так нельзя/опасно делать.
И предлагаю вам самим это покумекать и погуглить, какие аргументы высказывались уже
на эту тему - всяко такая идея всплывала уже не один десяток раз.

Самый лучший способ разобраться в проблеме - объяснить другому человеку. Вот и объясните
мне почему так никто не делает.

Даю подсказку.
Итак. Я запускаю клиента и коннекчусь к двум пирам.
Первый пир мне может предоставить цепочку блоков от 100000 до 200000 со сложностью N
Второй пир мне может предоставить цепочку блоков от 300000 до 400000 со сложностью M

Учитывайте, что у нас в первой цепочке неизвестны блоки с 0 по 99999 так что ничего об
их сложности мы не знаем, а число записанное в блоке 100000 (если вы вдруг в блок отсечки
решите туда записать сумму) может быть поддельное. А во второй цепочке неизвестны блоки
с 0 по 299999.

Какая цепочка является mainchain? Рассмотрите два варианта, M > N и M < N



Отвечу на другой пример (для меня он более корректен и важен):
Первый пир мне может предоставить цепочку блоков от 100000 до 200000 со сложностью N
Второй  пир мне может предоставить цепочку блоков от 100000 до 200000 со сложностью M
(т.е. номера блоков одинаковы, а вот сложность и содержимое разное):

Я думаю здесь важно отношение M и N. Если они примерно равны, то значит нельзя доверять обоим цепочкам. Если кто-то сильно отличается (например на 90% и более), то доверяем большей цепочке.
И да, желательно загрузить заголовки с 0 о 100000 чтобы понять как менялась сложность. Критерии нужно еще разработать - сейчас только понятно направление мысли.

И кстати, как мы знаем в биткоине по сути та же проблема (неважно какой баланс, т.к. за 100 тыс блоков можно много записать себе приписать как майнеру), выручают только чекопинты в коде...


Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 »
  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!