Bitcoin Forum
May 07, 2024, 01:07:33 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 687 times)
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
1715087253
Hero Member
*
Offline Offline

Posts: 1715087253

View Profile Personal Message (Offline)

Ignore
1715087253
Reply with quote  #2

1715087253
Report to moderator
1715087253
Hero Member
*
Offline Offline

Posts: 1715087253

View Profile Personal Message (Offline)

Ignore
1715087253
Reply with quote  #2

1715087253
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715087253
Hero Member
*
Offline Offline

Posts: 1715087253

View Profile Personal Message (Offline)

Ignore
1715087253
Reply with quote  #2

1715087253
Report to moderator
1715087253
Hero Member
*
Offline Offline

Posts: 1715087253

View Profile Personal Message (Offline)

Ignore
1715087253
Reply with quote  #2

1715087253
Report to moderator
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: 4332

🔐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: 4332

🔐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: 4332

🔐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: 4332

🔐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: 4332

🔐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
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!