Как стать автором
Обновить

Комментарии 11

Спасибо! Кстати, хороший пример реализации блокчейна (как бекенд, так и фронтенд части) есть в книге «TypeScript быстро».

Внимание, вопрос! А зачем всё это? Ну какое практическое применение? Или в ООП попрактиковаться?

А зачем всё это?

VDS сам себя не порекламирует

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

В законодательствах некоторых стран (Казахстан например) для реализации собственного ЭЦП необходимо внедрение блокчейна

Приветствую! Быть может, не доглядел, прошу ткнуть носом, как в PoW модели сверять блоки? Неужели для каждого придется заново подбирать хэш? Или сложность будет записываться в блок явно? Но ведь в таком случае пропадает смысл в этой самой сложности, ведь она (насколько я понял) и была добавлена, чтобы усложнить подделку и переписывание блокчейна

Под сложностью я имею в виду значение "nonce"

Сложность это количество нулей в начале хэша блока, включая nonce. То есть сама задача майнинга заключается в том чтобы найти тот nonce, который в совокупности с данными блока даст хэш, начинающийся с N нулей, где N это сложность. Сложность динамически изменяется сетью, так, чтобы среднее время добычи блока составляло примерно 10 минут.
nonce записывается в блок, также в блок записывается его собственный хэш. Валидатор проверяет хэш блока не перебирая nonce, поэтому проверка делается за одно хэширование.
Если вдруг злоумышленник решит подделать цепочку, ему придется найти правильные хеши для всех блоков следующих за тем, который он подделал, даже если подделан последний блок, нужно иметь больше 50% вычислительной мощности от всей сети чтобы успеть замайнить подделанный блок. Подставить невалидный хэш не получится, так как в таком случае цепочка будет невалидной, и остальные участники не примут её

То есть, значение nonce хранится в открытом доступе. Спасибо, это именно то, что я хотел узнать

Зарегистрируйтесь на Хабре, чтобы оставить комментарий