Bitcoin Forum
May 06, 2024, 05:41:40 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 [All]
  Print  
Author Topic: POSm (Proof of similarity, доказательство сходства)  (Read 686 times)
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 04, 2020, 10:57:13 AM
Last edit: April 16, 2022, 05:46:39 PM by imhoneer
Merited by Julien_Olynpic (20)
 #1

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

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

Именно с места, где я и нашел решение, я и предлагаю Вам обсуждать данный алгоритм.


В общем придумал, как мне кажется довольно необычный алгоритм консенсуса, который является POS, но работает, как POW.

Я его назвал POSm (Proof of similarity, доказательство сходства).

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

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

И так есть хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

В этом консенсусе может учавствовать любой адрес, на котором есть хоть какая-то сумма денег.

Пусть у нас находятся следующие адреса, содержащие любое количество денег на них:

3D8293BD4DA72B5437F9B481E85605A82F82AE07D25F57818AEF65E2243AB5D1
3D8293BD4DA72B54B2284D6B0F3C1368A74D57B1A5A390C8E84540751FB5E51C
3D8293BD4DAA1E21366E4638ED6CC90C8F2702E340B1D9AD0E7FAA0D17BE5D9
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020
3082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06

Все эти хеши у которых есть совпадения, называются майнинговыми хешами. И так вы видите, что у этих адресов есть совпадения с нашим хешем. Для первого адреса совпадение равно 24, для второго 16, для третьего 11, для четвертого 6, для пятого 2 и для шестого 1.

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

У каждого блока есть сумма числа совпадений. Условно, если блок создал только первый адрес с 24 совпадениями, то сумма числа совпадений всего блока будет только 24. Если же к этому блоку добавил свои транзакции второй адрес с 16 совпадений, то сумма числа совпадений увеличивается до 40. В реальности же используется шестнадцатеричная сумма, в дальнейшем Вы увидите почему и как это работает.


Структура блока и его лимиты.

В самом блоке мы вводим лимиты на количество майнинговых хешей. Их может быть только до 16 каждого порядка.

Как пример, в блоке могут быть максимально:

- 16 майнинговых хешей с 1 совпадением.

- 16 майнинговых хешей с 2 совпадением.

- 16 майнинговых хешей с 3 совпадением.

...
- 16 майнинговых хешей с 64 совпадением (64 это количество всех символом в хэше sha3_256).


Таким образом в блок может поместиться теоретический максимум 16*64=1024 майнинговых хеша (каждый такой хеш можно считать отдельным майнером, который имеет право смайнить свой подблок). Однако это не достижимый максимум, сейчас у биткоина может быть до 20 совпадений за 10 минут.

Это если хотите упорядочивание.

И так представьте у нас в сети есть всего 100000 хешей. Пусть на них всех расположена какая-то сумма денег, дающая право майнить. Для создания текущего блока сейчас актуальны только 6.25% (это 1/16) майнинг-хеша (данное число варьируется возле этого значения) от всего этого количества.

Всего 100000 хешей.
Из них для создания идеального текущего блока задействовано:
- Количество майнеров 5865 по 1 совпадений.
- Количество майнеров 338 по 2 совпадений.
- Количество майнеров 24 по 3 совпадений.
- Количество майнеров 2 по 4 совпадений.
Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 6621.

И так посмотрите внимательно, на то, что я выделил жирным.

Там, где у нас будет 4 совпадения с хешем, то таких майнеров будет всего 2. У них нет конкуренции вообще, так как теоретический максимум в блоке это 16, а здесь всего 2. Таким образом подблоки от данных майнеров будут во всех версиях форков текущего блока.

А теперь обратите внимание на количество майнеров только с 1 совпадением, их там 5865. В блок может максимально влезть только 16. Значит начнется плодиться огромное количество форков.

Как же бороться с этим огромным количеством форков.

А очень просто, надо считать шестнадцатеричную сумму всего блока и там, где эта сумма больше, тот блок и приоритетнее.

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

Блок1:
1 хеш с 3 совпадениями
1 хеш с 2 совпадениями
074171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3
0fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9

Блок2:
1 хеш с 3 совпадениями
1 хеш с 2 совпадениями
0a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a
0f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1

И так Вы видите 2 блока и нам надо понять, какой блок приоритетнее. Для этого нам надо уметь вычислять приоритеты именно для одиночных хешей в данном случае, так как отличии идет только по ним.

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

Блок1:
0.74171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3
0.fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9

Блок2:
0.a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a
0.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1

Видите мы у всех хешей первый символ, сделали целым числом (в нашем случае это ноль), а остальное вынесли в дробную часть.

Теперь нам надо сложить получившиеся шестнадцатеричные числа внутри Блока1 и Блока2 и сравнить их между собой. Для этого используем Калькулятор.

Сложение для Блока1:
0.74171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3 + 0.fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9 = 1.6F38FF81C1478BC518B8667F17388D6AF1D468D32F528D16E5EE02C2039A48C

Сложение для Блока2:
0.a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a + 0.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1 = 1.99EA5BFD4A53C1326DA440EAFE6F0A27A49C37674345A7EA84415DA78A1C06B

И так если посмотреть, то получилось, что у Блока2 сумма вышла больше, чем у Блока1. Значит, теперь все ноды при выборе текущего блока будут отдавать приоритет версии Блока2, а Блок1 станет не актуальным.

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



Формирование меток времени у блока.

Метки времени определяются от подблока майнера-лидера, то есть того подблока хеш которого имеет на текущий момент максимальное количество совпадений.

Так вот его время не должно быть раньше времени предыдущего блока, а время предыдущего блока определяется временем последнего самого позднего подблока в том блоке.

И так, время первого подблока текущего создаваемого блока имеет диапазон не раньше времени предыдущего блока и не позже, чем текущее время.

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

И так все присоединяемые блоки, где будет диапазон не раньше последнего подблока и не позже текущего.

Каждый майнер, что присоединяет свой подблок и формирует текущий блок, считает, что его подблок последний, а потому всему текущему блоку присваивает и время своего подблока.


Виды майнинга.

Теперь давайте разберем сам майнинг, он здесь 2-х видов: пассивный и активный.

Пассивный майнинг. Тут всё просто, не надо прикладывать каких либо усилий и наращивать мощность вычислений, как в POW, чтобы пытаться перезаписать хеш предыдущего блока и получить преимущество в построении текущего блока. Такой майнинг доступен всем участникам, ведь достаточно лишь одного совпадения хеша предыдущего блока с вашим адресом, на котором есть минимальная сумма для майнига и вы можете создавать свой подблок отдельно или добавляя к уже другим подблокам, участвуя в построении текущего блока.

Теперь про активный майнинг. Основная суть активного майнинга это вставить свой подблок в конец блока и тем самым создать конечную версию текущего блока или сразу своим подблоком создать блок. В обоих этих случаях речь идет о контроле хеша создаваемого блока. Этот контроль нужен для того, чтобы на вновь создаваемом блоке уже иметь преимущество по совпадению у своего майнинг хеша. Скажем благодаря вычислениям по подбору хеша, Вы подобрали хеш блока таким образом, что при строительстве следующего блока имеете уже хеш скажем с 15-20 совпадениями и к нему начинают присоединяться другие майнящие хеши.

Активный майнинг делится на 2 вида: синергетический и эгоистичный.

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

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


Регулирование минимальной суммы блока для его создания.

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

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

Оно будет работать следующим образом. Вначале набирается статистика из 10 и более блоков и анализируется среднее время создания каждого блока.

Теперь на каждом новом созданном блоке, исходя из расчета среднего времени создания блока будет делаться следующие:

- Если среднее время создания блока меньше 3 минут, то минимальная сумма блока увеличивается на 10%.

- Если среднее время создания блока больше 3 минут, то минимальная сумма блока уменьшается на 10%.

Теперь сама сеть сможет полностью регулировать и адаптироваться под изменяющиеся условия сети.



А теперь давайте посмотрим, как мой алгоритм соответствует схожести в работе с алгоритмом POW:

- Сложность. В нашем случае это минимальная сумма, которую должен набрать текущий блок, чтобы можно было строить следующий блок. Данная сумма, как и в POW адаптивна и пересчитывается на каждом блоке, где при высокой скорости она на каждом блоке увеличивается на 10%, а при медленной скорости, наоборот уменьшается на 10%.

- Выбор цеопочки блоков с максимальной сложностью у POW, а у меня же это выбор цепочки блоков с максимальной суммой блоков.

Таким образом соблюдая данные принципы, я могу утверждать, что мне удалось создать POS, как алгоритм, который работает и также надежен, как и POW.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
1715017300
Hero Member
*
Offline Offline

Posts: 1715017300

View Profile Personal Message (Offline)

Ignore
1715017300
Reply with quote  #2

1715017300
Report to moderator
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Mightywill
Copper Member
Newbie
*
Offline Offline

Activity: 90
Merit: 0


View Profile
December 14, 2020, 02:54:27 PM
 #2

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

а если одна та же транзакция попала в разные блоки потому что они одновремнно были созданы 2мя разынми узлами?
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 16, 2020, 10:23:29 AM
 #3

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

а если одна та же транзакция попала в разные блоки потому что они одновремнно были созданы 2мя разынми узлами?

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

Вы же скорее всего имеете в виду не блоки, а процесс строительства именно текущего блока, разными стейкерами.

Вот примерно как это происходит. Первый стейкер создает примерно такой блок:

[дата и время]
транзакция 1
транзакция 2
...
транзакция 10
[хеш из суммы (хеш предыдущего уже созданного блока + хеш текущих данных)]
[адрес создателя блока 1]
[подпись адреса создателя блока 1]

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

Если же такой скажем более точнее подблок приходит к другому стейкеру, который может включать транзакции, то происходит следующее:

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

Потом к полученному подблоку добавляется подблок от текущего стейкера:

[дата и время]
транзакция 1
транзакция 2
...
транзакция 10
[хеш из суммы адрес создателя подблока 1 (хеш предыдущего уже созданного блока + хеш текущих данных)]
[адрес создателя блока 1]
[подпись адреса создателя блока 1]

ДОБАВЛЯЕТСЯ

[дата и время]
транзакция 1
...
транзакция 5
[хеш из суммы (хеш из суммы адрес создателя подблока 1 + хеш текущих данных)]
[адрес создателя блока 2]
[подпись адреса создателя блока 2]


То есть Вы видите, что такие подблоки соединяются по принципу блокчейна в обычной цепочке и таким образом у нас как бы получается в каждом блоке свой маленький блокчейн.

В результате у нас соединение происходит в каждом блоке по принципу блокчейна и сами блоки соединяются по принципу блокчейна, таким образом получается что-то вроде блокчейн в блокчейне.




         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 23, 2021, 11:46:01 AM
 #4

Продолжаю размышлять над данным алгоритмом консенсуса, так как он мне кажется перспективный.

Из предыдущего описания:

Quote

И так есть хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

В этом консенсусе может учавствовать любой адрес, на котором есть хоть какая-то сумма денег.

Пусть у нас находятся следующие адреса, содержащие любое количество денег на них:

3D8293BD4DA72B5437F9B481E85605A82F82AE07D25F57818AEF65E2243AB5D1
3D8293BD4DA72B54B2284D6B0F3C1368A74D57B1A5A390C8E84540751FB5E51C
3D8293BD4DAA1E21366E4638ED6CC90C8F2702E340B1D9AD0E7FAA0D17BE5D9
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020
3082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06

И так вы видите, что у этих адресов есть совпадения с нашим хешем. Для первого адреса совпадение равно 24, для второго 16, для третьего 11, для четвертого 6, для пятого 2 и для шестого 1.

Тут видно, что идет ранжирование от наибольшего совпадения к наименьшему, но не учтён момент, когда у майнеров одинаковые совпадения, скажем:

Quote
Хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

Два майнера:
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020
3DF82B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E0

В POSm нужно сделать ранжирование только по майнерам, особенно тех у кого есть одинаковое совпадение, надо сделать дополнительное ранжирование между такими майнерами.

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

Таким образом в нашем ранжировании, майнер с синим символом F будет приоритетнее, чем майнер с синим символом 9. И они поменяются местами при построении подблоков текущего блока:

Quote
Приоритет в строительстве подблоков текущего блока раньше.
Хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

3D8293BD4DA72B5437F9B481E85605A82F82AE07D25F57818AEF65E2243AB5D1
3D8293BD4DA72B54B2284D6B0F3C1368A74D57B1A5A390C8E84540751FB5E51C
3D8293BD4DAA1E21366E4638ED6CC90C8F2702E340B1D9AD0E7FAA0D17BE5D9
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020  Майнер1
3DF82B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E0 Майнер2
3082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06


Приоритет в строительстве подблоков текущего блока стал.
Хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

3D8293BD4DA72B5437F9B481E85605A82F82AE07D25F57818AEF65E2243AB5D1
3D8293BD4DA72B54B2284D6B0F3C1368A74D57B1A5A390C8E84540751FB5E51C
3D8293BD4DAA1E21366E4638ED6CC90C8F2702E340B1D9AD0E7FAA0D17BE5D9
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
3DF82B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E0 Майнер2
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020  Майнер1
3082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06


Таким образом, майнеры должны составиться по приоритету и более высокое место в строительстве блока займет Майнер2 и разместит там свои транзакции, а Майнер1 будет его ниже уже со своими транзакциями.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
Boristhecat
Hero Member
*****
Offline Offline

Activity: 756
Merit: 629



View Profile
December 23, 2021, 05:50:10 PM
 #5

А не будет ли эта система потреблять космические вычислительные мощности?
Допустим, есть мемпул, содержащий 100к транзакций.

1. Сначала система должна проранжировать все адреса относительно последнего хеша - трата ресурсов и времени.
 а. Кто будет проводить ранжирование в сети, где все узлы равны (а какие-то могут быть вредоносными)?
 б. Какие вычислительные мощности это займет если адресов, допустим, 200 миллионов?

2. Допустим, у нас нереальный, с точки зрения математики, результат, и у нас получилось, для проведения имеющихся 100к транзакций, 5000 адресов (20 транзакций на адрес).

Первый адрес выбирает 20 транзакций из 100к -> второй адрес получает информацию от 1-го, чтобы выбрать свои 20 транзакций -> ... -> 5000-й адрес подтверждает последние 20-ть транзакций без выбора. Это уже огромное количество действий, причем с обменом информации - опять трата вычислительных ресурсов и времени.

Если взять реальный результат, то на 200 миллионов адресов, повезет если будет пара совпадений на 6 цифр из адреса с цифрами из хеша. Среднее количество совпадений будет еще меньше. Допустим 3 (опять оптимистичная оценка). Получится что все операции выше надо будет провести с 33 333 адресов.

Предположу, что для создания одного такого блока уйдет точно не 10 минут и даже не час.

И я не увидел системы консенсуса - что система будет делать если в ней окажутся адреса которые будут майнить ложную информацию?
echogomodrill
Full Member
***
Offline Offline

Activity: 1484
Merit: 133


View Profile
December 24, 2021, 08:24:51 AM
 #6

считаю, что блоки с транзакциями это тупиковый путь, слишком много будет потреблять хранилища и будет органичивать по тпс
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 24, 2021, 03:06:48 PM
 #7


А не будет ли эта система потреблять космические вычислительные мощности?
Допустим, есть мемпул, содержащий 100к транзакций.

1. Сначала система должна проранжировать все адреса относительно последнего хеша - трата ресурсов и времени.
 а. Кто будет проводить ранжирование в сети, где все узлы равны (а какие-то могут быть вредоносными)?
 б. Какие вычислительные мощности это займет если адресов, допустим, 200 миллионов?

2. Допустим, у нас нереальный, с точки зрения математики, результат, и у нас получилось, для проведения имеющихся 100к транзакций, 5000 адресов (20 транзакций на адрес).

Первый адрес выбирает 20 транзакций из 100к -> второй адрес получает информацию от 1-го, чтобы выбрать свои 20 транзакций -> ... -> 5000-й адрес подтверждает последние 20-ть транзакций без выбора. Это уже огромное количество действий, причем с обменом информации - опять трата вычислительных ресурсов и времени.

Если взять реальный результат, то на 200 миллионов адресов, повезет если будет пара совпадений на 6 цифр из адреса с цифрами из хеша. Среднее количество совпадений будет еще меньше. Допустим 3 (опять оптимистичная оценка). Получится что все операции выше надо будет провести с 33 333 адресов.

Предположу, что для создания одного такого блока уйдет точно не 10 минут и даже не час.

И я не увидел системы консенсуса - что система будет делать если в ней окажутся адреса которые будут майнить ложную информацию?



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

Господа считаю Вы немного не правильно понимаете мою идею.

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

Сейчас давайте в Вами промоделируем результаты. У нас есть блок содержащий в себе подблоки, вот его примерная структура:

Quote
Хеш предыдущего блока:3D8293BD8
========================================================================================
Майнер1:3D8F82B0D
Timestamp:2021-12-24T23:50:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер2:3DF82B0D
Timestamp:2021-12-24T23:53:58.75

Транзакция: хеш_адреса_отправителя/8.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/3.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер3:3082B0D
Timestamp:2021-12-24T23:54:58.75

Транзакция: хеш_адреса_отправителя/9.02/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя

И так никакая система ничего не считает. Условно, как в Биткоине, вся сеть получает со временем хеш предыдущего блока, допустим это хеш из примера выше 3D8293BD8.

Если Вы в сети и хотите майнить, то Вы проверяете сами все свои адреса, на которых есть деньги. Потом смотрите, что на одном из ваших адресов 3D8F82B0D, есть 3 начальных совпадения, это значит, что сейчас Вы можете смайнить подблок и добавить туда 3 транзакции из мемпула и смайнить себе деньги в зависимости от транзакций. За пустой блок не платиться, а платиться за каждую транзакцию. У Вас 3 совпадения, поэтому Вы ограничены максимум 3 транзакциями для размещения в подблоке.

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

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

Где-то ещё находится майнер3, он также вначале рассылал свой блок с одним совпадением, потом он получил, подблок майнера2 и соединил его со своим блоком, в итоге сложность соединенных подблоков была 3. Потом к нему пришел подблок от майнера1, где была сумма совпадений 3 сразу и если он добавит свой подблок, то получит сумму совпадений своего и майнера1 подблоков в количестве 4.

Теперь же нашему майнеру3, приходят 2 подблока в одном блоке, где есть майнер1 и майнер2, сумма совпадений там 5. Если он добавит к этому подблоку свой подблок, то получит сумму совпадений 6.

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


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

Лучше подумайте вот о чем, если данный алгоритм будет реально рабочим, то можно вернуть "золотые времена Сатоши" и майнить на простых устройствах постоянно. Это будет по-настоящему народно и децентрализовано. Асик фермы и пулы станут ненужны.

Поэтому и предлагаю давайте поищем вместе слабые места у этого алгоритма консенсуса.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
December 24, 2021, 03:26:08 PM
 #8

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

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

P.S. Чтобы найти недостатки в этом консенсусе, нужно рассматривать вопрос с точки зрения стимулов и основных паттернов человеческого поведения? В чем заинтересованы майнеры и как они могут придти к своей цели наименее затратным путем? Если этот наиболее выголняый путь рушит весь консенсус, то система далеко  не идеальна.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Boristhecat
Hero Member
*****
Offline Offline

Activity: 756
Merit: 629



View Profile
December 24, 2021, 03:31:21 PM
 #9

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

Лучше подумайте вот о чем, если данный алгоритм будет реально рабочим, то можно вернуть "золотые времена Сатоши" и майнить на простых устройствах постоянно. Это будет по-настоящему народно и децентрализовано. Асик фермы и пулы станут ненужны.

Поэтому и предлагаю давайте поищем вместе слабые места у этого алгоритма консенсуса.

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

С учетом количества вычислений (и количества пересылок информации между участниками сети для завершения одного лишь блока) для работы такой системы как раз понадобятся мощные вычислительные устройства и широкополосный интернет каждому участнику сети.
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 25, 2021, 08:38:58 AM
Last edit: December 25, 2021, 01:05:21 PM by imhoneer
 #10

И так давайте разбираться. Как Вы сказали:

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

Пусть сейчас у нас тот же хеш из примера:
Quote
Хеш предыдущего блока:3D8293BD8


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

Назовем этого майнера Майнер1. Тогда вот примерно его подблок:

Quote
Хеш предыдущего блока:3D8293BD8
========================================================================================
Майнер1:3D8293BD8
Timestamp:2021-12-24T23:50:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================

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

Соседние ноды принимает этот подблок, проверяют его, если всё правильно, то рассылают дальше.

Но у пользователей полно разных адресов, а значит у кого-то находится адрес, совпадающий только на 8 символов из 9, или 1 из 9. То он тоже имеет право создавать свой подблок, объединяя с подблоком Майнера1. Назовем его Майнер2 и у него 7 совпадений из 9.
Вот как пример:
Quote
Хеш предыдущего блока:3D8293BD8
========================================================================================
Майнер1:3D8293BD8
Timestamp:2021-12-24T23:50:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер2:3D8293BF7
Timestamp:2021-12-24T23:52:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================

Сейчас сумма совпадений данного составного блока равна 16: 9 совпадений у Майнера1 и 7 совпадений у Майнера2.

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

Допустим нашелся ещё один Майнер3, у которого только 4 совпадения, он создает свой подблок и добавляет его к нашему текущему составному блоку:

Quote
Хеш предыдущего блока:3D8293BD8
========================================================================================
Майнер1:3D8293BD8
Timestamp:2021-12-24T23:50:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер2:3D8293BF7
Timestamp:2021-12-24T23:52:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер2:3D82F793B
Timestamp:2021-12-24T23:53:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/2.56/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================

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

Теперь насчет заинтересованности в передаче только своих транзакций, такое желание вполне может быть, только есть одно но, а именно Вам достаточно иметь хотя бы 16 счетов с первыми символами от 0 до F, как Вы закрываете полностью диапазон совпадений. У Вас всегда будет, как минимум 1 совпадение. Другое дело, что сможете ли уложится во времени, для создания своего подблока. Так как после создания подблока с максимальным совпадением от его времени создания идет отчет 5 минут и потом уже подблоки не принимаются во включение в блок.

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




Нет. Сатоши не случайно ввел динамическое изменение сложности и сам начинал майнить отнюдь не с нулевой сложностью, так как он знал, что слишком легкий и дешевый майнинг не соразмеренный с профитом убьет систему в зародыше.

P.S. Чтобы найти недостатки в этом консенсусе, нужно рассматривать вопрос с точки зрения стимулов и основных паттернов человеческого поведения? В чем заинтересованы майнеры и как они могут придти к своей цели наименее затратным путем? Если этот наиболее выголняый путь рушит весь консенсус, то система далеко  не идеальна.

Да, он ввел динамическую сложность, но он тоже не подозревал, что появятся пулы и специализированные устройства, как раз под майниг.

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




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

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

Сейчас мы обсуждаем идею такого алгоритма консенсуса и чтобы не было сложно для понимания идем от самых простых и понятных вещей.

Основы алгоритма содержатся в следующих положениях:

1. Блок состоит из подблоков, которые формируеются по принципу: к подблоку с самым большим числом совпадений прикрепляются подблоки с меньшим числом совпадений.

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

P. S. Весь ответ Вам уже не влез, отвечу в следу&#



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 26, 2021, 09:20:58 AM
 #11

И так продолжим, а то вчера не поместился полностью текст.



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

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

Сейчас мы обсуждаем идею такого алгоритма консенсуса и чтобы не было сложно для понимания идем от самых простых и понятных вещей.

Основы алгоритма содержатся в следующих положениях:

1. Блок состоит из подблоков, которые формируеются по принципу: к подблоку с самым большим числом совпадений прикрепляются подблоки с меньшим числом совпадений.

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

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

4. Если у ноды 2 разных текущих блока с подблоками и одинаковая сумма совпадений, то пересылает оба этих блока.

Понятно, что совсем на калькуляторах работать в такой сети не получится, если хотим майнить, а вот спокойно отсылать свои транзакции можно.

Сам блокчейн строиться по модели UTXO, а там значительно можно оптимизировать величину размера блокчейна за счет уже израсходованных транзакций.

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
December 26, 2021, 01:04:04 PM
 #12

У Вас всегда будет, как минимум 1 совпадение. Другое дело, что сможете ли уложится во времени, для создания своего подблока. Так как после создания подблока с максимальным совпадением от его времени создания идет отчет 5 минут и потом уже подблоки не принимаются во включение в блок.
Оставим пока вопрос о том, что в таком блокчейне переводы средств будут совершаться из "неправильных" экономических соображений, то есть исключительно ради увеличения шанса получить прибыль с майнинга, а не ради соверешения каки-то других взаимовыгодных обменов. Если вкратце, переводы будут в основном совершаться самому себе, что не есть хорошо в принципе. Но меня больше интересует вопрос про ваши "5 минут". Кто будет считать это время и как?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 26, 2021, 03:03:07 PM
 #13


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

Чтобы ответить на ваш последний вопрос, то приложу вначале пример блока, который уже был:

Quote
Хеш предыдущего блока:3D8293BD8
========================================================================================
Майнер1:3D8293BD8
Timestamp:2021-12-24T23:50:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
...
Транзакция: хеш_адреса_отправителя/1.24/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер2:3D8293BF7
Timestamp:2021-12-24T23:52:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
...
Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================
Майнер3:3D82F793B
Timestamp:2021-12-24T23:53:58.75

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя

Транзакция: хеш_адреса_отправителя/1.20/хеш_адреса_получателя/хеш_транзакции/подпись_отправителя
========================================================================================

Прошу Вас обратить внимание на время создания подблока у каждого майнера (я выделил жирным).

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

У Майнера1 самое большое число совпадений, его время может быть любое, но не меньше, чем у последнего подблока предыдущего блока.

Хочу напомнить, что не так давно у биткоина вместо положенных 10 минут было создание блока через 1-2 часа.

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

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

Допустим данный Майнер1 с 9 совпадениями решил задержать сильно блок. Ну остальные майнеры ждать не станут, а сразу пихают всем соседним нодам свои подблоки и объединяют с другими.

И так может получится, что есть подблок Майнера1 с 9 совпадениями, а есть другая версия блока с 4 подблоками с 10 совпадениями, там 5 минут уже прошло и началось строительство нового блока, а наш Майнер1 решивший наказать сеть остался не у дел.


Теперь поговорим о якобы выгодности только своих транзакций. Во первых это хорошо, ещё Сатоши завещал, чтобы все транзакции шли только на новые неиспользованные счета. А здесь деньги будут не только на новые счета идти, но и равномерно распределяться до минимальных величин для майнинга. А не концентрироваться в огромных суммах на 1-2 счетах.

Но я иду немного к другой идеи, посмотрите на схему:

1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 11 1 1 1 1
1 1 1 1 1 1 1 1 1 1

Условно это блокчейн, состоящий из аккаунтов на котором есть только 1 единица, нет дробей и нет других величин. Цифры зеленым это ваши деньги, о том что это ваши деньги знаете только Вы. В таком блокчейне никто не знает сколько всего у Вас денег.

Чтобы кому-то перевести деньги, допустим 2 единицы, Вам надо с двух своих счетов перевести на другие два счета деньги.

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

Именно слабые его стороны, я и пытаюсь выяснить.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
December 27, 2021, 03:27:21 AM
 #14

Чтобы ответить на ваш последний вопрос, то приложу вначале пример блока, который уже был:
Прошу Вас обратить внимание на время создания подблока у каждого майнера (я выделил жирным).

Так вот у подблоков есть простое правило: ноды могут принять любой подблок, только со временем создания не больше 5 минут от подблока с самых большим числом совпадений.  
Так что такое время создания подблока и кто его регистрирует? Кто будет отсчитывать пять минут от времени создания блока и каким образом? Почему я задаю эти вопросы - если ваш блокчейн каким-то магическим образом привязан к реальному времени, то зачем вам вообще консенсус? Просто отсортируйте транзакции по времени и отбрасывайте те, которые тратят теже UTXO, но позже. Почему Сатоши до такого не додумался? Вторая проблема с привязкой следующая: ноды распределены географически и кто-то всегда будет иметь преимущество, потому что раньше увидит блок-кандидат. Если в сети будет сильный майнер в одной точке мира, то майнеры из другой точки мира не будут успевать майнить из-за задержки. Но это мелочь по сравнению с предыдущей проблемой. В общем, проблема с привязкой ко времени по-моему очевидна или я чего-то не понимаю.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 27, 2021, 04:36:50 PM
 #15


Так что такое время создания подблока и кто его регистрирует? Кто будет отсчитывать пять минут от времени создания блока и каким образом? Почему я задаю эти вопросы - если ваш блокчейн каким-то магическим образом привязан к реальному времени, то зачем вам вообще консенсус? Просто отсортируйте транзакции по времени и отбрасывайте те, которые тратят теже UTXO, но позже. Почему Сатоши до такого не додумался? Вторая проблема с привязкой следующая: ноды распределены географически и кто-то всегда будет иметь преимущество, потому что раньше увидит блок-кандидат. Если в сети будет сильный майнер в одной точке мира, то майнеры из другой точки мира не будут успевать майнить из-за задержки. Но это мелочь по сравнению с предыдущей проблемой. В общем, проблема с привязкой ко времени по-моему очевидна или я чего-то не понимаю.

И так давайте расмотрим пример со временем.

Допустим сейчас время последнего поблока предыдущего блока номер 20 равно 15:00.

Сейчас начинаем майнить текущий блок номер 21. Его время у любого майнера не может быть раньше, чем 15:00.

Сейчас основное время, скажем 15:10. Время у всех майнеров будет в формате UTC.

Пусть у нас в сети находится 4 майнера:

- Майнер1 имеет 7 совпадений и создает подблок с времнем 15:30. Соседние ноды не принимают данный подблок, так как у большинства время примерно в диапазоне 15:07-15:12. Поэтому данный майнер принимает решение наказать сеть и не рассылать больше свой подблок.

- Майнер2 имеет 6 совпадений. Это честный майнер, он ставить текущее время, скажем 15:08 и рассылает соседним нодам.

- Майнер3 имеет 3 совпадения. Это майнер обманщик, он свое время специально делает очень маленьким 15:01. Соседние ноды пересылают данный подблок, но честные майнеры не могут уже присоединить свой подблок к его подблоку. Так как у честных майнеров время примерно 15:07-15:12.

-Майнер4 имеет 2 совпадение. Данный майнер тоже выпускал свой подблок со временем 15:08 и рассылал соседним нодам. Но сейчас ему пришел блок от честного Майнера 2, он видит время создания его подблока 15:08. Майнер4 видит, что сейчас у него время 15:12 и он укладывается в диапазон от этого подблока Майнера2 с 6 совпадениями. Поэтому он принимает решение и присоединяет свой подблок с 2 совпадениями к подблоку от Майнера2.

В итоге Майнер4 создает блок 21 с общим числом совпадений равным 8, состоящий из 2 подблоков:

1. От Манера2 с 6 совпадениями и временем создания 15:08.
2. От Майнера4 с 2 совпадениями и временем создания 15:12.

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

Поэтому это не будет помехой.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
December 28, 2021, 07:43:39 AM
 #16

<…>
Кажется, я начинаю понимать вашу идею, но некоторые моменты все равно остаются неясными, в частности я не увидел четко сформулированных правил консенсуса, которые должны проверять все ноды в сети. Только один раз что-то похожее на правило промелькнуло типа "метка времени в следующем блоке должна быть больше чем в предыдущем".

Концепт привязки к меткам времени кажется интересным и я нашел, что-то похожее здесь: Доказательство активности с ограниченным доверием. Это алгоритм консенсуса похожий на Proof-of-Work, только в качестве nonce используется текущая метка времени (UNIX). То есть майнеры создают блоки с транзакциями, а дальше ищут решение задачки для blockhash+timestamp. Все как в PoW только есть четкая зависимость от времени, уменьшенная сложность и отсутствие награды в токенах. Даже предусмотрена защита от атаки 51% в виде создания контрольных точек.

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

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 28, 2021, 11:29:58 AM
 #17


Кажется, я начинаю понимать вашу идею, но некоторые моменты все равно остаются неясными, в частности я не увидел четко сформулированных правил консенсуса, которые должны проверять все ноды в сети. Только один раз что-то похожее на правило промелькнуло типа "метка времени в следующем блоке должна быть больше чем в предыдущем".
Возможно я плохо сформулировал, но принципы данного алгоритма консенсуса, я приводил:
Quote
Основы алгоритма содержатся в следующих положениях:

1. Блок состоит из подблоков, которые формируеются по принципу: к подблоку с самым большим числом совпадений прикрепляются подблоки с меньшим числом совпадений.

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

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

4. Если у ноды 2 разных текущих блока с подблоками и одинаковая сумма совпадений, то пересылает оба этих блока.

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

Основная фильтрация майнеров в подблоках идет по приоритету числа совпадений:

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

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




Концепт привязки к меткам времени кажется интересным и я нашел, что-то похожее здесь: Доказательство активности с ограниченным доверием. Это алгоритм консенсуса похожий на Proof-of-Work, только в качестве nonce используется текущая метка времени (UNIX). То есть майнеры создают блоки с транзакциями, а дальше ищут решение задачки для blockhash+timestamp. Все как в PoW только есть четкая зависимость от времени, уменьшенная сложность и отсутствие награды в токенах. Даже предусмотрена защита от атаки 51% в виде создания контрольных точек.
Там совершенно другая логика используется, так как база там построена на алгоритме доказательства активности Proof of Activity, но некоторое сходство есть, там это достаточно важная часть для майнинга, а у меня скорее индикативная, так как повторюсь, что ранжирование майнеров идет по количеству совпадений. И время 5 минут, от первого подблока с максимальным числом совпадений, служит скорее ориентиром, но не является сильно критичным.



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

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

А это самая важная часть. Может ли так быть, как Вы описали, конечно может, никто майнеров не ограничивает. Единственное пожалуй правило, которое надо добавить, что участие в майниге на текущем блоке могут только принять те аккаунты, которые получили деньги от 10 и более блоков назад. Некий аналог стейкинга с блокировкой, как в классическом POS. Так это вымывает сильно ресурсы у нападавшего, для строительства своей альтернативной цепочки блоков.

А теперь, я бы хотел поделиться кодом на Python, который моделирует и считает количества всех возможных майнеров в зависимости от количества всех хешей в блокчейне. И так вот сам код, который можно вставить на online-python и посмотреть результат:
Code:
import hashlib

result=[]
a=input("Введите начальный текст для создания эталонного хеша: ")
hash_etalon=hashlib.sha3_256(a.encode()).hexdigest()
len_hash=len(hash_etalon)
kolvo_hash=int(input("Введите количество хешей: "))
hash_sravnen=hashlib.sha3_256(hash_etalon.encode()).hexdigest()
for i in range(kolvo_hash):
    if hash_sravnen[0]==hash_etalon[0]:
        z=0
        ct=0
        for x in hash_etalon:
            if x!=hash_sravnen[z]:
                break
            ct=ct+1
            z=z+1
        result.append(ct)  
    #print(hash_sravnen)
    hash_sravnen=hashlib.sha3_256(hash_sravnen.encode()).hexdigest()
#print(result)
#print(f"Эталонный хеш {hash_etalon}")
print("="*38)
z=0
ct=0
sum=0
mine=0
print(f"В сети находится всего {kolvo_hash} хешей.")
print()
print("Из них для создания идеального текущего блока задействовано:")
for n in range(len_hash+1):
    ss=result.count(n)
    if ss>0:
        print(f"- Количество майнеров {ss} по {n} совпадений.")
        mine=mine+ss
        sum=sum+ss*n
mine_procent=float(mine/kolvo_hash*10000)
mine_procent=int(mine_procent)/100
print()
print(f"Общее количество задействованных майнеров равно {mine}, что составляет {mine_procent}% от общего количества хешей.")
print(f"Общая сумма совпадений для данного идеального блока равна {sum}.")
print("="*38)

Меня интересовал и ваш вопрос, а также вопросы, типа монополии мощности, как у POW в биткоине, когда кто-то захватывает более 51%.

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

И Вы увидите число, они варьируется, но примерно всегда постоянно, а именно только 6.25% от общего количества хешей в системе могут майнить.

Более того посмотрите на результаты, практически при количестве хешей в системе скажем до 10000, то там максимум у майнеров 3 совпадения и их примерно, такое распределение, для 100,000.00 хешей:
Quote
Из них для создания идеального текущего блока задействовано:
- Количество майнеров 5865 по 1 совпадений.
- Количество майнеров 338 по 2 совпадений.
- Количество майнеров 24 по 3 совпадений.
- Количество майнеров 2 по 4 совпадений.
Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 6621.

Для 1,000,000 хешей уже:
Quote
Из них для создания идеального текущего блока задействовано:
- Количество майнеров 58651 по 1 совпадений.
- Количество майнеров 3704 по 2 совпадений.
- Количество майнеров 211 по 3 совпадений.
- Количество майнеров 10 по 4 совпадений.

Общее количество задействованных майнеров равно 62576, что составляет 6.25% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 66732.

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
echogomodrill
Full Member
***
Offline Offline

Activity: 1484
Merit: 133


View Profile
December 29, 2021, 08:56:49 AM
Last edit: December 29, 2021, 01:12:47 PM by echogomodrill
 #18

а можно написать простейший прототип блокчейна, чтобы с ним поиграться? а то прочитал и не слишком понял, про адреса и хеши
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 29, 2021, 12:45:25 PM
 #19


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


Вчера между мной и одним из форумчан в Телеграме состоялась очень плодотворная беседа относительно моей идеи данного алгоритма. Хотел бы ему за это выразить свою благодарность.

Эволюция алгоритма и поиск динамического баланса.


После этого разговора, некоторые вещи я пересмотрел и стал понимать сам алгоритм и его потенциал ещё глубже. А потому этими мыслями хочу поделиться с вами.

Дело в том, что данный алгоритм имеет очень тесную связь с алгоритмом POW, я бы даже сказал его брат.

Давайте представим себе сеть только с честными майнерами. Расчеты в предыдущем моем посте показывают, что на 1,000,000 хешей максимально идет 4 совпадения:

Quote
Для 1,000,000 хешей уже:

Из них для создания идеального текущего блока задействовано:
- Количество майнеров 58651 по 1 совпадений.
- Количество майнеров 3704 по 2 совпадений.
- Количество майнеров 211 по 3 совпадений.
- Количество майнеров 10 по 4 совпадений.

Общее количество задействованных майнеров равно 62576, что составляет 6.25% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 66732.

В итоге мы получаем всегда несколько или даже несколько десятков вариантов текущего блока, пока в итоге не определится один.

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

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

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

В результате получается, что нечестный майнер потратил 1 час, чтобы получить 40 совпадений для текущего блока, но благодаря тому, что присоединилась ещё куча майнеров (ограничение времени нет), то теперь сумма совпадений этого блока выросла с 40 до 100.
Теперь для перезаписывания уже этого блока нашему нечестному майнеру надо тратить времени в 2 раза больше, а именно 2 часа.
Потом для следующего уже 4 часа и так далее. Вы видите здесь прямую аналогию с POW, как и там,  здесь также растет мощность вычислений для совпадений.

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

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

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

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


Теперь о вознаграждении за создание блоков. В такой системе нет комиссий вообще. Есть только деньги за создание блока и пусть это будет 1% от суммы всех денег пересылаемых в этом блоке.

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

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
December 30, 2021, 08:52:09 PM
 #20


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

Code:
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} попыток.")

Если будут вопросы по программе, то обязательно пишите.


Теперь давайте разберем сам майнинг, он здесь 2-х видов: пассивный и активный.

Пассивный майнинг. Тут всё просто, не надо прикладывать каких либо усилий и наращивать мощность вычислений, как в POW, чтобы пытаться перезаписать хеш предыдущего блока и получить преимущество в построении текущего блока. Такой майнинг доступен всем участникам, ведь достаточно лишь одного совпадения хеша предыдущего блока с вашим адресом, на котором есть минимальная сумма для майнига и вы можете создавать свой подблок отдельно или добавляя к уже другим подблокам, участвуя в построении текущего блока.

Активный майнинг делится на 2 вида: синергетический и эгоистичный.

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

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
January 02, 2022, 11:31:43 AM
Last edit: January 20, 2022, 10:48:15 PM by imhoneer
 #21

Сегодня я бы хотел актуализировать ваше внимание на принципах построения блоков, так как в процессе размышления вырабатывается четкое видение и хорошее понимание принципов, на которых должен быть построен данный алгоритм консенсуса:

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

Либо, при синергетическом активном майнинге, к уже существующему предыдущему блоку присоединяет свой подблок и получая переделанный предыдущий блок.

Также он может частично откинуть часть последних подблоков с малым числом совпадений в предыдущем блоке.


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

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

Как пример, активный майнер выпустил подблок с 10 совпадениями и к его подблоку присоединились сразу ближайщие пассивные майнеры: 10-3-2-1-1-1. Наш условный пассивный майнер получая такой блок с суммарным числом совпадений 18, не сможет присоединить свой подблок, так как будет у него только так: 10-4. Суммарно это 14 и это меньше, чем полученный. То есть на лицо есть видимое преимущество в расположении.

Чтобы такое исключить, я ввожу положение приоритета ранжирования. Когда пассивный майнер может спокойно заменить цепочку подблоков 10-3-2-1-1-1 на свою версию 10-4 и уже только её распространять дальше. Данная мера приоритета ранжирования позволит получать преимущество всем пассивным майнерам не от расположения, а от числа совпадений, как и было задумано.

Также и при передаче у остальных нод, если есть 2 версии текущего блока, то приоритет идет по ранжированию майнеров от большего совпадения к меньшему. Таким образом и остальные ноды получая версии текущего блока: 10-3-2-1-1-1 и 10-4 отдадут предпочтение версии 10-4 и именно её будут передавать дальше, хоть в первой версии блока число совпадений выше, но приоритет выше у блока у которого майнеры выше ранжируются.

Потом же те майнеры, которых отбросило блоком 10-4 могут присоединится, пока их заново не отбросит очередной приоритетный майнер в итоге цепочка будет расти по приоритету 10-4-3-2-1-1-1.


3. Запрет на ''зацикливание'' транзакций.
Это когда активный майнер сможет легко использовать свои транзакции с предыдущего блока для создания текущего. Для этого ввожу простое правило, что транзакция должна быть не ниже минимальной суммы и быть в блокчейне от 10 и более блоков назад.
 
4. Правило форка.
Чтобы активному майнеру заменить предыдущий блок или ещё дальше, ему надо создать свой или дополнить предыдущий с таким же количеством совпадений или больше, плюс общее число совпадений у цепочки всех блоков, не включая строящийся текущий блок должно быть не меньше заменяемой цепочки.

Пример, пусть у нас есть цепочка блоков, где номер блока (число совпадений всего блока):

09(100)+10(67)+11(55)+12(80)+ текущий блок.
 
Допустим один активный майнер, хочет перестроить блок 12, там 80 совпадений. У него есть 2 пути:

1. Заменить блок 12 на свой тоже с 80 совпадениями, пусть и в одном подблоке с 1 транзакцией.

2. К блоку 12 добавить свой подблок и получить новый 12 блок скажем уже с 81 совпадениями.

Но что если такой майнер захочет пойти в глубь блокчейна и заменить не предыдущий 12 блок, а скажем заменить блок номер 10 с 67 совпадениями.
 
Тогда он думает, что может для блока 10 создать альтернативу в виде его полной замены или простого присоединения там своего подблока, а после этого можно не заморачиваться на блоки 11 и 12, сделав число совпадений по минимуму, главное подогнать у блока 12 правильный хеш для преимущества в создании текущего блока.

Его цепочка должна выглядеть так:
 
09(100)+10(67)+11(1)-12(1)+ текущий блок.

Сделать это не получиться, так как будет нарушено условие общего количества совпадений в цепочке.

Раньше оно у старой цепочки было:
 
09(100)+10(67)+11(55)+12(80)=302 совпадения.

Сейчас же майнер предоставил измененную форкнутую цепочку блоков:

09(100)+10(67)+11(1)-12(1)=169 совпадений.

А должно для такого форка быть минимум 302 совпадения или выше.

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

Рост уровня и общей суммы числа совпадений является аналогом сложности алгоритма POW.

5. Правила времени формирования для подблоков и блоков.
Тут будет правило, для первого подблока от майнера-лидера с самым большим числом совпадений: его подблок должен формировать время от времени предыдущего блока и быть больше его, но меньше, чем текущее время.

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

Время всего блока, формирует самый последний майнер по времени создания своего подблока.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
January 05, 2022, 09:44:54 AM
 #22

Если исходить из расчета данной программы для уже 10,000 хешей в блокчейне:


А теперь, я бы хотел поделиться кодом на Python, который моделирует и считает количества всех возможных майнеров в зависимости от количества всех хешей в блокчейне. И так вот сам код, который можно вставить на online-python и посмотреть результат:
Code:
import hashlib

result=[]
a=input("Введите начальный текст для создания эталонного хеша: ")
hash_etalon=hashlib.sha3_256(a.encode()).hexdigest()
len_hash=len(hash_etalon)
kolvo_hash=int(input("Введите количество хешей: "))
hash_sravnen=hashlib.sha3_256(hash_etalon.encode()).hexdigest()
for i in range(kolvo_hash):
    if hash_sravnen[0]==hash_etalon[0]:
        z=0
        ct=0
        for x in hash_etalon:
            if x!=hash_sravnen[z]:
                break
            ct=ct+1
            z=z+1
        result.append(ct)  
    #print(hash_sravnen)
    hash_sravnen=hashlib.sha3_256(hash_sravnen.encode()).hexdigest()
#print(result)
#print(f"Эталонный хеш {hash_etalon}")
print("="*38)
z=0
ct=0
sum=0
mine=0
print(f"В сети находится всего {kolvo_hash} хешей.")
print()
print("Из них для создания идеального текущего блока задействовано:")
for n in range(len_hash+1):
    ss=result.count(n)
    if ss>0:
        print(f"- Количество майнеров {ss} по {n} совпадений.")
        mine=mine+ss
        sum=sum+ss*n
mine_procent=float(mine/kolvo_hash*10000)
mine_procent=int(mine_procent)/100
print()
print(f"Общее количество задействованных майнеров равно {mine}, что составляет {mine_procent}% от общего количества хешей.")
print(f"Общая сумма совпадений для данного идеального блока равна {sum}.")
print("="*38)

Более того посмотрите на результаты, практически при количестве хешей в системе скажем до 10000 хешей:

В сети находится всего 10000 хешей.

Из них для создания идеального текущего блока задействовано:
- Количество майнеров 546 по 1 совпадений.
- Количество майнеров 23 по 2 совпадений.
- Количество майнеров 2 по 3 совпадений.

Общее количество задействованных майнеров равно 571, что составляет 5.71% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 598.


Пусть даже средний блок сможет собраться из 30% всех этих хешей от идеального блока и иметь примерно такое распределение:

3-х совпадений 1 подблок
2-х совпадений 7 подблоков
1-х совпадений 163 подблоков

Что суммарно у такого блока будет 178 совпадения. Я хочу напомнить, что сам хеш Sha3_256 имеет 64 символа, а потому ограничен для агресивного майнинга всего числом 64. Если судить по тому же биткоину, то при текущих сверх мощностях имеется следующий хеш, скажем для блока 717280:

000000000000000000016bccc221b77abb725abd168521ea4966eacd71fa488c

Всего 19 нолей, что можно сравнить с майнингом себе блока с 19 совпадениями.

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

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

Поэтому в основном будет практиковаться активно синергетический майниг, где идет добавление своего подблока в предпоследний блок и тем самым получая преимущество в текущем блоке, путем создания подблока с 5 и более совпадениями.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
January 07, 2022, 06:13:29 AM
 #23

В посте выше, я предложил 5 принципов построения блоков на которых должен быть построен данный алгоритм консенсуса:

1. Невозможность полной цензуры для активных майнеров.

 2. Одинаковая возможность майнить свой подблок для любого пассивного майнера без преимущества расположения в сети.

3. Запрет на ''зацикливание'' транзакций.

4. Правило форка.

5. Правила времени формирования: для транзакций и подблоков.

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

Представим, что есть цепочка блоков:

200-176-156-201-Х

Сейчас формируем текущий блок, теперь представим, что какой-то майнер формирует не только текущий блок, но и начинает майнить цепочку последующих блоков, по 5 совпадений в каждом блоке, как пример:

200-176-156-201-5-5-5-5...-5

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

Чтобы противостоять данной атаке надо ввести 6 правило:

6. Правило минимальной суммы совпадений текущего блока равного 100.

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
January 10, 2022, 06:10:22 AM
 #24

6. Правило минимальной суммы совпадений текущего блока равного 100.

То есть для примера 10000 хешей в блокчейне, текущий блок создается до тех пор, пока не наберется минимум 100 или больше совпадений. Только после этого можно предлагать варианты подблоков следующего блока, а этот считать предыдущим и законченным.
Чем обусловлена данная цифра или вы взяли ее с потолка? Я вот совсем не уверен, что на 10000 хэшей может быть такое количество совпадений: ввиду рандомности этих хэшей, мы вообще можем не получить ни одного совпадения. Вероятность такого события мала, но это оставляет место для возможности остановки всей сети. Еще один вариант атаки следующий: допустим уже "прикреплено" 80 совпадений и мы ожидаем других майнеров с их подблоками. Как долго нам ждать? Майнеры-атакующие могут специально не присылать свои блоки с совпадениями и тем самым задерживать сеть. Этот будет как DDOS только наоборот: вместо спама транзакциями можно просто ничего не делать и при этом атаковать сеть. Несколько крупных майнеров может объединиться таким образом и просто перестать майнить. Они даже ничего не теряют финансово, так как честные майнеры тоже ничего не майнят в это время.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
January 10, 2022, 05:18:33 PM
 #25


Чем обусловлена данная цифра или вы взяли ее с потолка? Я вот совсем не уверен, что на 10000 хэшей может быть такое количество совпадений: ввиду рандомности этих хэшей, мы вообще можем не получить ни одного совпадения. Вероятность такого события мала, но это оставляет место для возможности остановки всей сети. Еще один вариант атаки следующий: допустим уже "прикреплено" 80 совпадений и мы ожидаем других майнеров с их подблоками. Как долго нам ждать? Майнеры-атакующие могут специально не присылать свои блоки с совпадениями и тем самым задерживать сеть. Этот будет как DDOS только наоборот: вместо спама транзакциями можно просто ничего не делать и при этом атаковать сеть. Несколько крупных майнеров может объединиться таким образом и просто перестать майнить. Они даже ничего не теряют финансово, так как честные майнеры тоже ничего не майнят в это время.

Цифра 100 больше числа 64 (количество всех символом в хэше sha3_256), это дает гарантии, что никакой квантовый суперкомпьютер в одиночку не будет считать хеши и спамить серии блоков. Пока да, она пока из головы. Я обдумываю, её оставлять постоянной, либо сделать динамической, скажем 1% от всех хешей и тогда с ростом количества хэшей она также будет расти и будет намного сложнее получить контроль над майнингом блоков, но тут есть побочка. Это рост числа транзакций в одном блоке. Ведь при росте этого числа, надо и увеличивать число транзакций в блоке.

Теперь на счет не собрать более 100 совпадений при 10000 хешах имеющих право майнить.

Прошу Вас лично скопировать нижеследующую программу на Python и вставить на online-python и посмотреть результат:

Code:
import hashlib

result=[]
a=input("Введите начальный текст для создания эталонного хеша: ")
hash_etalon=hashlib.sha3_256(a.encode()).hexdigest()
len_hash=len(hash_etalon)
kolvo_hash=int(input("Введите количество хешей: "))
hash_sravnen=hashlib.sha3_256(hash_etalon.encode()).hexdigest()
for i in range(kolvo_hash):
    if hash_sravnen[0]==hash_etalon[0]:
        z=0
        ct=0
        for x in hash_etalon:
            if x!=hash_sravnen[z]:
                break
            ct=ct+1
            z=z+1
        result.append(ct)   
    #print(hash_sravnen)
    hash_sravnen=hashlib.sha3_256(hash_sravnen.encode()).hexdigest()
#print(result)
#print(f"Эталонный хеш {hash_etalon}")
print("="*38)
z=0
ct=0
sum=0
mine=0
print(f"В сети находится всего {kolvo_hash} хешей.")
print()
print("Из них для создания идеального текущего блока задействовано:")
for n in range(len_hash+1):
    ss=result.count(n)
    if ss>0:
        print(f"- Количество майнеров {ss} по {n} совпадений.")
        mine=mine+ss
        sum=sum+ss*n
mine_procent=float(mine/kolvo_hash*10000)
mine_procent=int(mine_procent)/100
print()
print(f"Общее количество задействованных майнеров равно {mine}, что составляет {mine_procent}% от общего количества хешей.")
print(f"Общая сумма совпадений для данного идеального блока равна {sum}.")
print("="*38)

Вы увидите, что для числа хешей от 10000 и выше процент всех хешей, которые имеют право майнить практически одинаковый и он около 6.25%. Вводите разные начальные фразы, чтобы получать разные начальные хеши от которых идет расчет, результаты будут всегда примерно одинаковы.

Для 10000 характерен следующий результат:

Quote
В сети находится всего 10000 хешей.

Из них для создания идеального текущего блока задействовано:
- Количество майнеров 546 по 1 совпадений.
- Количество майнеров 23 по 2 совпадений.
- Количество майнеров 2 по 3 совпадений.

Общее количество задействованных майнеров равно 571, что составляет 5.71% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 598.

Теперь на счет атакующих ничего не делающих майнеров. Каждый хеш у которого есть хоть 1 совпадение имеет право майнить, даже при 10000 таких совпадений в сумме будет 598 у идеального блока, а мы же говорит только о 100. При росте числа хешей сумма совпадений идеального блока будет расти и будет выше 1000.

Так в этом и прикол, что крупным быть не получится, как в том же биткоине.

Тут вопрос в математики, что при 10000 хешах и больше у Вас на каждом блоке есть всегда только около 6.25% от общего числа голосующих хешей. И эти хеши выпадают совершенно случайно.

В отличии от манинга в биткоине, здесь чтобы получить 50% контроль над сетью надо получить гарантированный контроль над 97% всех хэшей в сети.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
January 20, 2022, 09:40:34 AM
 #26

6. Правило минимальной суммы совпадений текущего блока равного 100.

Цифра 100 больше числа 64 (количество всех символом в хэше sha3_256), это дает гарантии, что никакой квантовый суперкомпьютер в одиночку не будет считать хеши и спамить серии блоков. Пока да, она пока из головы. Я обдумываю, её оставлять постоянной, либо сделать динамической, скажем 1% от всех хешей и тогда с ростом количества хэшей она также будет расти и будет намного сложнее получить контроль над майнингом блоков, но тут есть побочка. Это рост числа транзакций в одном блоке. Ведь при росте этого числа, надо и увеличивать число транзакций в блоке.

Продолжая размышлять о данном правиле, я пришел к выводу, что оно имеет самое прямое отношение к регулированию сложности в POW, как у биткоина.

В процессе размышления пришел к выводу, что это число вообще можно сделать минимальным, хоть 1. Для более точного выражения его сути, я его назову минимальная емкость блока.

Оно будет работать следующим образом. Вначале набирается статистика из 10 блоков и анализируется среднее время создания каждого блока.

Теперь на каждом новом созданном блоке, исходя из расчета среднего времени создания блока будет делаться следующие:

- Если среднее время создания блока меньше 3 минут, то минимальная емкость блока увеличивается на 10%.

- Если среднее время создания блока больше 3 минут, то минимальная емкость блока уменьшается на 10%.

Если к этой величине добавить скажем ещё 50%-100%, то мы можем получить привязку максимального размера файла передаваемый в сети.

Логика здесь такая, что раз блоки проходят за установленное время, то размер файла на чуть большую величину полностью соответствует условиям сети и не придется решать, как в своё время это было у биткоина спор за 1Мб-блок.

Теперь сама сеть сможет полностью регулировать, как свою сложность алгоритма консенсуса, так и размер пересылаемых файлов по сети.




         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 03, 2022, 08:57:52 AM
Merited by witcher_sense (1)
 #27

На текущем этапе данная идея оказалась не рабочей - не устранена главная проблема многих POS алгоритмов, а именно ничто не мешает и дальше принимать и работать у себя с форкнутой цепочкой.

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

В итоге приходим к тому, что многие форки будут равнозначны.

Вот господа на таких примерах и получается более лучшее и фундаментальное понимание разницы между POW и POS алгоритмами консенсусов. И почему POW безопасен, а  вот с POS не всё так хорошо.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 07, 2022, 07:14:35 AM
Merited by imhoneer (1)
 #28

На текущем этапе данная идея оказалась не рабочей - не устранена главная проблема многих POS алгоритмов, а именно ничто не мешает и дальше принимать и работать у себя с форкнутой цепочкой.

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

В итоге приходим к тому, что многие форки будут равнозначны.

Вот господа на таких примерах и получается более лучшее и фундаментальное понимание разницы между POW и POS алгоритмами консенсусов. И почему POW безопасен, а  вот с POS не всё так хорошо.
Как же тогда POS работает сейчас, причем настолько хорошо что некоторые даже решили перейти с PoW на принцип достижения консенсуса, основанный на количестве токенов у голосующих? Вот, например, я подключаюсь к сети и вижу блок, соответствующий всем правилам. Я принимаю его как абсолютно валидный блок. Потом оказывается, что это не единственный блок, а есть еще один блок-конкурент причем тоже валидный. Я увидел первый блок раньше и считаю его "тем самым". Но мне говорят, что я все понял неправильно и нужно считать тот другой блок за правдивый? Куда мне пойти жаловаться и кто определяет какой блок валидный при условии наличия нескольких блоков, тратящих те же средства?

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Polkeins
Legendary
*
Offline Offline

Activity: 1540
Merit: 1457



View Profile
February 07, 2022, 09:45:32 AM
Merited by imhoneer (1), witcher_sense (1)
 #29

На текущем этапе данная идея оказалась не рабочей - не устранена главная проблема многих POS алгоритмов, а именно ничто не мешает и дальше принимать и работать у себя с форкнутой цепочкой.

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

В итоге приходим к тому, что многие форки будут равнозначны.

Вот господа на таких примерах и получается более лучшее и фундаментальное понимание разницы между POW и POS алгоритмами консенсусов. И почему POW безопасен, а  вот с POS не всё так хорошо.
Как же тогда POS работает сейчас, причем настолько хорошо что некоторые даже решили перейти с PoW на принцип достижения консенсуса, основанный на количестве токенов у голосующих? Вот, например, я подключаюсь к сети и вижу блок, соответствующий всем правилам. Я принимаю его как абсолютно валидный блок. Потом оказывается, что это не единственный блок, а есть еще один блок-конкурент причем тоже валидный. Я увидел первый блок раньше и считаю его "тем самым". Но мне говорят, что я все понял неправильно и нужно считать тот другой блок за правдивый? Куда мне пойти жаловаться и кто определяет какой блок валидный при условии наличия нескольких блоков, тратящих те же средства?

Вот, например, я могу взять ваш PoSm алгоритм, создать тысячу валидных блоков, но в каждом блоке я буду отправлять те же самые средства на другой адрес. Как определить, какой из них валидный и должен быть присоединен к цепочке? Я просто пытаюсь понять как эта проблема может решаться в PoS.
Видимо imhonner выше как раз ответил на ваш вопрос - "У меня есть решение по приоритету для хешей с большими совпадениями, но ничто их не ограничивает ставить свои хеши в различные другие блоки."
По сути никак эта проблема решаться не будет.  

Вообще идея с POS хороша только если ты изначально находишься "внутри" проекта и понимаешь как будешь "раскручивать" проект и потом уходить в закат.
 
imhoneer в принципе можно сказать спасибо за популяризацию старого доброго POW - ведь все в итоге все сводится к тому, что у всех должна быть понятная и прозрачная мотивация поддерживать проект. И если правила заданы сразу, то делать это проще. В случае POS все меняется настолько быстро, насколько это нужно главным "акционерам" проекта и выгодоприобретателям.
А значит проект будет в итоге плясать под дудку тех, у кого находится "самый большой пакет" акций\токенов проекта.


.
.DuelbitsSPORTS.
▄▄▄███████▄▄▄
▄▄█████████████████▄▄
▄██████████████████████▄
██████████████████████████
███████████████████████████
██████████████████████████████
██████████████████████████████
█████████████████████████████
███████████████████████████
█████████████████████████
▀████████████████████████
▀▀███████████████████
██████████████████████████████
██
██
██
██

██
██
██
██

██
██
██
████████▄▄▄▄██▄▄▄██
███▄█▀▄▄▀███▄█████
█████████████▀▀▀██
██▀ ▀██████████████████
███▄███████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
▀█████████████████████▀
▀▀███████████████▀▀
▀▀▀▀█▀▀▀▀
OFFICIAL EUROPEAN
BETTING PARTNER OF
ASTON VILLA FC
██
██
██
██

██
██
██
██

██
██
██
10%   CASHBACK   
          100%   MULTICHARGER   
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 08, 2022, 06:06:49 AM
 #30

Как же тогда POS работает сейчас, причем настолько хорошо что некоторые даже решили перейти с PoW на принцип достижения консенсуса, основанный на количестве токенов у голосующих? Вот, например, я подключаюсь к сети и вижу блок, соответствующий всем правилам. Я принимаю его как абсолютно валидный блок. Потом оказывается, что это не единственный блок, а есть еще один блок-конкурент причем тоже валидный. Я увидел первый блок раньше и считаю его "тем самым". Но мне говорят, что я все понял неправильно и нужно считать тот другой блок за правдивый? Куда мне пойти жаловаться и кто определяет какой блок валидный при условии наличия нескольких блоков, тратящих те же средства?

Вот, например, я могу взять ваш PoSm алгоритм, создать тысячу валидных блоков, но в каждом блоке я буду отправлять те же самые средства на другой адрес. Как определить, какой из них валидный и должен быть присоединен к цепочке? Я просто пытаюсь понять как эта проблема может решаться в PoS.
Видимо imhonner выше как раз ответил на ваш вопрос - "У меня есть решение по приоритету для хешей с большими совпадениями, но ничто их не ограничивает ставить свои хеши в различные другие блоки."
По сути никак эта проблема решаться не будет.  

Вообще идея с POS хороша только если ты изначально находишься "внутри" проекта и понимаешь как будешь "раскручивать" проект и потом уходить в закат.
 
imhoneer в принципе можно сказать спасибо за популяризацию старого доброго POW - ведь все в итоге все сводится к тому, что у всех должна быть понятная и прозрачная мотивация поддерживать проект. И если правила заданы сразу, то делать это проще. В случае POS все меняется настолько быстро, насколько это нужно главным "акционерам" проекта и выгодоприобретателям.
А значит проект будет в итоге плясать под дудку тех, у кого находится "самый большой пакет" акций\токенов проекта.

Господа вы увидели самую суть разницы между POW и POS алгоритмами консенсусов.

POW решает скажем так програмно-аппаратным способом преимущество блока, а POS методом голосования, как на обычных выборах.

Причем, есть вариации POS. Класссический, где голосуют все, а есть типа dPOS, где все голосуют за кандидатов, а вот уже кандидады принимают блоки.

Скажем у многих число таких кандидатов не много, классическое число это 21 нода, а так это от нескольких нод (у Бинанса это вообще 9) до 1000. Хотя как правило не больше 100, вот вроде у Near это 60 нод валидаторов.

Поэтому Бутерин и пишет о проблеме голосования деньгами, для POSa, так как там получается сильная централизация, хоть на словах типа голосует много независимых человек.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
JackQwerty
Full Member
***
Offline Offline

Activity: 322
Merit: 195


BTC-ПОЭТ


View Profile WWW
February 08, 2022, 11:11:54 AM
 #31

В общем придумал, как мне кажется довольно необычный алгоритм консенсуса, который является POS, но работает, как POW.

Я его назвал POSm (Proof of similarity, доказательство сходства).

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

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

И так есть хеш:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

В этом консенсусе может учавствовать любой адрес, на котором есть хоть какая-то сумма денег.

Пусть у нас находятся следующие адреса, содержащие любое количество денег на них:

3D8293BD4DA72B5437F9B481E85605A82F82AE07D25F57818AEF65E2243AB5D1
3D8293BD4DA72B54B2284D6B0F3C1368A74D57B1A5A390C8E84540751FB5E51C
3D8293BD4DAA1E21366E4638ED6CC90C8F2702E340B1D9AD0E7FAA0D17BE5D9
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505
3D989C378E86086DC3FD6E528D4ED4D7B31B68E6DF3C5D787451E935DECA3020
3082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06

И так вы видите, что у этих адресов есть совпадения с нашим хешем. Для первого адреса совпадение равно 24, для второго 16, для третьего 11, для четвертого 6, для пятого 2 и для шестого 1.

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

У каждого блока есть сумма числа совпадений. Условно, если блок создал только первый адрес с 24 совпадениями, то сумма числа совпадений всего блока будет только 24. Если же к этому блоку добавил свои транзакции второй адрес с 16 совпадений, то сумма числа совпадений увеличивается до 40.

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

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

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

Таким образом сумма числа совпадений здесь можно представить, как аналог сложности в алгоритме POW.



Добрый день. Несколько вопросов если можно.
Если совпадений нет, что будет?
Так же количество совпадений может быть крайне мало и закончится уже на 3-4 индексе адреса(тут требуется более глубокий расчет)
Временная метка записи, как формируется, кто является номиналом метки записи?
Какую глобальную задачу решает этот алгоритм?

Вова решил Робин Гудом вдруг стать - Богатых битки через кран раздавать
Менты запалили через хостинг в аренде, Вова в лес ушел прятаться - все как в легендеSmileySmiley
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 09, 2022, 09:12:09 PM
 #32


Добрый день. Несколько вопросов если можно.
1. Если совпадений нет, что будет?
2. Так же количество совпадений может быть крайне мало и закончится уже на 3-4 индексе адреса(тут требуется более глубокий расчет)
3. Временная метка записи, как формируется, кто является номиналом метки записи?
4. Какую глобальную задачу решает этот алгоритм?

Конечно можно. Ваши вопросы пронумеровал и пишу также к ним ответы.

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

Но такая ситуация практически не возможна. У нас 16-ричная система счисления.

Поэтому нужно всего 16 разных хешей с первым значением, чтобы иметь гарантированное 100% совпадение на любом блоке.

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

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

3. Метки времени определяются от подблока майнера-лидера, то есть того подблока хеш которого имеет на текущий момент максимальное количество совпадений.

Так вот его время не должно быть позже времени предыдущего блока, а время предыдущего блока определяется временем последнего самого позднего подблока в этом блоке.

И так, время первого поблока имеет диапазон не позже времени предыдущего блока и не раньше, чем текущее время.

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

И так все присоединяемые блоки, где будет диапазон не позже последнего подблока и не раньше текущего.

Каждый майнер, что присоединяет свой подблок и формирует текущий блок, считает, что его подблок последний, а потому всему текущему блоку присваивает и время своего подблока.

Таким образом и получается, что у блока всегда время равно последнему входящему в него подблок.

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

Как пример, посмотрите на текущие блоки биткоина там условно надо 19-20 нулей впереди, чтобы смайнить блок. У меня же сеть спокойно может достигать до 100 совпадений на начальных этапах и это число будет быстро расти.

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

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


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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 14, 2022, 05:34:39 AM
 #33

Поэтому Бутерин и пишет о проблеме голосования деньгами, для POSa, так как там получается сильная централизация, хоть на словах типа голосует много независимых человек.
Вы как-то все смешали: централизация, форки, голосование деньгами. В полностью централизованной системе спонтанные форки невозможны, так как результаты голосования зависят от центрального сервера, то есть решение всегда верно и единично. Более того, центральный сервер будет хотеть делать форки намеренно, так как это увеличит награду без какого-либо риска. Основная проблема POS в том, что здесь пытаются решить все проблемы через саму структуру системы, не обращая внимания на внешние факторы и стимулы. Вы сказали о проблеме голосования деньгами, но проблема не в том кто и как голосует, а какими именно деньгами они голосуют. Они голосуют через свои стейки, то есть внутренние монеты блокчейна используются для стимулирования стейкеров и обеспечения работоспособности сети. Если у меня есть большой стейк я могу голосовать за какой-нибудь из форков. Главное, чтобы не нарушались правила консенсуса, потому что я рискую потерять свой стейк. Но что мешает мне голосовать за остальные форки, которые тоже не нарушают правил? Я спокойно могу проголосовать и я даже ничем не рискую, так как все равно останусь при своих монетах: какой бы форк не выиграл мои монеты будут там. В PoW я не могу голосовать за несколько форков, так как мне нужно тратить ресурсы, а это накладно. Если выиграет не мой форк, то я потрачу энергию впустую и останусь ни с чем. У меня есть стимул майнить более длинную цепочку, потому что мне есть что терять. А вот в PoS мне терять нечего, поэтому и консенсуса таким образом достигнуть не получится.

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 14, 2022, 10:46:18 AM
 #34


Вы как-то все смешали: централизация, форки, голосование деньгами. В полностью централизованной системе спонтанные форки невозможны, так как результаты голосования зависят от центрального сервера, то есть решение всегда верно и единично. Более того, центральный сервер будет хотеть делать форки намеренно, так как это увеличит награду без какого-либо риска. Основная проблема POS в том, что здесь пытаются решить все проблемы через саму структуру системы, не обращая внимания на внешние факторы и стимулы. Вы сказали о проблеме голосования деньгами, но проблема не в том кто и как голосует, а какими именно деньгами они голосуют. Они голосуют через свои стейки, то есть внутренние монеты блокчейна используются для стимулирования стейкеров и обеспечения работоспособности сети. Если у меня есть большой стейк я могу голосовать за какой-нибудь из форков. Главное, чтобы не нарушались правила консенсуса, потому что я рискую потерять свой стейк. Но что мешает мне голосовать за остальные форки, которые тоже не нарушают правил? Я спокойно могу проголосовать и я даже ничем не рискую, так как все равно останусь при своих монетах: какой бы форк не выиграл мои монеты будут там. В PoW я не могу голосовать за несколько форков, так как мне нужно тратить ресурсы, а это накладно. Если выиграет не мой форк, то я потрачу энергию впустую и останусь ни с чем. У меня есть стимул майнить более длинную цепочку, потому что мне есть что терять. А вот в PoS мне терять нечего, поэтому и консенсуса таким образом достигнуть не получится.

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

Ну может получилось сумбурно, но по сути верно. Либо мы имеем POS, где идет возможность поддерживать форки без потерь для себя, либо получаем голосование всей сети, но для ускорения создания блоков используем выборных валидаторов, где у первых 5-10 валидаторов примерно скапливается около 50% голосов сети.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 16, 2022, 05:56:26 AM
Merited by imhoneer (1)
 #35

Ну может получилось сумбурно, но по сути верно. Либо мы имеем POS, где идет возможность поддерживать форки без потерь для себя, либо получаем голосование всей сети, но для ускорения создания блоков используем выборных валидаторов, где у первых 5-10 валидаторов примерно скапливается около 50% голосов сети.
По поводу централизации... Чем меньше размер стейка, тем меньше он влияет на состояние сети: и это очень большая проблема, которая и ведет к сосредоточению власти у нескольких больших стейкеров. Я не уверен, но валидаторам нужно иметь какое-то количество монет (например в сети бинанса это 10000 BNB), чтобы только подавать заявку и к тому же они получают более серьезную награду когда их выбирают. Смена валидаторов замедляет процесс "централизовывания" сети, но не может его остановить. Богатые становятся богаче, создатели сети со своим премайном с самого начала избавляются от всякой конкуренции и начинают управлять проектом. Обычно оправдание такое: "сейчас сеть молодая и нуждается в небольшой централизации, но позже количество пользователей вырастет и сеть станет децентрализованной". Это ложь: новые пользователи никогда не получат настолько большой стейк как с премайна, к тому же владельцы сети никогда не откажутся от богатства добровольно и будут продолжать зарабатывать на своих стейках. Любое изменение сети будет так же будет зависеть от них, а это значит они не будут вносить изменения, уменьшающие их богатство. Все изменения либо нейтральные, либо в угоду крупных стейкеров. Количество крупных стейкеров ограничено, они это единая точка отказа сети.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 16, 2022, 08:25:29 AM
 #36


По поводу централизации... Чем меньше размер стейка, тем меньше он влияет на состояние сети: и это очень большая проблема, которая и ведет к сосредоточению власти у нескольких больших стейкеров. Я не уверен, но валидаторам нужно иметь какое-то количество монет (например в сети бинанса это 10000 BNB), чтобы только подавать заявку и к тому же они получают более серьезную награду когда их выбирают. Смена валидаторов замедляет процесс "централизовывания" сети, но не может его остановить. Богатые становятся богаче, создатели сети со своим премайном с самого начала избавляются от всякой конкуренции и начинают управлять проектом. Обычно оправдание такое: "сейчас сеть молодая и нуждается в небольшой централизации, но позже количество пользователей вырастет и сеть станет децентрализованной". Это ложь: новые пользователи никогда не получат настолько большой стейк как с премайна, к тому же владельцы сети никогда не откажутся от богатства добровольно и будут продолжать зарабатывать на своих стейках. Любое изменение сети будет так же будет зависеть от них, а это значит они не будут вносить изменения, уменьшающие их богатство. Все изменения либо нейтральные, либо в угоду крупных стейкеров. Количество крупных стейкеров ограничено, они это единая точка отказа сети.

Полностью согласен и хочу добавить, что также усиление централизации идет со временем.

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

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

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

Плюс также это майнинговые хеши, где на каждом новом блоке есть только 6,27% майнинговых хешей от всего количества голосующих хешей. Скупить все такие хеши не получиться, как допустим при майнинговых мощностях при атаке 51%. Здесь эти майнинговые хеши всегда разные.

Но не получилось на текущий момент. Может в будущем смогу найти решение обхода форков.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 17, 2022, 10:00:58 AM
 #37

Вроде уже мысленно попрощался с этим алгоритмом, но нашел одну идею, которая может сделать данный алгоритм консенсуса работоспособным.

И так начнем.

В самом блоке мы вводим лимиты на количество майнинговых хешей. Их может быть только до 16 каждого порядка.

Как пример, в блоке могут быть максимально:

- 16 майнинговых хешей с 1 совпадением.

- 16 майнинговых хешей с 2 совпадением.

- 16 майнинговых хешей с 3 совпадением.

...
- 16 майнинговых хешей с 64 совпадением (64 это количество всех символом в хэше sha3_256).


Таким образом в блок может поместиться теоретический максимум 16*64=1024 майнинговых хеша (каждый такой хеш можно считать отдельным майнером, который имеет право смайнить свой подблок). Однако это не достижимый максимум, сейчас у биткоина может быть до 20 совпадений за 10 минут.

Это если хотите упорядочивание.

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

Здесь я уже приводил подобные примеры, вот для понимания:

Всего 100000 хешей.
Из них для создания идеального текущего блока задействовано:
- Количество майнеров 5865 по 1 совпадений.
- Количество майнеров 338 по 2 совпадений.
- Количество майнеров 24 по 3 совпадений.
- Количество майнеров 2 по 4 совпадений.
Общее количество задействованных майнеров равно 6229, что составляет 6.22% от общего количества хешей.
Общая сумма совпадений для данного идеального блока равна 6621.

И так посмотрите внимательно, на то, что я выделил жирным.

Там, где у нас будет 4 совпадения с хешем, то таких майнеров будет всего 2. У них нет конкуренции вообще, так как теоретический максимум в блоке это 16, а здесь всего 2. Таким образом подблоки от данных майнеров будут во всех версиях форков текущего блока.

А теперь обратите внимание на количество майнеров только с 1 совпадением, их там 5865. В блок может максимально влезть только 16. Значит начнется плодиться огромное количество форков.

И вот на этом моменте, я скажем так споткнулся.

Как же бороться с этим огромным количеством форков.

А очень просто, надо считать шестнадцатеричную сумму всего блока и там, где эта сумма больше, тот блок и приоритетнее.

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

Блок1:
1 хеш с 3 совпадениями
1 хеш с 2 совпадениями
074171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3
0fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9

Блок2:
1 хеш с 3 совпадениями
1 хеш с 2 совпадениями
0a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a
0f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1

И так Вы видите 2 блока и нам надо понять, какой блок приоритетнее. Для этого нам надо уметь вычислять приоритеты именно для одиночных хешей в данном случае, так как отличии идет только по ним.

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

Блок1:
0.74171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3
0.fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9

Блок2:
0.a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a
0.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1

Видите мы у всех хешей первый символ, сделали целым числом (в нашем случае это ноль), а остальное вынесли в дробную часть.

Теперь нам надо сложить получившиеся шестнадцатеричные числа внутри Блока1 и Блока2 и сравнить их между собой. Для этого используем Калькулятор.

Сложение для Блока1:
0.74171aa91173bc50bed9e83d8712b6d1615ec99f5bc4cea7e551dcb698594c3+0.fb21e4d8afd3cf7459de7e419025d69990759f33d38dbe6f009c260b6b40fc9=1.6F38FF81C1478BC518B8667F17388D6AF1D468D32F528D16E5EE02C2039A48C

Сложение для Блока2:
0.a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a+0.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1=1.99EA5BFD4A53C1326DA440EAFE6F0A27A49C37674345A7EA84415DA78A1C06B

И так если посмотреть, то получилось, что у Блока2 сумма вышла больше, чем у Блока1. Значит, теперь все ноды при выборе текущего блока будут отдавать приоритет версии Блока2, а Блок1 станет не актуальным.

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





         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 18, 2022, 12:23:38 PM
 #38

Теперь, когда мы можем корректно посчитать сумму для всего блока и на её основе выявлять наиболее приоритетные блоки, то это очень сильно сближает мой алгоритм непосредственно с POW.

Вот два основных принципа, на которых строится алгоритм консенсуса POW:

1. Сеть выбирает цепочку блоков с максимальной сложностью.

2. Адаптивно изменяемая сложность. Когда через определенное время происходит пересчет сложности.


А теперь давайте посмотрим, как мой алгоритм соответствует этим условиям.

Раз можно найти сумму каждого блока, то можно найти и сумму всей цепочки блоков. И у меня как и у POW, сеть будет стремится перейти на цепочку с максимальной суммой блоков.

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

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

Таким образом соблюдая данные принципы, я могу утверждать, что мне удалось создать POS, как алгоритм, который работает и также надежен, как и POW.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 21, 2022, 06:15:40 AM
 #39

Теперь, когда мы можем корректно посчитать сумму для всего блока и на её основе выявлять наиболее приоритетные блоки, то это очень сильно сближает мой алгоритм непосредственно с POW.

Вот два основных принципа, на которых строится алгоритм консенсуса POW:

1. Сеть выбирает цепочку блоков с максимальной сложностью.

2. Адаптивно изменяемая сложность. Когда через определенное время происходит пересчет сложности.


А теперь давайте посмотрим, как мой алгоритм соответствует этим условиям.

Раз можно найти сумму каждого блока, то можно найти и сумму всей цепочки блоков. И у меня как и у POW, сеть будет стремится перейти на цепочку с максимальной суммой блоков.

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

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

Таким образом соблюдая данные принципы, я могу утверждать, что мне удалось создать POS, как алгоритм, который работает и также надежен, как и POW.
Давайте разберемся с понятиями... "Сеть выбирает" это что означает? Сеть - это некий организм с собственным сознанием и мышлением, который полностью автономен и способен принимать рациональные решения для достижения консенсуса среди пользователей этой сети? Если нет, значит она ничего выбирать не может, но могут люди - майнеры. Именно так это реализовано в POW: это не софт решает какая цепочка длиннее : софт глупый и выполняет команды. Какая цепочка длиннее решают люди, вкладывая ресурсы. Я как майнер не могу вложить ресурсы в две цепочки, так как ресурсы ограничены, поэтому я выбираю ту, где я не потеряю деньги. Это рациональное поведение. Теперь ваш алгоритм, что мне мешает майнить сразу две цепочки, если никаких ресурсов мне особо для этого не нужно? Это нерационально майнить десять цепочек сразу?  Но что если я просто хочу атаковать сеть: мало того, что мне это ничего не стоит, так еще и прибыль могу получить.

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

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

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 21, 2022, 09:41:11 AM
 #40


Давайте разберемся с понятиями... "Сеть выбирает" это что означает? Сеть - это некий организм с собственным сознанием и мышлением, который полностью автономен и способен принимать рациональные решения для достижения консенсуса среди пользователей этой сети? Если нет, значит она ничего выбирать не может, но могут люди - майнеры. Именно так это реализовано в POW: это не софт решает какая цепочка длиннее : софт глупый и выполняет команды. Какая цепочка длиннее решают люди, вкладывая ресурсы. Я как майнер не могу вложить ресурсы в две цепочки, так как ресурсы ограничены, поэтому я выбираю ту, где я не потеряю деньги. Это рациональное поведение. Теперь ваш алгоритм, что мне мешает майнить сразу две цепочки, если никаких ресурсов мне особо для этого не нужно? Это нерационально майнить десять цепочек сразу?  Но что если я просто хочу атаковать сеть: мало того, что мне это ничего не стоит, так еще и прибыль могу получить.

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

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

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

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

Теперь насчет можно майнить и ничего не терять, да именно это и есть основная проблема POS.

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

И так допустим у нас минимальное суммарное число для блока после которого можно строить следующий блок равно 100.

Пусть сейчас у блока это число равно 99.

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

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


То же самое делают другие майнеры, у кого-то майнящий хеш имеет 15 совпадений, а у кого-то вообще аж под 20.


И так Вы видите классический форк.

Что в этом случае должен делать добросовестный участник сети. А всё просто, он начинает проверять все цепочки этих форков и по мере выбора выбирает цепочку с максимальной суммой блоков, а остальные он отбрасывает.

Даже если сейчас, есть форк по одинаковым суммам, то со временем форк схлопнется так же, как и в биткоине.

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

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

Теперь далее, нужно понимать, что даже в POW атака производиться одним майнером или пулом, так как и в POW и POS по сути соревновательный процесс.

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

А их в сети для каждого блока всегда 6.25% от общего количества всех майнящих хешей.


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

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

Теоретически может даже получится ситуация, что при малом количестве майнеров такой форк не сможет набрать сумму блока для построения следующего, так как в блоке может быть:

16 майнинг хешей с 1 совпадением
16 майнинг хешей с 2 совпадениями
и так далее.

Допустим только эти хеши и набрали и сумма получившегося блока равна 16*1+16*2=48, а у Вас число 100. Всё, ваш форк при даже огромном количестве хешей с 1 и 2 совпадениями не сможет построить текущий блок и начать строить следующий, так как не добирает по сумме, где мы условились, что для этого нужно 100.


Таким образом у моего алгоритма есть прямые аналоги с POW:

- Сложность. В нашем случае это минимальная сумма, которую должен набрать текущий блок, чтобы можно было строить следующий блок. Данная сумма, как и в POW адаптивна и пересчитывается на каждом блоке, где при высокой скорости она на каждом блоке увеличивается на 10%, а при медленной скорости, наоборот уменьшается на 10%.

- Выбор цеопочки блоков с максимальной сложностью у POW, а у меня же это выбор цепочки блоков с максимальной суммой блоков.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 21, 2022, 12:13:55 PM
 #41

Безусловно сеть сама не решает, а это образное выражение совокупности всех добросовестных пользователей этой сети, действующих по алгоритму.
Вы вообще не должны ориентироваться на добросовестность участников, консенсус должен достигаться даже если большинство участников редкостные редиски и недобросовестные негодяи-нигилисты. Как это реализовано в PoW? Сам алгоритм заставляет пользователей вести себя честно или принять убытки. Экономические стимулы должны заставлять людей следовать правилам.

Quote
Таким образом у моего алгоритма есть прямые аналоги с POW:

- Сложность. В нашем случае это минимальная сумма, которую должен набрать текущий блок, чтобы можно было строить следующий блок. Данная сумма, как и в POW адаптивна и пересчитывается на каждом блоке, где при высокой скорости она на каждом блоке увеличивается на 10%, а при медленной скорости, наоборот уменьшается на 10%.

- Выбор цеопочки блоков с максимальной сложностью у POW, а у меня же это выбор цепочки блоков с максимальной суммой блоков.
Если потраченная энергия является достаточным стимулом, то вопросов нет: это будет ничто иное как самый что ни на есть PoW алгоритм (менее безопасный?), только с модифицированными видами доказательства выполненной работы. Вместо поиска хэша меньше текущей цели, у вас будет работа с совпадениями.  Но тогда какое место в этом всем занимает Proof of Stake? Зачем вам добавлять централизующий фактор, если сеть децентрализована и для получения награды нужно не просто сидеть на своем стейке, а вкладывать реальные ресурсы? Сейчас это выглядит как модифицированный PoW без надобности в PoS. Можете перечислить какие именно проблемы PoS вы решили, потому что я не понял если честно.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 22, 2022, 03:31:04 AM
 #42


Вы вообще не должны ориентироваться на добросовестность участников, консенсус должен достигаться даже если большинство участников редкостные редиски и недобросовестные негодяи-нигилисты. Как это реализовано в 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 Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 22, 2022, 07:09:08 AM
 #43

Вообще-то должен, так как если большинство не будет следовать, то Вам уже не поможет даже POW. На сколько я помню, при определенных условиях для сети биткоина может быть критично и 30% недобросовестных участников.

Также в таком деле, как децентрализация полагаться только на экономические стимулы опасно. Государства пойдут на любые затраты лишь бы уничтожить сеть.
Не слышал никогда про 30% недобросовестных участников... что они должны сделать, чтобы сеть перестала работать или правила консенсуса изменились? Возможно добросовестность важна на первых этапах развития сети, пока сеть молодая ее легко атаковать и обрушить, но когда участников становится больше, то этот фактор оказывает все меньшее и меньшее влияние. Государства не могут уничтожить децентрализованную сеть, потому что их влияние и возможности ограничены: что бы кто ни говорил они не могут бесконечно финансировать атаки через печать денег. Более того, государства соревнуются между собой и преследуют свои собственные цели: они могут не любить биткоин к примеру, но будут прддерживать сеть, потому что это может позволить им получить преимущество.

Quote
Вижу Вы не совсем понимаете алгоритм.
Это не удивительно, ваша система намного сложнее, чем обычный PoW. Чтобы решить одну проблему, вы добавляете еще больше решений поверх нее, которые в свою очередь тоже могут привести к проблемам. Чем более сложная система, тем сложнее предусмотреть все векторы атаки. Вот например объясните все же как вы решаете проблему форков. Выше вы написали, что мы складываем дробные хэши и ищем наибольшую сумму. Допустим, мы посчитали, что какой-то из блоков кандидатов больше всего достоин присоединится к цепочке. Но вот в чем загвоздка, если у нас есть лучший кандидат, то значит и форка изначально не было. Форк - это когда у нас есть больше чем один совершенно валидных блока, которые достойны присоединится к цепочке. В вашем случае, я так понимаю, это будет совершенно одинаковая сумма хэшей во всех блоках-кандидатах. Как в этом случае достигается консенсус?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 22, 2022, 11:26:04 AM
 #44


Это не удивительно, ваша система намного сложнее, чем обычный 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 Offline

Activity: 2562
Merit: 1512



View Profile
February 23, 2022, 04:16:15 PM
 #45

Сегодня "причесал" описание алгоритма на первой странице в первом посте https://bitcointalk.org/index.php?topic=5296504.msg55749096#msg55749096, тем самым сделал его более структурированным и актуальным.

Теперь осталось проработать ещё и экономическую часть.

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



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 23, 2022, 05:57:03 PM
Last edit: February 24, 2022, 05:30:18 AM by witcher_sense
 #46

Честно говоря, я исчерпал свои возможности в конструктивной критике вашего алгоритма консенсуса, потому что для того самого конструктива требуются глубокие знания и понимание работы PoW, PoS а также других комбинированных видов блокчейнов. Этого у меня нет, знания только поверхностные. Для изучения требуется время, поэтому пока я оставляю попытки найти уязвимости. Но кое-какие вопросы остаются без ответа: вы заявляете, что решили проблемы PoS, но по-моему вы только модифицировали PoW. Блоки добавляются через доказательство работы, и не зависят от количества токенов на адресах. Я слышал, что комбинация PoS и PoW решило бы многие проблемы, но стейкинг в этом случае должен играть более существенную роль, чем сейчас у вас. К тому же решения проблем самого PoS я так и не увидел, так как опять же этих проблем просто не видно из-за отсутствия PoS. Хотелось бы все-таки сделать более серьезный акцент на стейкинге, а не на очередном перебирании хэшей.

P.S. Можно подойти с другой стороны... Ноды общаются между собой и передают новую информацию всем "соседним" нодам. Каждая нода на основе новой информации принимает решения: пропустить ли транзакцию, присоединить ли блок и так далее. Каждая нода независима, она только следует правилам... В PoW биткоина майнер нашедший нужный хэш рассылает свой блок всем нодам, а те присоединяют его к своей истории.

Теперь как это должно работать у вас. Майнер-лидер с самым большим числом совпадений рассылает свой блок всем нодам. Остальные ноды получают блок и присоединяют свой подблок или как-то так. После того как они присоединят подблок, они рассылают эту информацию всем остальным нодам. То есть мы уже получаем огромное количество блоков-кандидатов, гуляющих по сети. Но это еще не все... Ноды не могут знать какой блок с самым большим количеством совпадений, поэтому они сначала должны получить все возможные блоки, а уже потом присоединяться к нужному. Например, они видят блок с 9 совпадениями и присоединяют подблок, затем они получают блок с 10 совпадениямм, реорганизуются и опять присоединяют подблок. При этом они еще и анонсируют это другим нодам, то есть мы опять получаем бесконечный поток блоков-кандидатов и забитую сеть. Заметьте, каждая нода будет независимо присоединять подблоки, то есть мы получим кучи блоков-дубликатов. 5000 майнеров с одним совпадением сначала анонсируют свои блоки, а затем еще и свои подблоки, что сразу же приведет к моментальной остановке сети. Еще не стоит забывать, что каждая нода будет присоединять транзакции по своему усмотрению, то есть еще будет куча транзакций-дубликатов. Плюс ко всему этому, каждая нода будет постоянно пересчитывать дробные шестнадцатеричные числа для сравнения бесконечного потока блоков. Как во всем этом хаосе что-то можно определить непонятно, но одно ясно - нужна такая нехилая пропускная способность, чтобы обработать бесконечный поток блоков и транзакций.

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

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 24, 2022, 01:44:13 PM
 #47


Честно говоря, я исчерпал свои возможности в конструктивной критике вашего алгоритма консенсуса, потому что для того самого конструктива требуются глубокие знания и понимание работы PoW, PoS а также других комбинированных видов блокчейнов. Этого у меня нет, знания только поверхностные. Для изучения требуется время, поэтому пока я оставляю попытки найти уязвимости. Но кое-какие вопросы остаются без ответа: вы заявляете, что решили проблемы PoS, но по-моему вы только модифицировали PoW. Блоки добавляются через доказательство работы, и не зависят от количества токенов на адресах. Я слышал, что комбинация PoS и PoW решило бы многие проблемы, но стейкинг в этом случае должен играть более существенную роль, чем сейчас у вас. К тому же решения проблем самого PoS я так и не увидел, так как опять же этих проблем просто не видно из-за отсутствия PoS. Хотелось бы все-таки сделать более серьезный акцент на стейкинге, а не на очередном перебирании хэшей.
Очень благодарен за ваше внимание и участие в беседе, такие беседы в процессе помогают не только выявить недостатки обсуждаемой идеи, но и более лучше понять обсуждаемую тему, в нашем случае более лучше понять алгоритмы консенсусов.

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

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

Может я на этом слабо сделал упор, но факт в том, что в моём алгоритме очень сложно получить одинаковую сумму у блоков.

Просто посмотрите сами, специально даже возьму гипотетически похожие хеши с первыми 20 совпадениями:

0a65290fea13aba62e02f7612ae83dfca6dd0f8884c53a50c10ea6b0f75d157a
0a65290fea13aba62e02f7612f7459de7e419025d69990759f33d38dbe6f009c

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

А теперь представьте 2 блока у которых скажем, как минимум 16 хешей в каждом. Получить полностью одинаковую шестнадцатеричную сумму практически невозможно.

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

Шестнадцатеричная сумма БЛОКА1
10.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf1

Шестнадцатеричная сумма БЛОКА2
10.f397cafea91906cf8d74cad84feb2a5d36cb3edef6f202de7356f298144aaf2

Посмотрите сами, эти суммы практически равны. В реальности получить такое совпадение практически не реально. И даже в этом случае БЛОК2 будет по сумме выше, а потому честные участники сети обязаны будут отдавать приоритет этому блоку.

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


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

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

Теперь в дело вступает неравномерность создания блока и количество участников в каждой ветке, также можем принять, что у нас POS, а потому некоторые могут совершенно спокойно майнить две цепочки одновременно.

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

Я уже приводил пример, что скажем для общего количества майнящих хешей имеем расклад:

Quote
Всего 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 Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 24, 2022, 02:30:30 PM
 #48

~
Нода подключена к десяти другим, а те в свою очередь подключены каждая к десяти своим. Я просто не вижу как они могу придти к консенсусу, если они не координируются центральным сервером. Одна нода получает блок, проверяет и если он лучше, чем предыдущий она отправляет этот блок другим нодам. Другие ноды могут принять блок или отказать, так как каждая может иметь еще более лучшие блоки, причем совершенно разные. Они будут подолжать пересылать эти блоки  друг другу очень долго, а учитывая что каждый блок весит немало, получается огромный поток данных. Причем этот поток данных может быть крайне существенным в самом начале, потому что первоначально все ноды будут рассылать только свои блоки. Блоки с одним совпадением, десятки, сотни и тысячи блоков. Причем как у вас осуществляется проверка на предмет конфликтующих транзакций мне непонятно. Каждая нода будет присоединять подблок и не знать какие транзакции уже добавлены в другие подблоки, что приведет к бесконечным попыткам придти к какому-нибудь общему знаменателю. В PoW все работает, потому что там все очень просто, один выигравший блок, один блок пересылается между нодами и присоединяется. Тут пересылаются тысячи блоков, создается тысячи кофликтующих веток, на это требуется огромные мощности, чтобы разобрать этот хаос, так что приведет к централизации: только самые производителтнве ноды будут функционировать в такой сети.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 25, 2022, 07:11:15 AM
 #49


Нода подключена к десяти другим, а те в свою очередь подключены каждая к десяти своим. Я просто не вижу как они могу придти к консенсусу, если они не координируются центральным сервером. Одна нода получает блок, проверяет и если он лучше, чем предыдущий она отправляет этот блок другим нодам. Другие ноды могут принять блок или отказать, так как каждая может иметь еще более лучшие блоки, причем совершенно разные. Они будут подолжать пересылать эти блоки  друг другу очень долго, а учитывая что каждый блок весит немало, получается огромный поток данных. Причем этот поток данных может быть крайне существенным в самом начале, потому что первоначально все ноды будут рассылать только свои блоки. Блоки с одним совпадением, десятки, сотни и тысячи блоков.
Ну именно так и работают p2p-сети, они не общаются со всей сетью, ноды общаются только со своими соседями.

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

Но сеть изначально должна работать без центрального сервера, в этом и суть p2p-сетей, они так и работают и обмениваются данными.

И там не происходит никаких заторов.



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

С конфликтующими транзакциями вообще нет сложностей. Вот примерно так выглядит блок:

Quote
Quote
Quote
Подблок1 с максимальным числом совпадений:
Транзакция1
Транзакция2
...
Транзакция X
Время создания блока=времени Подблока1
Хеш всего блока
Quote
Quote
Подблок2:
Транзакция1
Транзакция2
...
Транзакция X
Время создания блока=времени Подблока2
Хеш всего блока

Quote
Подблок3:
Транзакция1
Транзакция2
...
Транзакция X
Время создания блока=времени Подблока3
Хеш всего блока

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

Либо, если у неё есть майнящий хеш, то она либо обрезает блок на каком-то подблоке и вставляет в конец свой подблок.

Либо к этому блоку добавляет уже свой подблок.

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

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

То есть в плане приема и передаче я не вижу сложностей, так как сети так и работают, да и ноды по такому же принципу.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
February 28, 2022, 05:43:48 AM
 #50


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

Либо, если у неё есть майнящий хеш, то она либо обрезает блок на каком-то подблоке и вставляет в конец свой подблок.

Либо к этому блоку добавляет уже свой подблок.

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

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

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
February 28, 2022, 06:37:42 AM
 #51


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

Блок создается из подблоков, путём "оборачивания".

Вот, как пример, пусть у нас есть Подблок1 с самым большим числом совпадений, поэтому к нему будут присоединяться подблоки с более меньшим числом.


Блок1
Подблок1:
Транзакция1
Транзакция2
...
ТранзакцияN
Хеш всего Блока1
Время Блока1= времени Подблока1


Теперь к нему присоединяется другой подблок и он его как бы оборачивает:

Блок1
Quote
Блок1
Подблок1:
Транзакция1
Транзакция2
...
ТранзакцияN
Хеш всего Блока1
Время Блока1=времени Подблока1
Подблок2:
Транзакция1
Транзакция2
...
ТранзакцияN
Хеш всего Блока1
Время Блока1=времени Подблока2

Теперь Подблок3 уже оборачивает уже оба этих
подблока:

Блок1
Quote
Блок1
Quote
Блок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 Offline

Activity: 2562
Merit: 1512



View Profile
April 17, 2022, 09:16:17 AM
 #52

Когда у алгоритма консенсуса есть сложность или его аналог, то он может попасть в ловушку этой сложности.

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

У сети опять становился маленький хешрейт, но уже высокая сложность. Блоки либо очень долго майнились, либо не майнились вообще.

Именно для обхода данной проблемы у меня пересчет идёт на каждом блоке.

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

Как сейчас у меня реализовано регулирование минимальной суммы блока:
Quote
Оно будет работать следующим образом. Вначале набирается статистика из 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 Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 18, 2022, 06:12:32 AM
Merited by xandry (2), imhoneer (1)
 #53

Когда у алгоритма консенсуса есть сложность или его аналог, то он может попасть в ловушку этой сложности.

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

У сети опять становился маленький хешрейт, но уже высокая сложность. Блоки либо очень долго майнились, либо не майнились вообще.

Именно для обхода данной проблемы у меня пересчет идёт на каждом блоке.

Хочу напомнить, что в этом алгоритме аналогом сложности служит минимальная сумма блока, при достижении которой ноды сети получив такой блок перестают дальше его создавать и начинают строить следующий.
Другие монеты с PoW алгоритмами страдают не от скачков сложности, точнее это всего лишь следствие, а не причина. Если есть одна крупная монета (Биткоин), которая забирает практически внсь хэш-рейт, то другая монета с  PoW недополучает хэшрейт и по умолчанию менее защищенная от атак. Скачки сложности в том числе могут быть вызваны такой атакой, так как стоимость атаки на сеть не такая уж и большая. Достаточно перенаправить часть хэшрейта от крупной монеты к мелкой. Проблема тех монет, следовательно, в том, что они пытаются конкурировать с Биткоином. Ваш алгоритм не конкурирует с крупной монетой, майнер биткоина можете перенаправить часть мощностей для майнинга PoSm монеты и при этом не потеряет ничего. Откуда возьмуться скачки сложности? Если появятся десятки подобных монет на PoSm, то что мешает майнеру добывать их всех без перенаправления мощностей?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
April 18, 2022, 07:04:53 AM
Merited by xandry (4)
 #54

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


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

Вначале про скачки мощности, в данном случае это скачки минимальной суммы блока. Просто представим себе физически сеть, где хоть есть и майнеры со своими нодами, но большая их часть находиться в дата центрах. Основная часть сети базируется в дата центрах всего 2-х стран и по одной из этой страны была нанесена серия ядерных ударов, что от прямого попадания или элекромагнитной волны полностью вывело дата центры в этой стране.

Таким образом физически сеть потеряла около 50% своих нод, что естественным образом скажется на не возможности остальных нод компенсировать эти потери.

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


Теперь на счет самого майнинга. Очень важно о каком именно майнинге в моем алгоритме мы говорим. Я хочу напомнить, какие виды майнинга есть:
Quote
Виды майнинга.

Теперь давайте разберем сам майнинг, он здесь 2-х видов: пассивный и активный.

Пассивный майнинг. Тут всё просто, не надо прикладывать каких либо усилий и наращивать мощность вычислений, как в POW, чтобы пытаться перезаписать хеш предыдущего блока и получить преимущество в построении текущего блока. Такой майнинг доступен всем участникам, ведь достаточно лишь одного совпадения хеша предыдущего блока с вашим адресом, на котором есть минимальная сумма для майнига и вы можете создавать свой подблок отдельно или добавляя к уже другим подблокам, участвуя в построении текущего блока.

Теперь про активный майнинг. Основная суть активного майнинга это вставить свой подблок в конец блока и тем самым создать конечную версию текущего блока или сразу своим подблоком создать блок. В обоих этих случаях речь идет о контроле хеша создаваемого блока. Этот контроль нужен для того, чтобы на вновь создаваемом блоке уже иметь преимущество по совпадению у своего майнинг хеша. Скажем благодаря вычислениям по подбору хеша, Вы подобрали хеш блока таким образом, что при строительстве следующего блока имеете уже хеш скажем с 15-20 совпадениями и к нему начинают присоединяться другие майнящие хеши.

Активный майнинг делится на 2 вида: синергетический и эгоистичный.

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

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

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

Если мы говорим, про активный майнинг, то тут именно полноценный POW, более того такой майнер со всей своей фермой лишь небольшая часть сети. Просто оцените, что в биткоине сейчас это 20 совпадений, а у нашей сети легко может набираться 100, а с ростом сети и вообще от 1000 и выше.

Поэтому, если майнер настроен активно майнить, то никакой расслабухи он не получит.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 19, 2022, 05:33:07 AM
 #55

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

Вначале про скачки мощности, в данном случае это скачки минимальной суммы блока. Просто представим себе физически сеть, где хоть есть и майнеры со своими нодами, но большая их часть находиться в дата центрах. Основная часть сети базируется в дата центрах всего 2-х стран и по одной из этой страны была нанесена серия ядерных ударов, что от прямого попадания или элекромагнитной волны полностью вывело дата центры в этой стране.

Таким образом физически сеть потеряла около 50% своих нод, что естественным образом скажется на не возможности остальных нод компенсировать эти потери.

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


Теперь на счет самого майнинга. Очень важно о каком именно майнинге в моем алгоритме мы говорим. Я хочу напомнить, какие виды майнинга есть:
Чтобы защитить сеть от таких катастрофических событий, которые случаются редко, вы делаете изменение сложности таким частым? Не проще в этом случае просто предусмотреть механизм экстренной смены сложности? Если катастрофа случилась, то все пользователи сети согласятся ее защитить, проведя софтфорк или даже хардфорк. По-моему, что-то такое есть в биткоине, но я не смог вспомнить название механизма.

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
April 19, 2022, 12:40:04 PM
 #56


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


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

В любом случае, на каждом блоке менять сложность не получится. Хеш-функции слишком рандомны, конкретные блоки могут появляться слишком редко или слишком частно, но это не будет означать резкой смены хешрейта. К тому же майнеры не смогут быстро реагировать на смены сложности, не смогут делать взвешенные экономические решения отключать или подключать майнеры. В конце концов, сложность будет оставаться постоянной и начнется стагнация и постепенный отток майнеров.
Вы к моему алгоритму применяете хеши и хешрейрейт сети, но у меня применяется минимальная сумма блоков. Условно, в созданном блоке считается шестнадцатиричная сумма всех майнинговых хешей по совпадению. Или проще говоря, есть в блоке:
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 Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 20, 2022, 05:16:30 AM
 #57

Надо ориентироваться на возможность массового применения устроиств у пользователей и делать скорее изменения не по железу, а по програмному просчету. Как я и приводил пример, это лайткоин - форк биткоина.
Если монету будет выгодно майнить, то хотите вы или нет будет создаваться специализированное железо для майнинга именно вашей монеты. Это будет выгодно для безопасности сети, так как майнеры других монет никак не смогут резко перекинуть мощности и, например, провести атаку 51%. Я понимаю, вы хотите сделать монету общедоступной ддя всех, чтобы каждый мог присоединиься и начать майнить. Но, к сожалению, мы живем в реальном мире, где есть "хищники и травоядные", так вот хищники быстренько съедят последних и заберут основную награду.

Вы к моему алгоритму применяете хеши и хешрейрейт сети, но у меня применяется минимальная сумма блоков. Условно, в созданном блоке считается шестнадцатиричная сумма всех майнинговых хешей по совпадению. Или проще говоря, есть в блоке:
5 майнинговых хешей с 1 совпадением
3 майнинговых хешей с 2 совпадением
1 майнинговый хеш с 4 совпадением.

Теперь грубо подсчитаем сумму блока: 5*1+3*2+1*4=15.

И так грубо блок имеет сумму 15, а скажем минимальная сумма блока составляет 20. Значит нодам еще надо найти к этому блоку подблоки от:
5 майнинг хешей с 1 совпадением или скажем от 2 майнинг хешей с 2 совпадениями и 1 майнинг хешем с 1 совпадением.

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

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
April 20, 2022, 08:30:17 AM
 #58

Если монету будет выгодно майнить, то хотите вы или нет будет создаваться специализированное железо для майнинга именно вашей монеты. Это будет выгодно для безопасности сети, так как майнеры других монет никак не смогут резко перекинуть мощности и, например, провести атаку 51%. Я понимаю, вы хотите сделать монету общедоступной ддя всех, чтобы каждый мог присоединиься и начать майнить. Но, к сожалению, мы живем в реальном мире, где есть "хищники и травоядные", так вот хищники быстренько съедят последних и заберут основную награду.

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

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

У меня же не так и это принципиальное отличие.

Давайте с Вами представим, что вся вычислительная мощь биткоина перешла в мой алгоритм. Давайте посмотрим на текущий смайненный блок в биткоине:
Quote
Хэш
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 всех хешей имеющих право майнинга. Я уже выкладывал результаты расчетов, поэтому повторю:
Quote
Для 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 Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
April 21, 2022, 05:44:10 AM
 #59

Тут я полностью согласен у самого POW нет и наверное не будет эффективной защиты от создания майнинг устройств и концентрации вычислительной мощи в одних руках. Так как у POW соревновательный механизм, тот кто первым смайнит хеш с нужной сложностью, тот и первым получает награду.
PoW не нужна защита от создания майнинг устройств, как раз наоборот ему нужны как сами устройства,.так и активный рынок для них. Чем больше устройств, чем больше их эффективность, тем более надежной становится сеть и тем более развит майнинговый рынок. Все эти ASIC-resistant алгоритмы полнейший бред, так как только снижают безопасность сети. Да и само это понятие не имеет никакого смысла: если ваша сеть привлекательна для майнинга, то для нее будут строить специализированные устройства. Про концентрацию мощности в одних руках не понял: сами же говорите о соревновательной составляющей  PoW, а потом резко тут всегда один победитель?

Теперь обратите внимание, на количество нулей выделенных красным в Хеш. Там ровно 20 нулей, то есть вся вычислительная мощь биткоина за 10 минут способна находить хеш всего с 20 совпадениями.

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

Таким образом главное фундаментальное отличие моего алгоритма консенсуса от POW, POS, dPOS и других в том, что здесь нет соревновательного механизма, а наоборот он собирательный, вся сеть берет от всех понемножку, но в целом получается блок с огромной защитой, которою не сломать даже самой сильной майнинг ферме в одиночку.
Это не фундаментальное отличие: есть много схожести с тем же PoS. Никакой соревновнавательной составляющей, все сидят на своих мощностях и майнят свой стейк, кто пришел раньше имеет преимущество, богатые майнеры богатеют, а пассивные майнеры довольствуются крошками. Потихоньку, активный эгоэстичный майнинг вытеснит обычный активный и пассивный, и сеть захватят крупные богатые майнеры. Эта сеть также стремится к централизации власти, как и обычные PoS.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
April 22, 2022, 08:09:49 AM
 #60

Про концентрацию мощности в одних руках не понял: сами же говорите о соревновательной составляющей  PoW, а потом резко тут всегда один победитель?
Правильно, она соревновательная, а потому определенные группы с мощностями вырываются вперед и получают преимущество. И всё идет к концентрации вычислительной мощи в одних скажем так руках.

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



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

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

Вот можете запустить эмитатор майнинга и увидеть, как это примерно будет работать, только выбирайте число совпадений до 6, а то потом он начинает долго считать и его сессия заканчивается:
Quote
Прототип блокчейна я не написал, а вот имитатор майнинга сделал. Можно перейти на online-python и посмотреть результат:

Code:
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, где вероятность создать блок повышается с его ростом. Здесь практически все равны, так как на майнинг каждого блока майнинговые хеши постоянно изменяются. Да их у Вас становиться со временем больше, но со временем и общее количество майнинговых хешей тоже увеличивается.

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

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

В этом и смысл, что контролировать эти майнинговые хеши Вы не сможете, в отличие от наращивания вычислительной мощи.

Как пример, вот примерное распределение:
Quote
Для 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
witcher_sense
Legendary
*
Offline Offline

Activity: 2338
Merit: 4330

🔐BitcoinMessage.Tools🔑


View Profile WWW
May 09, 2022, 03:01:01 AM
 #61

Правильно, она соревновательная, а потому определенные группы с мощностями вырываются вперед и получают преимущество. И всё идет к концентрации вычислительной мощи в одних скажем так руках.

Как было не раз, когда какой-то пул подходит к границе 50%, все начинают об этом писать и беспокоится. Проблема эта не решается алгоритмически, а приходиться договариваться. В какой-то момент пул может не согласиться на добровольную потерю доли вычислительной мощи.
Соревновательная составляющая предполагает, что определенные участники вырываются вперед. Но она также предполагает, что это преимущество обычно временное. Поэтому никакой концентрации вычислительной мощности мы не наблюдаем. Для этого есть и другая причина: в долгосрочной перспективе майнерам не выгодны большие пулы, так как централизация власти в одних руках ставит под угрозу их будущую прибыль. Чем здоровее сеть, тем им лучше. Да и не стоит забывать, что думать о пулах как о едином организме неправильно: оператор пула не имеет никакого влияния на майнеров.


Я бы также хотел обратить ваше внимание вот на что. Что не нужно забывать, зачем вообще майнинг нужен. Это же не просто майнить ради майнинга.

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

2. Цензура. Опасность 51% это не только возможность двойной траты, но и в первую очередь цензура транзакций. Для блокчейнов, где блок создает один майнер, это особенно актуально. У меня же блоки создают много майнеров и это исключает возможность цензуры, так как всех майнеров, строящих блок, контролировать невозможно.

Это все в теории, нужна програмная реализация для проверки этих тезисов. Для удовлетворения обоих условий, что высокой сложности, что противойдействия атакам и цензуре, нужно много майнеров, но не факт что они будут. Майнерам нужно, чтобы монета была ценная для оправдания затрат, но монета не будет ценной, если ее никто не захочет майнить. Важно не только продумать дизайн, но и обеспечить варианты использования. Не только "как", но и "зачем". Без этого проект нереализуем.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
May 09, 2022, 12:09:07 PM
 #62


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


Это все в теории, нужна програмная реализация для проверки этих тезисов. Для удовлетворения обоих условий, что высокой сложности, что противойдействия атакам и цензуре, нужно много майнеров, но не факт что они будут. Майнерам нужно, чтобы монета была ценная для оправдания затрат, но монета не будет ценной, если ее никто не захочет майнить. Важно не только продумать дизайн, но и обеспечить варианты использования. Не только "как", но и "зачем". Без этого проект нереализуем.

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

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

Поэтому я сейчас подумываю, над видоизменением алгоритма и смещения его в сторону POW.

А именно сами майнинг хеши, будут не доставаться из блокчейна, а просто майниться POW. Даже на самом слабом ноутбуке можно спокойно смайнить майнинг хеш с 5-6 совпадениями.

Вот условно, как это будет. Произведен последний блок, у него есть хеш.

Теперь каждый майнер должен смайнить хеш с максимальным совпадением по этому хешу из этих данных:

1. Хеш предыдущего блока.
2. Ваш адрес с которого будете отсылать подблок.
3. Nonce.


Условно у нас есть хеш предыдущего блока:
3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655

Мы берем данные:
1. 3D8293BD4DA72B5437F9B4810B991870145AD443686CF2DDD7B6C16E4F3A4655
2. 5082B0DCBF7B2BA5CB6BC4CAABE6A157B1FA3B862FC21C33DB51CEA53B176E06
3. Тут начинаем подбирать Nonce, пусть он остановиться на значении 32456.

В итоге получаем хеш этих данных:
3D82936A648A463A27D20E28B1674B68A7CAB351FFCE01A88A00F84A84824505

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




         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
Vtools
Full Member
***
Offline Offline

Activity: 411
Merit: 135


View Profile WWW
May 09, 2022, 02:18:54 PM
Merited by imhoneer (1)
 #63

Теперь каждый майнер должен смайнить хеш с максимальным совпадением по этому хешу из этих данных:

1. Хеш предыдущего блока.
2. Ваш адрес с которого будете отсылать подблок.
3. Nonce.

Ух ты, у тебя структура один в один совпадает с моей, видимо одинаково подошли к решению проблемы: https://bitcointalk.org/index.php?topic=5397893.msg60085894#msg60085894
Действительно, если POW майнеры соревнуются с друг другом чтобы стать валидатором блока с данными (подблоком), то можно заранее (на несколько блоков) вперед их искать, чтобы ускорить обработку транзакций - транзакции отправляются сразу валидатору-лидеру. В итоге на классическом POW можно ускорить формирование блоков вплоть до 1 сек.


Restart of the TERA project in 2022
Web ܀ ANN ܀ Discord ܀ Telegram ܀ Twitter
imhoneer (OP)
Legendary
*
Offline Offline

Activity: 2562
Merit: 1512



View Profile
May 09, 2022, 05:04:03 PM
 #64

Теперь каждый майнер должен смайнить хеш с максимальным совпадением по этому хешу из этих данных:

1. Хеш предыдущего блока.
2. Ваш адрес с которого будете отсылать подблок.
3. Nonce.

Ух ты, у тебя структура один в один совпадает с моей, видимо одинаково подошли к решению проблемы: https://bitcointalk.org/index.php?topic=5397893.msg60085894#msg60085894
Действительно, если POW майнеры соревнуются с друг другом чтобы стать валидатором блока с данными (подблоком), то можно заранее (на несколько блоков) вперед их искать, чтобы ускорить обработку транзакций - транзакции отправляются сразу валидатору-лидеру. В итоге на классическом POW можно ускорить формирование блоков вплоть до 1 сек.

Оно то похожее, но есть нюанс.

Я использую классическое представление о работе p2p-сетей. Условно у Вас есть 10 нод-соседей и для Вас это скажем так вся сеть, Вы обмениваетесь непосредственно информацией только с этими 10 нодами, а они уже со своими 10 нодами-соседями и так информация распространяется по сети. Можно и больше 10 нод, но я описал сам принцип передачи информации по сети.

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

Этот майнер рассылает блок, что смайнил и начинает майнить уже свой подблок нового текущего блока, на основании хеша предыдущего блока.

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

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


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

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

Простой ноутбук сможет примерно за 1 минуту смайнить себе майнинг-хеш с 5 совпадениями.



         ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
        █  █▀▀▀▀▀▀▀█  █        
       ▄▀▀▀▀▄     ▄▀▀▀▀▄      
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█ ▄▀▀▀▀▀▀▀▀▀ ▄▄▄▄▄ ▀▀▀▀▀▀▀▀▀▀ █
█ ▀        ▄▀ ▄ ▄ ▀▄          █
█▄▄▄      █   █▀█   █      ▄▄▄█
 █  ▀▀▀▄▄▄█   █▀▀▄  █▄▄▄▀▀▀  █
 █        █   █▄▄█  █        █
 █         ▀▄ ▀ ▀ ▄▀         █
 █           ▀▀▀▀▀         █ █
 █ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀ █
 ▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀
    ▀▀                   ▀▀  



Arbitrum Balance
/



             ▄▄████▄▄
         ▄▄████████████▄▄
      ▄██████████ █████████▄
█▀█▄▄▄███████████ █▀█▀██████
▀▀▀         ▀████      ▀████
▀▀▀▀▀▀▀▀█▀▀▄    █ ████  ████
     ▄▄▄ ▀▄ ▀▀▀▀█        ███
     █▄█   ▀▀▀▀▀█ █████  ███
▄▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█       ▄██
   ▄▄▄     ▄█████ █▄█▄████
   █▄█▀▀▀▀███████ ██████▀
            ▀████████▀▀
              ▀▀██▀▀

           


imhoneer investment fund
/


   ▄▄███████████████▄▄
 ▄█████████████████████▄
▄██████████████▀▀███████▄
████████████▀▀    ███████
█████████▀▀   ▄   ███████
██████▀▀     █    ███████
████▀       █     ███████
█████▄▄   ▄█      ███████
████████ ██▄      ███████
▀████████ ▀▄███▄▄███████▀
 ▀█████████████████████▀
   ▀▀███████████████▀▀


Telegram-канал @imho_idea
Pages: 1 2 3 4 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!