Post
Topic
Board Кодеры
Re: Асикостойкий алгоритм PoW
by
DevilOper
on 25/01/2018, 09:08:23 UTC
Чуть подробнее про алгоритм подтверждения транзакци нодами пожалуйста...
Да пожалуйста.
Ноды ничего не подтверждают - они только реплицируют транзакции между собой, ну и проверяют на валидность, разумеется.
Подробнее:
Вася шлёт "в сеть" (случайно выбранным нодам): "транзакцЫя#15965@Васья-to-Петья-12345денежков". Подписывает своим ключём, ну это вы догадались. Ноды проверяют: ну да, последняя Васина транзакция - 15964, баланс достаточен, подписи совпадают - реплицируют дальше. Можно назвать это "мемпул".
Вася так же шлёт эту же транзакцию напрямую Пете. Петя отправляет запрос трём случайным нодам: "а поделился ли уже Вася с сетью своей транзакцией?" - ноды ему отвечают: да-да, поделился, вот, проверяй, хэш такой-то, давай уже, завершай транзакцию скорей! Петя "закрывает" транзакцию своим ключём - всё, 12345денежков теперь у Пети. Завершённая транзакция записывается в "блокчейн" - распределённую БД.
Вариант: "Вася перегрыз трансатлантический кабелль, перевёл 100500 шиткойнов в Европе, потом мгновенно телепортировался в США и сделал там двойную трату этих же 100500 шиткойнов" не рассматриваем, как явно фантастический; а тот же сценарий в пределах соседей по подъезду - как ничтожный.
Quote
В алгоритме сразу предусмотрите вариант когда 100 нод подтвердили одну транзакцию, а другие 100 подтвердили другую с тем же номером.
Выше же написал. Ну, смасштабируйте 1 на 100 - хотя, до 100, уверен, не дойдёт: две противоречивые транзакции где-нибудь столкнутся раньше - и опаньки, обе невалидны.
Quote
И еще алгоритм синхронизации тут же если не трудно...
Вам который именно:
https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC#%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_%D1%81_%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%BE%D0%B9_%D0%BE%D1%82_%D1%81%D0%B1%D0%BE%D0%B5%D0%B2
-?