Тема: Bitcoin
Показать сообщение отдельно
Старый 18.07.2017, 15:54   #340
 
Аватар для Suhodrischeff
 
Регистрация: 16.01.2008
Сообщений: 856
Доменные сделки: 8
Реноме: 4237
Одобрения
Спасибо (Отдано):
Спасибо (Получено):
Блок - это продукт алгоритма консенсуса (Proof-of-Work).
Децентрализованная сеть не имеет администратора или центрального сервера и не может синхронизироваться мгновенно, чтобы каждое изменение (транзакция) генерировали новую финальную версию базы данных, одинаковую для всех и неоспаримую. Она состоит из подсетей и удаленных нод, с разным временем отклика, скоростью выполнения операций, с погрешностями в системном времени и т.д.

Проблема двойной траты - это то, что останавливало появление децентрализованных платёжных систем до изобретения Сатоши. Если только криптографическая подпись является доказательством платежа, то что мешает отправителю подписать другую транзакцию этим же ключем? Можно создать тысячи виртуальных нод и дать им команду транслировать альтернативную транзакцию с более ранним таймстампом. https://en.m.wikipedia.org/wiki/Sybil_attack

Поэтому, Сатоши изобрёл алгоритм консенсуса "доказательство работы".
Майнеры совершают вычислительную работу, чтобы подписать блок доказательством затраченных ресурсов. Это доказательство аналогично цифровой подписи, но вычисляется учитывая хеш предыдущего блока и сложность майнинга. Так майнеры в системе являются гарантами честности и защитой от двойных трат.
Когда майнер составляет новый блок, он берет из мемпула список новых транзакций (не включённых в другие блоки). Если обнаруживаются двойные траты, то майнер выбирает одну из них. В принципе он может решать - какую из них включить в блок, но на практике сейчас работает принцип fee market - то есть он выберет ту, у которой выше комиссия (mining fee), так как ему это экономически выгодней. При включении ее в блок, остальные транзакции подписанные этим же ключем будут отвергнуты сетью как невалидные (double spend) и не будут включены в блоки. Поэтому, пока транзакция не включена в блок, нет никакой гарантии и никакие биржи не принимают неподтвержденные транзы.

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


PS. Моих технических знаний - чуть ниже чем ноль, и моя интерпретация по меньшей мере не точна, если не ошибочна вообще, вам надо такие вопросы на другом форуме задавать.
Я счищаю себя разбирающимся в вопросах "алхимии финансов" и рыночных механизмах, а как технически работают всякие системы - оставлю это айтишникам, мне это не интересно. )
Suhodrischeff вне форума   Ответить с цитированием