witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 21, 2022, 12:13:55 PM |
|
Безусловно сеть сама не решает, а это образное выражение совокупности всех добросовестных пользователей этой сети, действующих по алгоритму.
Вы вообще не должны ориентироваться на добросовестность участников, консенсус должен достигаться даже если большинство участников редкостные редиски и недобросовестные негодяи-нигилисты. Как это реализовано в PoW? Сам алгоритм заставляет пользователей вести себя честно или принять убытки. Экономические стимулы должны заставлять людей следовать правилам. Таким образом у моего алгоритма есть прямые аналоги с POW:
- Сложность. В нашем случае это минимальная сумма, которую должен набрать текущий блок, чтобы можно было строить следующий блок. Данная сумма, как и в POW адаптивна и пересчитывается на каждом блоке, где при высокой скорости она на каждом блоке увеличивается на 10%, а при медленной скорости, наоборот уменьшается на 10%.
- Выбор цеопочки блоков с максимальной сложностью у POW, а у меня же это выбор цепочки блоков с максимальной суммой блоков.
Если потраченная энергия является достаточным стимулом, то вопросов нет: это будет ничто иное как самый что ни на есть PoW алгоритм (менее безопасный?), только с модифицированными видами доказательства выполненной работы. Вместо поиска хэша меньше текущей цели, у вас будет работа с совпадениями. Но тогда какое место в этом всем занимает Proof of Stake? Зачем вам добавлять централизующий фактор, если сеть децентрализована и для получения награды нужно не просто сидеть на своем стейке, а вкладывать реальные ресурсы? Сейчас это выглядит как модифицированный PoW без надобности в PoS. Можете перечислить какие именно проблемы PoS вы решили, потому что я не понял если честно.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 22, 2022, 03:31:04 AM |
|
Вы вообще не должны ориентироваться на добросовестность участников, консенсус должен достигаться даже если большинство участников редкостные редиски и недобросовестные негодяи-нигилисты. Как это реализовано в PoW? Сам алгоритм заставляет пользователей вести себя честно или принять убытки. Экономические стимулы должны заставлять людей следовать правилам.
Вообще-то должен, так как если большинство не будет следовать, то Вам уже не поможет даже POW. На сколько я помню, при определенных условиях для сети биткоина может быть критично и 30% недобросовестных участников. Также в таком деле, как децентрализация полагаться только на экономические стимулы опасно. Государства пойдут на любые затраты лишь бы уничтожить сеть. Если потраченная энергия является достаточным стимулом, то вопросов нет: это будет ничто иное как самый что ни на есть PoW алгоритм (менее безопасный?), только с модифицированными видами доказательства выполненной работы. Вместо поиска хэша меньше текущей цели, у вас будет работа с совпадениями. Но тогда какое место в этом всем занимает Proof of Stake? Зачем вам добавлять централизующий фактор, если сеть децентрализована и для получения награды нужно не просто сидеть на своем стейке, а вкладывать реальные ресурсы? Сейчас это выглядит как модифицированный PoW без надобности в PoS. Можете перечислить какие именно проблемы PoS вы решили, потому что я не понял если честно.
Вижу Вы не совсем понимаете алгоритм. И так смотрите, в моем алгоритме есть 2 вида майнинга: - Пассивный. Тут всё понятно, нода ничего не считает и не занимается вычислениями для майнинга, а просто смотрит, есть ли у неё майнящий хеш. Если есть, то она майнит подблок и присоединяет свой подблок к текущему создаваемому блоку. - Активный майнинг. А вот это и есть в чистом виде POW, так как подбор майняшего хеша для следующего блока это теже самые вычисления, что и в текущем POW. Я не добавляю централизующий фактор, а наоборот увеличиваю децентрализацию путем создания блока из подблоков, от разных майнеров. Именно поэтому, моему алгоритму не страшна та же атака 51%, как в биткоине, так как отдельный майнер с самой мощной вычислительной фермой не сможет превзойти сеть. Как пример, посмотрите на биткоин, там сейчас используется 20 нулей, это практически тоже самое, что у меня 20 совпадений, а сама сеть может спокойно выдавать и 100 совпадений для блока. Это достигаеться именно синергетическим эффектом сложения усилий всех майнеров сети, а не соревновательным, как в биткоине, кто первее нашел хеш. Теперь Вы видите, что своим алгоритмом я взял лучшее: - от POS (можно не заниматься вычислениями, не надо покупать асики и майнинг фермы, а на достаточно простом компьютере наравне со всеми майнить блоки при пассивной майнинге), тем самым сделав его доступным для широких масс, именно своей доступностью POS и привлекателен. - от POW это надежность. Можно майнить вычислениями, но такой активный майнер не критичен для всей сети. Также при построении блока и всего блокчейна используются принципы POW, это сложность (у меня это минимальная сумма блока, после достижения которой можно переходить к построению следующего блока) и выбор цепочки блоков с максимальной сложностью ( у меня это выбор цепочки с максимальной суммой блоков). Борьба с форками частично решаеться активным майнингом, а также правилами сети, где есть переход к цепочки с максимальной суммой блоков. Блоки форков формируются неравномерно, а потому рано или поздно появится лидер, участники сети будут переходить к цепочки с максимальной суммой, а у форка с меньшей суммой количество участников уменьшится, также уменьшится и охват по майняшим хешам и в определенный момент, сторонники непопулярного форка просто не смогут смайнить блок с необходимой минимальной суммой.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 22, 2022, 07:09:08 AM |
|
Вообще-то должен, так как если большинство не будет следовать, то Вам уже не поможет даже POW. На сколько я помню, при определенных условиях для сети биткоина может быть критично и 30% недобросовестных участников.
Также в таком деле, как децентрализация полагаться только на экономические стимулы опасно. Государства пойдут на любые затраты лишь бы уничтожить сеть.
Не слышал никогда про 30% недобросовестных участников... что они должны сделать, чтобы сеть перестала работать или правила консенсуса изменились? Возможно добросовестность важна на первых этапах развития сети, пока сеть молодая ее легко атаковать и обрушить, но когда участников становится больше, то этот фактор оказывает все меньшее и меньшее влияние. Государства не могут уничтожить децентрализованную сеть, потому что их влияние и возможности ограничены: что бы кто ни говорил они не могут бесконечно финансировать атаки через печать денег. Более того, государства соревнуются между собой и преследуют свои собственные цели: они могут не любить биткоин к примеру, но будут прддерживать сеть, потому что это может позволить им получить преимущество. Вижу Вы не совсем понимаете алгоритм.
Это не удивительно, ваша система намного сложнее, чем обычный PoW. Чтобы решить одну проблему, вы добавляете еще больше решений поверх нее, которые в свою очередь тоже могут привести к проблемам. Чем более сложная система, тем сложнее предусмотреть все векторы атаки. Вот например объясните все же как вы решаете проблему форков. Выше вы написали, что мы складываем дробные хэши и ищем наибольшую сумму. Допустим, мы посчитали, что какой-то из блоков кандидатов больше всего достоин присоединится к цепочке. Но вот в чем загвоздка, если у нас есть лучший кандидат, то значит и форка изначально не было. Форк - это когда у нас есть больше чем один совершенно валидных блока, которые достойны присоединится к цепочке. В вашем случае, я так понимаю, это будет совершенно одинаковая сумма хэшей во всех блоках-кандидатах. Как в этом случае достигается консенсус?
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 22, 2022, 11:26:04 AM |
|
Это не удивительно, ваша система намного сложнее, чем обычный PoW. Чтобы решить одну проблему, вы добавляете еще больше решений поверх нее, которые в свою очередь тоже могут привести к проблемам. Чем более сложная система, тем сложнее предусмотреть все векторы атаки. Вот например объясните все же как вы решаете проблему форков. Выше вы написали, что мы складываем дробные хэши и ищем наибольшую сумму. Допустим, мы посчитали, что какой-то из блоков кандидатов больше всего достоин присоединится к цепочке. Но вот в чем загвоздка, если у нас есть лучший кандидат, то значит и форка изначально не было. Форк - это когда у нас есть больше чем один совершенно валидных блока, которые достойны присоединится к цепочке. В вашем случае, я так понимаю, это будет совершенно одинаковая сумма хэшей во всех блоках-кандидатах. Как в этом случае достигается консенсус?
Ну вот подходим и к сути. Вы правильно увидели, что форк это разъединение от текущей цепочки на две и больше цепочек, где сумма у блоков у всех одинакова. Сделаю небольшую визуальную схему и для удобства буду использовать десятичную систему, а не шестнадцатеричную, как у меня: --текущий_БЛОК_22_форк1(100) БЛОК_20--БЛОК_21--текущий_БЛОК_22_форк2(100) --текущий_БЛОК_22_форк3(100) И так Вы видите форк на БЛОКЕ_22, где создалось 3 разных блока и у всех сумма совпадений равна 100. В реальной жизни могут быть следующие варианты: 1. Активный майнер может пересчитать любой из форков БЛОКА_22 заменив или добавив свой подблок, для того чтобы при построении следующего БЛОКА_23 иметь преимущество в майнящем хеше, скажем он может просчитать такой хеш и получить допустим 15 совпадений. Вот пример: --текущий_БЛОК_22_форк1(100) БЛОК_20--БЛОК_21--текущий_БЛОК_22_форк2(100.05)--Новый_БЛОК_23_форк2(15) --текущий_БЛОК_22_форк3(100) Обратите внимание на изменение суммы в БЛОКЕ_22_форке2 она стала чуть больше 100. Это произошло потому, как майнер изменил или добавил свой подблок. Благодаря моей шестнадцатеричной системе подсчета суммы блоков, очень трудно вообще получить одинаковую сумму. Просто сравните: 0.a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a 0.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1 Оба числа ноль целых, но огромная разница в дробной части. Поэтому получить полностью одинаковую сумму довольно сложная задача уже. То есть уже получить сам форк достаточно трудно, так как отличие будет идти по дробной части, даже если цела часть будет одинаковой. 2. Неравномерное создание новых блоков после форка. Опять вернемся к схеме: --текущий_БЛОК_22_форк1(100)--Новый_БЛОК_23_форк1(2) БЛОК_20--БЛОК_21--текущий_БЛОК_22_форк2(100.05)--Новый_БЛОК_23_форк2(15) --текущий_БЛОК_22_форк3(100)--Новый_БЛОК_23_форк3(5) Теперь посмотрите, там в Новый_БЛОК_23_форк2 нашелся активный майнер, который создал хеш сразу с преимуществом 15 совпадений и Новый_БЛОК_23_форк2 получил сразу сумму 15. В Новый_БЛОК_23_форк3 получил на старте или в процессе создания только сумму 5, а Новый_БЛОК_23_форк1 вообще сумму 2. В этом случае у цепочки: БЛОК_20--БЛОК_21--текущий_БЛОК_22_форк2(100.05)--Новый_БЛОК_23_форк2(15) Есть преимущество в виде более быстрого достижения минимальной суммы скажем 100, для построения следующего блока. Таким образом по скорости эта цепочка скорее всего вырвется вперед остальных форков и вся сеть перейдет на эту версию. 3. Если не считать активный майнинг вообще, а только принять пассивный. То будет следующая ситуация, начальные условия: --текущий_БЛОК_22_форк1(100)--Новый_БЛОК_23_форк1(2) БЛОК_20--БЛОК_21--текущий_БЛОК_22_форк2(100.05)--Новый_БЛОК_23_форк2(5) --текущий_БЛОК_22_форк3(100)--Новый_БЛОК_23_форк3(5) Суть в том, что онлайн не вся сеть. При строительстве каждого нового блока участвует всего 6.25% майнинг хешей от общего количества и на каждом блоке они разные. Таким образом, пусть у нас 3 форка построились, но для следующего блока надо опять наборы майнинговых хешей и так может получиться, что там где меньше участников, там эти хеши не задействуется в полном объеме и произойдет не добор по скорости или сумме блока. Долго это продолжатся не сможет, так как сеть будет переходить с каждым разом на цепочку с большей суммой и количество форков схлопываться. И как я уже показывал пример выше, может произойти ситуация, когда полно майнящих хешей с 1 и 2 совпадениями, но с более большими совпадениями нет и такая группа физически не сможет достроить блок и начать новый, а потому этот форк умрет.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 23, 2022, 04:16:15 PM |
|
Сегодня "причесал" описание алгоритма на первой странице в первом посте https://bitcointalk.org/index.php?topic=5296504.msg55749096#msg55749096, тем самым сделал его более структурированным и актуальным. Теперь осталось проработать ещё и экономическую часть. Здесь я буду ориентироваться на показатель полной окупаемости за 10 лет. Так как это наиболее приемлемо и понятно для инвесторов, а также не будет создавать высокой инфляции при выплатах майнерам, так как комиссии за транзакции не будет и майнеры будут получать только сгенерированные новые деньги.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 23, 2022, 05:57:03 PM Last edit: February 24, 2022, 05:30:18 AM by witcher_sense |
|
Честно говоря, я исчерпал свои возможности в конструктивной критике вашего алгоритма консенсуса, потому что для того самого конструктива требуются глубокие знания и понимание работы PoW, PoS а также других комбинированных видов блокчейнов. Этого у меня нет, знания только поверхностные. Для изучения требуется время, поэтому пока я оставляю попытки найти уязвимости. Но кое-какие вопросы остаются без ответа: вы заявляете, что решили проблемы PoS, но по-моему вы только модифицировали PoW. Блоки добавляются через доказательство работы, и не зависят от количества токенов на адресах. Я слышал, что комбинация PoS и PoW решило бы многие проблемы, но стейкинг в этом случае должен играть более существенную роль, чем сейчас у вас. К тому же решения проблем самого PoS я так и не увидел, так как опять же этих проблем просто не видно из-за отсутствия PoS. Хотелось бы все-таки сделать более серьезный акцент на стейкинге, а не на очередном перебирании хэшей.
P.S. Можно подойти с другой стороны... Ноды общаются между собой и передают новую информацию всем "соседним" нодам. Каждая нода на основе новой информации принимает решения: пропустить ли транзакцию, присоединить ли блок и так далее. Каждая нода независима, она только следует правилам... В PoW биткоина майнер нашедший нужный хэш рассылает свой блок всем нодам, а те присоединяют его к своей истории.
Теперь как это должно работать у вас. Майнер-лидер с самым большим числом совпадений рассылает свой блок всем нодам. Остальные ноды получают блок и присоединяют свой подблок или как-то так. После того как они присоединят подблок, они рассылают эту информацию всем остальным нодам. То есть мы уже получаем огромное количество блоков-кандидатов, гуляющих по сети. Но это еще не все... Ноды не могут знать какой блок с самым большим количеством совпадений, поэтому они сначала должны получить все возможные блоки, а уже потом присоединяться к нужному. Например, они видят блок с 9 совпадениями и присоединяют подблок, затем они получают блок с 10 совпадениямм, реорганизуются и опять присоединяют подблок. При этом они еще и анонсируют это другим нодам, то есть мы опять получаем бесконечный поток блоков-кандидатов и забитую сеть. Заметьте, каждая нода будет независимо присоединять подблоки, то есть мы получим кучи блоков-дубликатов. 5000 майнеров с одним совпадением сначала анонсируют свои блоки, а затем еще и свои подблоки, что сразу же приведет к моментальной остановке сети. Еще не стоит забывать, что каждая нода будет присоединять транзакции по своему усмотрению, то есть еще будет куча транзакций-дубликатов. Плюс ко всему этому, каждая нода будет постоянно пересчитывать дробные шестнадцатеричные числа для сравнения бесконечного потока блоков. Как во всем этом хаосе что-то можно определить непонятно, но одно ясно - нужна такая нехилая пропускная способность, чтобы обработать бесконечный поток блоков и транзакций.
Кооперативный майнинг не может привести к консенсусу, потому что каждый будет тянуть одеяло на себя и говорить свою собственную "правду". В PoW биткоина консенсус достигается только потому, что "правда" доказывается и рассылается только в единственном экземпляре. У вас же она рассылается абсолютно всеми желающими. Кооперативный майнинг - это утопия...
В PoW биткоина затраты на майнинг огромные, но затраты на верификацию минимальны, это выражается в большом количестве нод и высокой децентрализации. У вас затраты на майнинг гораздо ниже, но вот для подтверждения и передачи транзакций и блоков нужны гораздо большие мощности. Это приведет к возникновению нескольких больших пулов фул нод, и концетрированию власти у нескольких игроков. Обычные компьютеры не будут способны обрабатывать столько данных.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 24, 2022, 01:44:13 PM |
|
Честно говоря, я исчерпал свои возможности в конструктивной критике вашего алгоритма консенсуса, потому что для того самого конструктива требуются глубокие знания и понимание работы PoW, PoS а также других комбинированных видов блокчейнов. Этого у меня нет, знания только поверхностные. Для изучения требуется время, поэтому пока я оставляю попытки найти уязвимости. Но кое-какие вопросы остаются без ответа: вы заявляете, что решили проблемы PoS, но по-моему вы только модифицировали PoW. Блоки добавляются через доказательство работы, и не зависят от количества токенов на адресах. Я слышал, что комбинация PoS и PoW решило бы многие проблемы, но стейкинг в этом случае должен играть более существенную роль, чем сейчас у вас. К тому же решения проблем самого PoS я так и не увидел, так как опять же этих проблем просто не видно из-за отсутствия PoS. Хотелось бы все-таки сделать более серьезный акцент на стейкинге, а не на очередном перебирании хэшей.
Очень благодарен за ваше внимание и участие в беседе, такие беседы в процессе помогают не только выявить недостатки обсуждаемой идеи, но и более лучше понять обсуждаемую тему, в нашем случае более лучше понять алгоритмы консенсусов. Вы немного сосредоточились именно на активном майнинге, где майнер создает свой подблок замыкающим и получает общий хеш блока таким, чтобы при создании следующего блока один из его майнинг хешей уже имел преимущество. Из реальной жизни такое не исключить, поэтому мы представим гипотетическую ситуацию, что у нас нет активного майнинга (т.е. мы полностью сейчас убирает все элементы POW с вычислениями, всё их больше нет, теперь только совпадения и всё), а есть только пассивный майнинг, где хеши не рассчитываются и как-то подгоняются, а просто сравниваются. Ноды при получении хеша нового блока ищут у себя майнинг хеши и если находят, то создают свои подблоки. Может я на этом слабо сделал упор, но факт в том, что в моём алгоритме очень сложно получить одинаковую сумму у блоков. Просто посмотрите сами, специально даже возьму гипотетически похожие хеши с первыми 20 совпадениями: 0a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a 0a65290fea13aba62e02f7612f7459de7e419025d69990759f33d38dbe6f009c Согласитесь, что получить такие совпадения довольно сложно, но возможно. Но даже эти 20 первых совпадений не делают эти хеши одинаковыми. А теперь представьте 2 блока у которых скажем, как минимум 16 хешей в каждом. Получить полностью одинаковую шестнадцатеричную сумму практически невозможно. Я сейчас не утверждаю, что форков вообще не будет, но в моем алгоритме по факту получить их трудно, так как надо, чтобы у обоих блоков была одинаковая шестнадцатеричная сумма. В реальности, она практически всегда будет хоть по одному хешу, пусть даже в самом последнем числе различаться. Как гипотетический пример для суммы блоков у которых практически суммы равны: Шестнадцатеричная сумма БЛОКА1 10. f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1 Шестнадцатеричная сумма БЛОКА2 10. f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf2 Посмотрите сами, эти суммы практически равны. В реальности получить такое совпадение практически не реально. И даже в этом случае БЛОК2 будет по сумме выше, а потому честные участники сети обязаны будут отдавать приоритет этому блоку. И так Вы сами видите, что одно из преимуществ алгоритма, хоть и не явное это трудность получения форка. И так мы с Вами допустим всё же получили форк. Сеть разделилась на 2 ветки. И сейчас ноды майнят новые блоки, как я уже говорил, получить опять совпадение очень трудно, а потому уже на этом этапе форк схлопнется так как полного совпадения не будет, а потому какой-то из новых блоков окажется вновь больше по сумме и форк схлопнется, так как все участники будут обязаны перейти на цепочку блоков с самой большой суммой. Но мы не успокаиваемся и продолжаем развивать гипотетическую ситуацию, что нодам удается получить и в этом случае одинаковые блоки по сумме. Теперь в дело вступает неравномерность создания блока и количество участников в каждой ветке, также можем принять, что у нас POS, а потому некоторые могут совершенно спокойно майнить две цепочки одновременно. Даже, если изначально участников (опять предположим) было идеально поровну, то со временем их число будет меняться, часть нод может просто отвалиться по техническим причинам. Но самое главное не это, а доступный резерв майняших хешей на каждом блоке у каждой ветки. Если с майнинг хешами одним и двумя совпадениями проблем не будет, то вот с тремя, четырьмя и пятью уже может наблюдаться. Я уже приводил пример, что скажем для общего количества майнящих хешей имеем расклад: Всего 100000 хешей. Из них для создания идеального текущего блока задействовано: - Количество майнеров 5865 по 1 совпадений. - Количество майнеров 338 по 2 совпадений. - Количество майнеров 24 по 3 совпадений. - Количество майнеров 2 по 4 совпадений. Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей. Общая сумма совпадений для данного идеального блока равна 6621.
Видите, какое небольшое количество майнящих хешей с 4 совпадениями, это буквально редкость. Стоить в одной из ветки получить даже на один больше или меньше, то это сразу схлопнет форк, так как никаким количеством хешей с более меньшими совпадениями это не перекрыть. Как видите, неоднородность прямо проходит с нами по всем этапам. И прямо наглядно показывает, что получить форк с одинаковыми суммами у двух и более блоков и дальнейшее развитие этих форков, просто сложная и нереалистичная задача. А теперь сравните это с биткоином, где всего-то надо получить блок не меньше определенной сложности и желательно первым. Там форки случаются гораздо чаще, тем не менее они там тоже спокойно схлопываются, так как опять та же неравномерность развития веток форков, одна из них рано или поздно делает просто первее блок и всё. P.S. Можно подойти с другой стороны... Ноды общаются между собой и передают новую информацию всем "соседним" нодам. Каждая нода на основе новой информации принимает решения: пропустить ли транзакцию, присоединить ли блок и так далее. Каждая нода независима, она только следует правилам... В PoW биткоина майнер нашедший нужный хэш рассылает свой блок всем нодам, а те присоединяют его к своей истории.
Теперь как это должно работать у вас. Майнер-лидер с самым большим числом совпадений рассылает свой блок всем нодам. Остальные ноды получают блок и присоединяют свой подблок или как-то так. После того как они присоединят подблок, они рассылают эту информацию всем остальным нодам. То есть мы уже получаем огромное количество блоков-кандидатов, гуляющих по сети. Но это еще не все... Ноды не могут знать какой блок с самым большим количеством совпадений, поэтому они сначала должны получить все возможные блоки, а уже потом присоединяться к нужному. Например, они видят блок с 9 совпадениями и присоединяют подблок, затем они получают блок с 10 совпадениямм, реорганизуются и опять присоединяют подблок. При этом они еще и анонсируют это другим нодам, то есть мы опять получаем бесконечный поток блоков-кандидатов и забитую сеть. Заметьте, каждая нода будет независимо присоединять подблоки, то есть мы получим кучи блоков-дубликатов. 5000 майнеров с одним совпадением сначала анонсируют свои блоки, а затем еще и свои подблоки, что сразу же приведет к моментальной остановке сети. Еще не стоит забывать, что каждая нода будет присоединять транзакции по своему усмотрению, то есть еще будет куча транзакций-дубликатов. Плюс ко всему этому, каждая нода будет постоянно пересчитывать дробные шестнадцатеричные числа для сравнения бесконечного потока блоков. Как во всем этом хаосе что-то можно определить непонятно, но одно ясно - нужна такая нехилая пропускная способность, чтобы обработать бесконечный поток блоков и транзакций.
Кооперативный майнинг не может привести к консенсусу, потому что каждый будет тянуть одеяло на себя и говорить свою собственную "правду". В PoW биткоина консенсус достигается только потому, что "правда" доказывается и рассылается только в единственном экземпляре. У вас же она рассылается абсолютно всеми желающими. Кооперативный майнинг - это утопия...
В PoW биткоина затраты на майнинг огромные, но затраты на верификацию минимальны, это выражается в большом количестве нод и высокой децентрализации. У вас затраты на майнинг гораздо ниже, но вот для подтверждения и передачи транзакций и блоков нужны гораздо большие мощности. Это приведет к возникновению нескольких больших пулов фул нод, и концетрированию власти у нескольких игроков. Обычные компьютеры не будут способны обрабатывать столько данных.
Я вот тут момент не совсем улавливаю, мы сейчас говорим о p2p-сети, без центрального сервера. Условно есть нода и её 10 соседей, для исключения определенных атак это нода должна набрать соседей не рядом с собой, а желательно по широкой географии. С выбором соседей, особо не будет разбираться, скажем просто они есть. И так, при получении какого-то сообщения, нода его проверяет и рассылает 10 своим соседям, они действуют по такому же принципу - рассылают уже своим соседям, после проверки. Никакой централизованной рассылки всем нет и не может быть. Сообщения могут быть любые, там главное это размер файла. Если он будет большой, то да сеть затормозиться, так как файлы большого размера надо долго скачивать. В этом случае лучше равняться на биткоин и размер файла сделать 1Мб для начала. И так, в плане приема и передачи файлов быть проблем не должно, сеть именно для этого и предназначена, а что там в файле передается картинки или блоки не так важно. Теперь о проверке полученных блоков. Ноды обмениваются блоками. Блок может состоять из одного или нескольких подблоков. При получении блока сеть сравнивает полученный блок со своим, если её блок лучше, то она будет передавать свой. Если лучше полученный блок, то она его проверяет, принимает сама и пересылает своим соседям. Также и с подблоками. Нода принимает блок, проверяет его, если у неё нет майнящих хешей, то просто пересылает его своим соседям. Если у неё есть майнящий хеш, то она смотрит, может ли она просто добавить свой маянищий хеш или порезать блок в том месте, где она может вставить в конец свой майнящий хеш, а остальное отбросить. Если текущая сумма блока равна или больше минимальной сумме блока (условно сложность), то нода начинает искать у себя майнящие хеши, для майнинга следующего блока, исходя из хеша этого блока. Таким образом я здесь не вижу никакого спама или затора в сети. Вот если бы она была централизованной, как Вы описываете, где майнер рассылает всей сети свой блок, то да. А когда у Вас сеть p2p и Вам обмениваться только с 10 соседями, то никаких проблем не возникает.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 24, 2022, 02:30:30 PM |
|
~
Нода подключена к десяти другим, а те в свою очередь подключены каждая к десяти своим. Я просто не вижу как они могу придти к консенсусу, если они не координируются центральным сервером. Одна нода получает блок, проверяет и если он лучше, чем предыдущий она отправляет этот блок другим нодам. Другие ноды могут принять блок или отказать, так как каждая может иметь еще более лучшие блоки, причем совершенно разные. Они будут подолжать пересылать эти блоки друг другу очень долго, а учитывая что каждый блок весит немало, получается огромный поток данных. Причем этот поток данных может быть крайне существенным в самом начале, потому что первоначально все ноды будут рассылать только свои блоки. Блоки с одним совпадением, десятки, сотни и тысячи блоков. Причем как у вас осуществляется проверка на предмет конфликтующих транзакций мне непонятно. Каждая нода будет присоединять подблок и не знать какие транзакции уже добавлены в другие подблоки, что приведет к бесконечным попыткам придти к какому-нибудь общему знаменателю. В PoW все работает, потому что там все очень просто, один выигравший блок, один блок пересылается между нодами и присоединяется. Тут пересылаются тысячи блоков, создается тысячи кофликтующих веток, на это требуется огромные мощности, чтобы разобрать этот хаос, так что приведет к централизации: только самые производителтнве ноды будут функционировать в такой сети.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 25, 2022, 07:11:15 AM |
|
Нода подключена к десяти другим, а те в свою очередь подключены каждая к десяти своим. Я просто не вижу как они могу придти к консенсусу, если они не координируются центральным сервером. Одна нода получает блок, проверяет и если он лучше, чем предыдущий она отправляет этот блок другим нодам. Другие ноды могут принять блок или отказать, так как каждая может иметь еще более лучшие блоки, причем совершенно разные. Они будут подолжать пересылать эти блоки друг другу очень долго, а учитывая что каждый блок весит немало, получается огромный поток данных. Причем этот поток данных может быть крайне существенным в самом начале, потому что первоначально все ноды будут рассылать только свои блоки. Блоки с одним совпадением, десятки, сотни и тысячи блоков.
Ну именно так и работают p2p-сети, они не общаются со всей сетью, ноды общаются только со своими соседями. В биткоине просто сделали дополнительный костыль для майнеров, в виде дополнительной сети для крупных майнеров, чтобы они могли сразу друг другу рассылать найденные хеши. В некотором роде, это элемент централизации. Но сеть изначально должна работать без центрального сервера, в этом и суть p2p-сетей, они так и работают и обмениваются данными. И там не происходит никаких заторов. Причем как у вас осуществляется проверка на предмет конфликтующих транзакций мне непонятно. Каждая нода будет присоединять подблок и не знать какие транзакции уже добавлены в другие подблоки, что приведет к бесконечным попыткам придти к какому-нибудь общему знаменателю. В PoW все работает, потому что там все очень просто, один выигравший блок, один блок пересылается между нодами и присоединяется. Тут пересылаются тысячи блоков, создается тысячи кофликтующих веток, на это требуется огромные мощности, чтобы разобрать этот хаос, так что приведет к централизации: только самые производителтнве ноды будут функционировать в такой сети.
С конфликтующими транзакциями вообще нет сложностей. Вот примерно так выглядит блок: Подблок1 с максимальным числом совпадений: Транзакция1 Транзакция2 ... Транзакция X
Время создания блока=времени Подблока1 Хеш всего блока Подблок2: Транзакция1 Транзакция2 ... Транзакция X
Время создания блока=времени Подблока2 Хеш всего блока Подблок3: Транзакция1 Транзакция2 ... Транзакция X
Время создания блока=времени Подблока3 Хеш всего блока И так ваша нода получила подобный блок, она его проверяет и если не находит ничего неправильного, то отсылает дальше. Либо, если у неё есть майнящий хеш, то она либо обрезает блок на каком-то подблоке и вставляет в конец свой подблок. Либо к этому блоку добавляет уже свой подблок. Как Вы понимаете никаких конфликтующих транзакций в этом блоке не будет, так как нода видит какие транзакции уже вставлены, а потому их вставлять не надо, если нода это хотела. Поэтому она вставит другие. Будет ходить много разных версий текущего блока, но они будут быстро обрубаться в пользу более приоритетных, пока не придут к консенсусу путем нахождения блока с максимальной суммой. То есть в плане приема и передаче я не вижу сложностей, так как сети так и работают, да и ноды по такому же принципу.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 28, 2022, 05:43:48 AM |
|
И так ваша нода получила подобный блок, она его проверяет и если не находит ничего неправильного, то отсылает дальше.
Либо, если у неё есть майнящий хеш, то она либо обрезает блок на каком-то подблоке и вставляет в конец свой подблок.
Либо к этому блоку добавляет уже свой подблок.
Как Вы понимаете никаких конфликтующих транзакций в этом блоке не будет, так как нода видит какие транзакции уже вставлены, а потому их вставлять не надо, если нода это хотела. Поэтому она вставит другие.
Будет ходить много разных версий текущего блока, но они будут быстро обрубаться в пользу более приоритетных, пока не придут к консенсусу путем нахождения блока с максимальной суммой.
То есть в плане приема и передаче я не вижу сложностей, так как сети так и работают, да и ноды по такому же принципу.
Не понимаю, что значит "обрезает блок"? Если моя нода увидела какой-то блок и добавила свой подблок, другая нода может отбросить мой подблок и передать дальше? И в какой момент я должен заметить, что больше не участвую в майнинге? Вы говорите, что конфликты быстро обрубаются, но я почему-то в этом сильно сомневаюсь, учитывая сколько изменений происходит на каждой ноде. В PoW биткоина нода даже транзакции не проверяет внутри блока (если я не ошибаюсь), а просто добавляет валидный блок в цепочку. В вашем же блокчейне, она может модифицировать блок по своему усмотрению, а также распространять блоки совершенно разных версий по несколько раз. К тому же нужно проверять каждую транзакцию по отдельности и по несколько раз для сравнения с уже добавленными, что тоже скорости не добавляет. Все говорит о том, что этот блокчейн будет еще медленнее классического PoW, причем чем больше сеть, тем медленее она становится.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 28, 2022, 06:37:42 AM |
|
Не понимаю, что значит "обрезает блок"? Если моя нода увидела какой-то блок и добавила свой подблок, другая нода может отбросить мой подблок и передать дальше? И в какой момент я должен заметить, что больше не участвую в майнинге? Вы говорите, что конфликты быстро обрубаются, но я почему-то в этом сильно сомневаюсь, учитывая сколько изменений происходит на каждой ноде. В PoW биткоина нода даже транзакции не проверяет внутри блока (если я не ошибаюсь), а просто добавляет валидный блок в цепочку. В вашем же блокчейне, она может модифицировать блок по своему усмотрению, а также распространять блоки совершенно разных версий по несколько раз. К тому же нужно проверять каждую транзакцию по отдельности и по несколько раз для сравнения с уже добавленными, что тоже скорости не добавляет. Все говорит о том, что этот блокчейн будет еще медленнее классического PoW, причем чем больше сеть, тем медленее она становится.
Блок создается из подблоков, путём "оборачивания". Вот, как пример, пусть у нас есть Подблок1 с самым большим числом совпадений, поэтому к нему будут присоединяться подблоки с более меньшим числом. Блок1 Подблок1: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1= времени Подблока1 Теперь к нему присоединяется другой подблок и он его как бы оборачивает: Блок1 Блок1 Подблок1: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1=времени Подблока1
Подблок2: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1=времени Подблока2 Теперь Подблок3 уже оборачивает уже оба этих подблока: Блок1 Блок1 Блок1 Подблок1: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1=времени Подблока1
Подблок2: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1=времени Подблока2 Подблок3: Транзакция1 Транзакция2 ... ТранзакцияN Хеш всего Блока1 Время Блока1= времени Подблока3 Как видите подблоки для создания блока, как бы оборачивают предыдущие данные по принципу матрёшки. Именно поэтому очень легко обрезать ноде такой блок в том месте, где это нужно и присоединить уже свой подблок, сделав его последним. Теперь на счет, не проверяются у биткоина тразакции в блоке. Это очень странно. У меня такое ощущение, что мы по разному понимаем децентрализацию. Ноды в биткоине находятся в недоверенной среде, при получении любых данных она должна не доверять, а проверять данные и единственным доверенным источником данных для неё может выступать только её собственный блокчейн. А иначе у Вас получается очень странный биткоин, где централизованно распостраняются транзакции, ноды сети не делают проверок транзакций в блоках. И зачем тогда вообще иметь ноду, если она не делает проверок блоков при получении. А вот на счет медленности моего алгоритма, то соглашусь. Да он медленный, не думаю, что медленнее биткоина, но главное очень надежный и очень децентрализованный. Теперь о якобы много разных версий. Вас это немного запутывает, так как кажеться, что много работы. Но Вы подумайте о майнинге биткоина, там сеть условно простаивает 10 минут и ждёт, что кто-то смайнит блок, то есть все стоят и считают. А у меня это же примерно время будет занимать не вычисления, а именно обмены и таким образом идет построение блоков. В биткоине при нахождении хеша не меньше определенного числа начинается передаваться блок, также и у меня сеть обмениваеться данными, строит блок из подблоков. Блок достигает определенной суммы и теперь уже можно переходить к построению другого блока. Если есть форки, то выбирается та цепочка, где сумма всех блоков больше. По моему очень простые принципы.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 17, 2022, 09:16:17 AM |
|
Когда у алгоритма консенсуса есть сложность или его аналог, то он может попасть в ловушку этой сложности. Особенно от этого страдали небольшие блокчейны с алгоритмом POW. Был небольшой хешрейт сети, потом приходил какой-нибудь китайчонок с майнинг фермой, начинал майнить, сложность после этого взлетала до небес, после этого он уходил. У сети опять становился маленький хешрейт, но уже высокая сложность. Блоки либо очень долго майнились, либо не майнились вообще. Именно для обхода данной проблемы у меня пересчет идёт на каждом блоке. Хочу напомнить, что в этом алгоритме аналогом сложности служит минимальная сумма блока, при достижении которой ноды сети получив такой блок перестают дальше его создавать и начинают строить следующий. Как сейчас у меня реализовано регулирование минимальной суммы блока: Оно будет работать следующим образом. Вначале набирается статистика из 10 и более блоков и анализируется среднее время создания каждого блока.
Теперь на каждом новом созданном блоке, исходя из расчета среднего времени создания блока будет делаться следующие:
- Если среднее время создания блока меньше 3 минут, то минимальная сумма блока увеличивается на 10%.
- Если среднее время создания блока больше 3 минут, то минимальная сумма блока уменьшается на 10%.
В нашем случае, когда сети могут намеренно устроить ловушку сложности, то уменьшение минимальной сложности блока на 10% может не хватить и тогда сеть может зависнуть ожидая, пока не создастся блок с требуемой минимальной суммой блока. Именно поэтому такое ступенчатое регулирование придется видоизменить на другое решение. И вот, как оно будет выглядеть на примере. Пусть у нас сейчас минимальная сумма блока равна 100. До этого все блоки создавались со стандартным временем примерно 3 минуты. И вдруг сеть резко теряет возможность поддерживать данную минимальную сумму блоков. Начинается ожидание и постоянный пересчет минимальной суммы блока на последнем создаваемом блоке. Было примерно для 10 последних блоков следующие время создания: 1-й блок=3 мин 2-й блок=3 мин 3-й блок=3 мин 4-й блок=3 мин 5-й блок=3 мин 6-й блок=3 мин 7-й блок=3 мин 8-й блок=3 мин 9-й блок=3 мин 10-й блок(текущий)=3 мин. Среднее время за последние 10 блоков равно: (3+3+3+3+3+3+3+3+3+3)/10=3 А теперь представим, что произошла потеря сетью возможности создавать блоки с текущей минимальной суммой блока и сеть начинает простаивать. Время текущего блока определяется по последнему подблоку, а тому майнер может перезаписывать свой последний подблок в текущем блоке, в результате возможен следующий пересчет, скажем для простаивания последнего блока для 10 минут: (3+3+3+3+3+3+3+3+3+ 10)/10=3.7 И так у нас было среднее время 3, а сейчас стало 3.7 изменение составило 23.33%. Теперь нашу минимальную сумму можно уменьшить на этот процент, она была раньше 100, то сейчас она стала 77. Допустим этого не достаточно и сеть может создавать блок с минимальной суммой, скажем 55. Тогда время создания последнего блока будет не 10 минут, а больше. Удовлетворяющим условием будет время создания блока равное 17 минут, давайте это проверим: (3+3+3+3+3+3+3+3+3+ 17)/10=4.4 И так у нас было среднее время 3, а сейчас стало 4.4 изменение составило 46.67%. И если на этот процент уменьшить минимальную сумму блока 100, то получим 53.33. Вот уже эта минимальная сумма блока позволит нодам сети создавать новые блоки.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
Когда у алгоритма консенсуса есть сложность или его аналог, то он может попасть в ловушку этой сложности.
Особенно от этого страдали небольшие блокчейны с алгоритмом POW. Был небольшой хешрейт сети, потом приходил какой-нибудь китайчонок с майнинг фермой, начинал майнить, сложность после этого взлетала до небес, после этого он уходил.
У сети опять становился маленький хешрейт, но уже высокая сложность. Блоки либо очень долго майнились, либо не майнились вообще.
Именно для обхода данной проблемы у меня пересчет идёт на каждом блоке.
Хочу напомнить, что в этом алгоритме аналогом сложности служит минимальная сумма блока, при достижении которой ноды сети получив такой блок перестают дальше его создавать и начинают строить следующий.
Другие монеты с PoW алгоритмами страдают не от скачков сложности, точнее это всего лишь следствие, а не причина. Если есть одна крупная монета (Биткоин), которая забирает практически внсь хэш-рейт, то другая монета с PoW недополучает хэшрейт и по умолчанию менее защищенная от атак. Скачки сложности в том числе могут быть вызваны такой атакой, так как стоимость атаки на сеть не такая уж и большая. Достаточно перенаправить часть хэшрейта от крупной монеты к мелкой. Проблема тех монет, следовательно, в том, что они пытаются конкурировать с Биткоином. Ваш алгоритм не конкурирует с крупной монетой, майнер биткоина можете перенаправить часть мощностей для майнинга PoSm монеты и при этом не потеряет ничего. Откуда возьмуться скачки сложности? Если появятся десятки подобных монет на PoSm, то что мешает майнеру добывать их всех без перенаправления мощностей?
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 18, 2022, 07:04:53 AM |
|
Другие монеты с PoW алгоритмами страдают не от скачков сложности, точнее это всего лишь следствие, а не причина. Если есть одна крупная монета (Биткоин), которая забирает практически внсь хэш-рейт, то другая монета с PoW недополучает хэшрейт и по умолчанию менее защищенная от атак. Скачки сложности в том числе могут быть вызваны такой атакой, так как стоимость атаки на сеть не такая уж и большая. Достаточно перенаправить часть хэшрейта от крупной монеты к мелкой. Проблема тех монет, следовательно, в том, что они пытаются конкурировать с Биткоином.
Полностью с этим согласен и тут скорее надо видоизменить алгоритм хеширования для мелкой монеты, чтобы не конкурировать с более крупной, хотя и не факт, что поможет, хотя как пример, это реализация лайткоина форка битка и там был выбран другой алгоритм хеширования. Ваш алгоритм не конкурирует с крупной монетой, майнер биткоина можете перенаправить часть мощностей для майнинга PoSm монеты и при этом не потеряет ничего. Откуда возьмуться скачки сложности? Если появятся десятки подобных монет на PoSm, то что мешает майнеру добывать их всех без перенаправления мощностей?
Вначале про скачки мощности, в данном случае это скачки минимальной суммы блока. Просто представим себе физически сеть, где хоть есть и майнеры со своими нодами, но большая их часть находиться в дата центрах. Основная часть сети базируется в дата центрах всего 2-х стран и по одной из этой страны была нанесена серия ядерных ударов, что от прямого попадания или элекромагнитной волны полностью вывело дата центры в этой стране. Таким образом физически сеть потеряла около 50% своих нод, что естественным образом скажется на не возможности остальных нод компенсировать эти потери. И если не будет моего механизма, то сеть в течении длительного времени не сможет создать текущий блок и перейти к следующему, так как минимальная сумма блока больше, чем у текущего создаваемого блока. Теперь на счет самого майнинга. Очень важно о каком именно майнинге в моем алгоритме мы говорим. Я хочу напомнить, какие виды майнинга есть: Виды майнинга.
Теперь давайте разберем сам майнинг, он здесь 2-х видов: пассивный и активный.
Пассивный майнинг. Тут всё просто, не надо прикладывать каких либо усилий и наращивать мощность вычислений, как в POW, чтобы пытаться перезаписать хеш предыдущего блока и получить преимущество в построении текущего блока. Такой майнинг доступен всем участникам, ведь достаточно лишь одного совпадения хеша предыдущего блока с вашим адресом, на котором есть минимальная сумма для майнига и вы можете создавать свой подблок отдельно или добавляя к уже другим подблокам, участвуя в построении текущего блока.
Теперь про активный майнинг. Основная суть активного майнинга это вставить свой подблок в конец блока и тем самым создать конечную версию текущего блока или сразу своим подблоком создать блок. В обоих этих случаях речь идет о контроле хеша создаваемого блока. Этот контроль нужен для того, чтобы на вновь создаваемом блоке уже иметь преимущество по совпадению у своего майнинг хеша. Скажем благодаря вычислениям по подбору хеша, Вы подобрали хеш блока таким образом, что при строительстве следующего блока имеете уже хеш скажем с 15-20 совпадениями и к нему начинают присоединяться другие майнящие хеши.
Активный майнинг делится на 2 вида: синергетический и эгоистичный.
Активный синергетический майнинг - Вы просто присоединяете свой подблок к концу предыдущего блока или заменяете последнего майнера с одним совпадением. Главное, что основную часть майнеров вы не убираете из предыдущего блока и даете им заработать.
Активный эгоистичный майнинг - это когда вы полностью пересчитываете предыдущий блок только на свой подблок с ещё большим числом совпадений, чтобы только ваш подблок создавал предыдущий блок, забирал полностью награду себе и получал в текущем блоке свой подблок уже с преимуществом. Данный вид майнинга будет наиболее сложным по вычислениям, так как надо просчитать предыдущий блок и получить большее число совпадений, а также успеть в текущем блоке получить свой подблок с наибольшим числом совпадений, чтобы тем самым совершить форк последних двух блоков: предыдущего и текущего.
Если мы говорим про пассивный майнинг, то никаких особых мощностей для майнинга не нужно, такая нода больше затратит мощности на принятие/проверку/пересылку блоков и подблоков сети. Если мы говорим, про активный майнинг, то тут именно полноценный POW, более того такой майнер со всей своей фермой лишь небольшая часть сети. Просто оцените, что в биткоине сейчас это 20 совпадений, а у нашей сети легко может набираться 100, а с ростом сети и вообще от 1000 и выше. Поэтому, если майнер настроен активно майнить, то никакой расслабухи он не получит.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 19, 2022, 05:33:07 AM |
|
Полностью с этим согласен и тут скорее надо видоизменить алгоритм хеширования для мелкой монеты, чтобы не конкурировать с более крупной, хотя и не факт, что поможет, хотя как пример, это реализация лайткоина форка битка и там был выбран другой алгоритм хеширования.
Можно попробовать использовать другой алгоритм, но тогда проблема будет заключаться в другом. Допустим, вы выбрали надежный алгоритм, который по какой-то причине не нашел применение ни в каких монетах. Например, квантовое хеширование. Но тогда нужно будет произаодить специализированное оборудование для такого хеширования, и не просто устройства способные создавать хеши, а своего рода асики от мира квантового майнинга. Для того, чтобы стали производить такие асики, нужен огромный рынок сбыта. Опять мы пришли к крупным монетам, так как если алгоритм действительно эффективный, он будет внедрен в крупную монету и заберет хешрейт у вас. Вначале про скачки мощности, в данном случае это скачки минимальной суммы блока. Просто представим себе физически сеть, где хоть есть и майнеры со своими нодами, но большая их часть находиться в дата центрах. Основная часть сети базируется в дата центрах всего 2-х стран и по одной из этой страны была нанесена серия ядерных ударов, что от прямого попадания или элекромагнитной волны полностью вывело дата центры в этой стране.
Таким образом физически сеть потеряла около 50% своих нод, что естественным образом скажется на не возможности остальных нод компенсировать эти потери.
И если не будет моего механизма, то сеть в течении длительного времени не сможет создать текущий блок и перейти к следующему, так как минимальная сумма блока больше, чем у текущего создаваемого блока.
Теперь на счет самого майнинга. Очень важно о каком именно майнинге в моем алгоритме мы говорим. Я хочу напомнить, какие виды майнинга есть:
Чтобы защитить сеть от таких катастрофических событий, которые случаются редко, вы делаете изменение сложности таким частым? Не проще в этом случае просто предусмотреть механизм экстренной смены сложности? Если катастрофа случилась, то все пользователи сети согласятся ее защитить, проведя софтфорк или даже хардфорк. По-моему, что-то такое есть в биткоине, но я не смог вспомнить название механизма. В любом случае, на каждом блоке менять сложность не получится. Хеш-функции слишком рандомны, конкретные блоки могут появляться слишком редко или слишком частно, но это не будет означать резкой смены хешрейта. К тому же майнеры не смогут быстро реагировать на смены сложности, не смогут делать взвешенные экономические решения отключать или подключать майнеры. В конце концов, сложность будет оставаться постоянной и начнется стагнация и постепенный отток майнеров.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 19, 2022, 12:40:04 PM |
|
Можно попробовать использовать другой алгоритм, но тогда проблема будет заключаться в другом. Допустим, вы выбрали надежный алгоритм, который по какой-то причине не нашел применение ни в каких монетах. Например, квантовое хеширование. Но тогда нужно будет произаодить специализированное оборудование для такого хеширования, и не просто устройства способные создавать хеши, а своего рода асики от мира квантового майнинга. Для того, чтобы стали производить такие асики, нужен огромный рынок сбыта. Опять мы пришли к крупным монетам, так как если алгоритм действительно эффективный, он будет внедрен в крупную монету и заберет хешрейт у вас. Надо ориентироваться на возможность массового применения устроиств у пользователей и делать скорее изменения не по железу, а по програмному просчету. Как я и приводил пример, это лайткоин - форк биткоина. Чтобы защитить сеть от таких катастрофических событий, которые случаются редко, вы делаете изменение сложности таким частым? Не проще в этом случае просто предусмотреть механизм экстренной смены сложности? Если катастрофа случилась, то все пользователи сети согласятся ее защитить, проведя софтфорк или даже хардфорк. По-моему, что-то такое есть в биткоине, но я не смог вспомнить название механизма.
В любом случае, на каждом блоке менять сложность не получится. Хеш-функции слишком рандомны, конкретные блоки могут появляться слишком редко или слишком частно, но это не будет означать резкой смены хешрейта. К тому же майнеры не смогут быстро реагировать на смены сложности, не смогут делать взвешенные экономические решения отключать или подключать майнеры. В конце концов, сложность будет оставаться постоянной и начнется стагнация и постепенный отток майнеров.
Вы к моему алгоритму применяете хеши и хешрейрейт сети, но у меня применяется минимальная сумма блоков. Условно, в созданном блоке считается шестнадцатиричная сумма всех майнинговых хешей по совпадению. Или проще говоря, есть в блоке: 5 майнинговых хешей с 1 совпадением 3 майнинговых хешей с 2 совпадением 1 майнинговый хеш с 4 совпадением. Теперь грубо подсчитаем сумму блока: 5*1+3*2+1*4=15. И так грубо блок имеет сумму 15, а скажем минимальная сумма блока составляет 20. Значит нодам еще надо найти к этому блоку подблоки от: 5 майнинг хешей с 1 совпадением или скажем от 2 майнинг хешей с 2 совпадениями и 1 майнинг хешем с 1 совпадением. Такая адаптивная "сложность", наоборот сети позволяет хорошо приспосабливаться ко всяким изменениям.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 20, 2022, 05:16:30 AM |
|
Надо ориентироваться на возможность массового применения устроиств у пользователей и делать скорее изменения не по железу, а по програмному просчету. Как я и приводил пример, это лайткоин - форк биткоина.
Если монету будет выгодно майнить, то хотите вы или нет будет создаваться специализированное железо для майнинга именно вашей монеты. Это будет выгодно для безопасности сети, так как майнеры других монет никак не смогут резко перекинуть мощности и, например, провести атаку 51%. Я понимаю, вы хотите сделать монету общедоступной ддя всех, чтобы каждый мог присоединиься и начать майнить. Но, к сожалению, мы живем в реальном мире, где есть "хищники и травоядные", так вот хищники быстренько съедят последних и заберут основную награду. Вы к моему алгоритму применяете хеши и хешрейрейт сети, но у меня применяется минимальная сумма блоков. Условно, в созданном блоке считается шестнадцатиричная сумма всех майнинговых хешей по совпадению. Или проще говоря, есть в блоке: 5 майнинговых хешей с 1 совпадением 3 майнинговых хешей с 2 совпадением 1 майнинговый хеш с 4 совпадением.
Теперь грубо подсчитаем сумму блока: 5*1+3*2+1*4=15.
И так грубо блок имеет сумму 15, а скажем минимальная сумма блока составляет 20. Значит нодам еще надо найти к этому блоку подблоки от: 5 майнинг хешей с 1 совпадением или скажем от 2 майнинг хешей с 2 совпадениями и 1 майнинг хешем с 1 совпадением.
Такая адаптивная "сложность", наоборот сети позволяет хорошо приспосабливаться ко всяким изменениям.
В любом случае это будет вычисление чего-либо, может вычисление числа совпадений, может пересчет предыдущего блока. Это может быть пересчет чего угодно. И чем быстрее работает ваше железо, тем больше вы сможете получить награды. Если взять "эгоистичный активный майнинг" к примеру: они будут майнить свой собственный блок и пересчитывать предыдущий. Или они могут начать пересчитывать блок перед предыдущим. Если мощности позволят, то они смогут забрать всю награду или ее большую часть.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 20, 2022, 08:30:17 AM |
|
Если монету будет выгодно майнить, то хотите вы или нет будет создаваться специализированное железо для майнинга именно вашей монеты. Это будет выгодно для безопасности сети, так как майнеры других монет никак не смогут резко перекинуть мощности и, например, провести атаку 51%. Я понимаю, вы хотите сделать монету общедоступной ддя всех, чтобы каждый мог присоединиься и начать майнить. Но, к сожалению, мы живем в реальном мире, где есть "хищники и травоядные", так вот хищники быстренько съедят последних и заберут основную награду.
В любом случае это будет вычисление чего-либо, может вычисление числа совпадений, может пересчет предыдущего блока. Это может быть пересчет чего угодно. И чем быстрее работает ваше железо, тем больше вы сможете получить награды. Если взять "эгоистичный активный майнинг" к примеру: они будут майнить свой собственный блок и пересчитывать предыдущий. Или они могут начать пересчитывать блок перед предыдущим. Если мощности позволят, то они смогут забрать всю награду или ее большую часть.
Тут я полностью согласен у самого POW нет и наверное не будет эффективной защиты от создания майнинг устройств и концентрации вычислительной мощи в одних руках. Так как у POW соревновательный механизм, тот кто первым смайнит хеш с нужной сложностью, тот и первым получает награду. У меня же не так и это принципиальное отличие. Давайте с Вами представим, что вся вычислительная мощь биткоина перешла в мой алгоритм. Давайте посмотрим на текущий смайненный блок в биткоине: Хэш 000000000000000000002af90d6d3888b44c736f31da4d2db41cbbb92eebc37e
Подтверждения 1
Отметка времени 2022-04-20 10:55
Высота 732666
Майнер Unknown
Количество транзакций 2 548
Сложность 28 225 928 151 211,10
Корень Меркла 7fd7eb543157582c0684342a8dc629dab9625a99464eaf52f43ea2bb4633bc0d
Версия 0x20000000
Биты 386 529 497
Вес 3 848 963 WU
Размер 1 524 452 bytes
Nonce (одноразовый код) 502 750 275
Объем транзакции 54636.30108252 BTC
Вознаграждение за блок 6.25000000 BTC
Вознаграждение комиссии 0.04731815 BTC
Теперь обратите внимание, на количество нулей выделенных красным в Хеш. Там ровно 20 нулей, то есть вся вычислительная мощь биткоина за 10 минут способна находить хеш всего с 20 совпадениями. Просто оцените масштаб, всего 20 совпадений всей мощи биткоина, это физическая достижимая возможность для активного эгоистичного майнинга, когда теоретически, просчитывается подблок текущего блока, чтобы на следующем блоке иметь сразу преимущество в 20 совпадений. Теперь же давайте примерно прикинем количество майнящих хешей на скажем 100 000 всех хешей имеющих право майнинга. Я уже выкладывал результаты расчетов, поэтому повторю: Для 100,000.00 хешей:
Из них для создания идеального текущего блока задействовано: - Количество майнеров 5865 по 1 совпадений. - Количество майнеров 338 по 2 совпадений. - Количество майнеров 24 по 3 совпадений. - Количество майнеров 2 по 4 совпадений. Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей. Общая сумма совпадений для данного идеального блока равна 6621.
Как я уже писал у нас ограничена емкость блока по хешам, а потому в блок можно впихнуть только: 16 майнинг хешей с 1 совпадением 16 майнинг хешей с 2 совпадением 16 майнинг хешей с 3 совпадением 16 майнинг хешей с 4 совпадением ... 16 майнинг хешей с 64 совпадением Таким образом мы сможем построить следующий блок: Вместо 5865 хешей мы можем использовать только 16 майнинг хешей с 1 совпадением. Вместо 338 хешей мы можем использовать только 16 майнинг хешей с 2 совпадениями. Вместо 24 хешей мы можем использовать только 16 майнинг хешей с 3 совпадением. И всего 2 майнинг хеша с 4 совпадениями мы свободно впихиваем в блок. В итоге сумма этого текущего блока будет равна 16*1+16*2+16*3+2*4=104. А я Вам напомню, что у лучших майнинговых ферм биткоина это всего 20. Видите, простой пассивный майнинг всей сети, спокойно обходит всю дикую вычислительную мощь биткоина. Уже в этих условиях просто невозможно проводить активный эгоистичный майнинг и одному майнить блоки, у Вас просто физически не хватит вычислительной мощи, чтобы конкурировать со всей сетью. А теперь представьте, что майнер оказался не дураком идти против всей сети, а наоборот присоединился к ней на следующем блоке (использовал активный синергетический майнинг) и его вычислительная мощь добавилась к следующему блоку и сумма следующего блока уже примерно станет 104+20=124, что будет являться ростом на 20%. Таким образом главное фундаментальное отличие моего алгоритма консенсуса от POW, POS, dPOS и других в том, что здесь нет соревновательного механизма, а наоборот он собирательный, вся сеть берет от всех понемножку, но в целом получается блок с огромной защитой, которою не сломать даже самой сильной майнинг ферме в одиночку.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
witcher_sense
Legendary
Offline
Activity: 2436
Merit: 4405
🔐BitcoinMessage.Tools🔑
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 21, 2022, 05:44:10 AM |
|
Тут я полностью согласен у самого POW нет и наверное не будет эффективной защиты от создания майнинг устройств и концентрации вычислительной мощи в одних руках. Так как у POW соревновательный механизм, тот кто первым смайнит хеш с нужной сложностью, тот и первым получает награду.
PoW не нужна защита от создания майнинг устройств, как раз наоборот ему нужны как сами устройства,.так и активный рынок для них. Чем больше устройств, чем больше их эффективность, тем более надежной становится сеть и тем более развит майнинговый рынок. Все эти ASIC-resistant алгоритмы полнейший бред, так как только снижают безопасность сети. Да и само это понятие не имеет никакого смысла: если ваша сеть привлекательна для майнинга, то для нее будут строить специализированные устройства. Про концентрацию мощности в одних руках не понял: сами же говорите о соревновательной составляющей PoW, а потом резко тут всегда один победитель? Теперь обратите внимание, на количество нулей выделенных красным в Хеш. Там ровно 20 нулей, то есть вся вычислительная мощь биткоина за 10 минут способна находить хеш всего с 20 совпадениями.
Просто оцените масштаб, всего 20 совпадений всей мощи биткоина, это физическая достижимая возможность для активного эгоистичного майнинга, когда теоретически, просчитывается подблок текущего блока, чтобы на следующем блоке иметь сразу преимущество в 20 совпадений.
Я не специалист, но мне кажется, что найти похожий по первым символам хэш гораздо проще, чем найти хэш меньше определенного числа. Таким образом главное фундаментальное отличие моего алгоритма консенсуса от POW, POS, dPOS и других в том, что здесь нет соревновательного механизма, а наоборот он собирательный, вся сеть берет от всех понемножку, но в целом получается блок с огромной защитой, которою не сломать даже самой сильной майнинг ферме в одиночку.
Это не фундаментальное отличие: есть много схожести с тем же PoS. Никакой соревновнавательной составляющей, все сидят на своих мощностях и майнят свой стейк, кто пришел раньше имеет преимущество, богатые майнеры богатеют, а пассивные майнеры довольствуются крошками. Потихоньку, активный эгоэстичный майнинг вытеснит обычный активный и пассивный, и сеть захватят крупные богатые майнеры. Эта сеть также стремится к централизации власти, как и обычные PoS.
|
|
|
|
imhoneer (OP)
Legendary
Offline
Activity: 2688
Merit: 1583
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 22, 2022, 08:09:49 AM |
|
Про концентрацию мощности в одних руках не понял: сами же говорите о соревновательной составляющей PoW, а потом резко тут всегда один победитель?
Правильно, она соревновательная, а потому определенные группы с мощностями вырываются вперед и получают преимущество. И всё идет к концентрации вычислительной мощи в одних скажем так руках. Как было не раз, когда какой-то пул подходит к границе 50%, все начинают об этом писать и беспокоится. Проблема эта не решается алгоритмически, а приходиться договариваться. В какой-то момент пул может не согласиться на добровольную потерю доли вычислительной мощи. Я не специалист, но мне кажется, что найти похожий по первым символам хэш гораздо проще, чем найти хэш меньше определенного числа.
Я тоже не специалист, но думаю без всяких знаний мы видим, что в биткоине на каждом блоке постоянно ищут следующий идеальный хеш: 00000000000000000000000000000000000000000000000000000000000000f И кто первым находит наибольшую похожесть на него, тот и получает право передать блок в сети. У меня же просто будут разные хеши на которые будут искать похожести. Вот можете запустить эмитатор майнинга и увидеть, как это примерно будет работать, только выбирайте число совпадений до 6, а то потом он начинает долго считать и его сессия заканчивается: Прототип блокчейна я не написал, а вот имитатор майнинга сделал. Можно перейти на online-python и посмотреть результат: import hashlib
hash_prev_block=input("Введите хэш sha3_256 предыдущего блока (как пример 67b176705b46206614219f47a05aee7ae6a3edbe850bbbe214c536b989aea4d2): ") print() hash_mainera=input("Введите свой хэш sha3_256 для майнинга текущего блока (как пример ed4bc853dce1a3f7afd74fd20a81219cd36d60f8b241fc33dcbe5ebc9381e2f9): ") print() kolvo_sovpad=int(input("Введите количество совпадений для своего подблока (будем майнить пока его не получим): "))
nonce=0 str_nonce="" hash_perezapisivaemogo_bloka="" hash_nashego_podbloca="" hash_perezapisivaemogo_bloka=""
while nonce>-1: if hash_perezapisivaemogo_bloka[:kolvo_sovpad]==hash_mainera[:kolvo_sovpad]: break nonce=nonce+1 str_nonce=str(nonce) hash_nashego_podbloca=hashlib.sha3_256(str_nonce.encode()).hexdigest() obedinenie=hash_prev_block+hash_nashego_podbloca hash_perezapisivaemogo_bloka=hashlib.sha3_256(obedinenie.encode()).hexdigest() print() print("="*38) print(f"И так мы к предыдущему блоку с хешем {hash_prev_block} добавили подблок с 1 транзакцией.") print(f"Наш подблок имеет хеш {hash_nashego_podbloca}.") print(f"Теперь объединяем хеши предыдущего блока и нашего подблока и хешируем это.") print(f"Хеш измененного предыдушего блока становится {hash_perezapisivaemogo_bloka}.") print(f"Он обеспечивает нас сразу числом совпадений равное {kolvo_sovpad}.") print(f"Для создания подблока текущего блока на адресе майнинга равном {hash_mainera}.") print(f"На это потребовалось {nonce} попыток.")
Вначале мы задаем хеш предыдущего уже смайненного блока, как только ввели, то теперь нам надо ввести наш майнинговый хеш (адрес которым будем майнить). Потом введите количество совпадений для своего будущего подблока, по сути это в чистом виде активный эгоистичный майнинг. У Вас есть хеш предыдущего блока, у Вас есть текущий майнинговый хеш, которым Вы начинаете подбирать транзакцию таким образом, чтобы на следующем блоке уже сразу иметь преимущество, скажем в 5 совпадений. Именно это программа и рассчитывает. Если будут вопросы по программе, то обязательно пишите. Это не фундаментальное отличие: есть много схожести с тем же PoS. Никакой соревновнавательной составляющей, все сидят на своих мощностях и майнят свой стейк, кто пришел раньше имеет преимущество, богатые майнеры богатеют, а пассивные майнеры довольствуются крошками. Потихоньку, активный эгоэстичный майнинг вытеснит обычный активный и пассивный, и сеть захватят крупные богатые майнеры. Эта сеть также стремится к централизации власти, как и обычные PoS.
Так не получиться у Вас так. Вот смотрите, при росте числа майнинговых хешей процент 6.25% примерно сохраняется. И он означает, что текущий блок могут майнить в настоящий момент только 6.25% от всех майнингновых хешей. Плюс добавим, что в сам блок могут поместиться максимально 1024 майнинговых хеша, а на практике же их особенно вначале может быть в пределах 64. То есть, тут не гарантировано, что Вы сможете войти в число майнеров смайневших блок, даже будучи крупняком. Это Вам не стек в POS, где вероятность создать блок повышается с его ростом. Здесь практически все равны, так как на майнинг каждого блока майнинговые хеши постоянно изменяются. Да их у Вас становиться со временем больше, но со временем и общее количество майнинговых хешей тоже увеличивается. Наверное в этом моменте я с Вами частично соглашусь, что если майнер крупный или мелкий не наращивает у себя количество майнящих хешей, то при их общем росте количества майнящих хешей, его общий шанс учавствовать в майнигге блока одним из своих майнинговых хешей со временем уменьшается. Далее не забывайте о наградах, её все майнеры получают одинаково. Поэтому может так получиться, что на какие-то активные действия будут большие затраты и негарантированная прибыль, а потому со временем может быть проще перейти на пассивный майнинг. В этом и смысл, что контролировать эти майнинговые хеши Вы не сможете, в отличие от наращивания вычислительной мощи. Как пример, вот примерное распределение: Для 100,000.00 хешей: Из них для создания идеального текущего блока задействовано: - Количество майнеров 5865 по 1 совпадений. - Количество майнеров 338 по 2 совпадений. - Количество майнеров 24 по 3 совпадений. - Количество майнеров 2 по 4 совпадений. Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей. Общая сумма совпадений для данного идеального блока равна 6621.
Для 1,000,000 хешей уже: Из них для создания идеального текущего блока задействовано: - Количество майнеров 58651 по 1 совпадений. - Количество майнеров 3704 по 2 совпадений. - Количество майнеров 211 по 3 совпадений. - Количество майнеров 10 по 4 совпадений. Общее количество задействованных майнеров равно 62576, что составляет 6.25% от общего количества хешей. Общая сумма совпадений для данного идеального блока равна 66732.
Активный эгоистичный майнинг актуален только на начальных стадиях, в текущих условиях это майнинг блока до 20-25 совпадений не больше, но со временем минимальная сумма блока вырастет и он станет просто не актуальным, так как не будет просто физически хватать вычислительной мощности. Я бы также хотел обратить ваше внимание вот на что. Что не нужно забывать, зачем вообще майнинг нужен. Это же не просто майнить ради майнинга. Поэтому, майнинг обеспечивает: 1. Безопасность. Высокие сложности, а в моем случае большая минимальная сумма блока, практически исключают форки или позволяют эффективно их отсеивать, а также подсчет всей цепи исключает с каждым блоком глубокую реорганизацию блокчейна. 2. Цензура. Опасность 51% это не только возможность двойной траты, но и в первую очередь цензура транзакций. Для блокчейнов, где блок создает один майнер, это особенно актуально. У меня же блоки создают много майнеров и это исключает возможность цензуры, так как всех майнеров, строящих блок, контролировать невозможно.
|
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █▀▀▀▀▀▀▀█ █ ▄▀▀▀▀▄ ▄▀▀▀▀▄ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █ █ ▀ ▄▀ ▄ ▄ ▀▄ █ █▄▄▄ █ █▀█ █ ▄▄▄█ █ ▀▀▀▄▄▄█ █▀▀▄ █▄▄▄▀▀▀ █ █ █ █▄▄█ █ █ █ ▀▄ ▀ ▀ ▄▀ █ █ ▀▀▀▀▀ █ █ █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █ ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ ▀▀ ▀▀
| Arbitrum Balance
| /
|
▄▄████▄▄ ▄▄████████████▄▄ ▄██████████ █████████▄ █▀█▄▄▄███████████ █▀█▀██████ ▀▀▀ ▀████ ▀████ ▀▀▀▀▀▀▀▀█▀▀▄ █ ████ ████ ▄▄▄ ▀▄ ▀▀▀▀█ ███ █▄█ ▀▀▀▀▀█ █████ ███ ▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█ ▄██ ▄▄▄ ▄█████ █▄█▄████ █▄█▀▀▀▀███████ ██████▀ ▀████████▀▀ ▀▀██▀▀
| imhoneer investment fund
| /
|
▄▄███████████████▄▄ ▄█████████████████████▄ ▄██████████████▀▀███████▄ ████████████▀▀ ███████ █████████▀▀ ▄ ███████ ██████▀▀ █ ███████ ████▀ █ ███████ █████▄▄ ▄█ ███████ ████████ ██▄ ███████ ▀████████ ▀▄███▄▄███████▀ ▀█████████████████████▀ ▀▀███████████████▀▀
| Telegram-канал @imho_idea
|
|
|
|
|