Консенсус в криптовалютах - это набор правил, на соответствие которым каждая нода проверяет блоки и отдельные транзакции. PoW в криптовалютах нужен для создания защищённого от перезаписи блокчейна. Защищённый от перезаписи блокчейн нужен для защиты от двойной траты.
POW это алгоритм консенсуса, нужен он для того, чтобы нода поняла, что именно этот блок подходит, а не какой-то другой, плюс дает возможность всем выкачать данные за те 10 минут, пока ищется нужный хеш. Да алгоритм защищает от подделки блока. А что мешает проверят не pow, а просто проверить подписи и принять блок? (другой вопрос, что блокчейн, пакует конкретные транзакции, но можно же выкачивать просто транзакции и проверять сколько влезет)
Зачем нужен PoW без блокчейна? Вы произнесли слово консенсус, но не объяснили, как он у вас реализован, что же всё-таки делать ноде С в описанной выше ситуации, чтобы не допустить двойную трату.
нода С ничего не может сделать, потому что в описанной ситуации нет алгоритма консенсуса. если вы намекаете на блокчейн, тогда его надо еще скачать
ноде С с
ноды А и с
Ноды Б, а это уже консенсус, так можно тогда выкачивать не блоки, а просто транзакции и проверять подписи.
хорошо, тогда просто будем каждый следующий блок транзакций называть i++, разница не поменялась и пока блокчейн не нужен.
Ага. Цепочку блоков вы уже придумали, правда, блоки у вас пока ещё не связаны друг с другом криптографически. В реальных криптовалютных сетях блоки распространяются не мгновенно. И может случиться так, что какое-то время в сети могут существовать две цепочки, одну из которых придётся впоследствии отбросить.
То есть, майнящая нода A создаёт свою цепочку блоков с номерами 100, 101, 102, и майнящая нода B создаёт свою цепочку 100, 101, 102. При этом блок 100 одинаковый для обеих цепочек, а блоки 101 и 102 - разные.
Нода C, принявшая блоки 101 и 102 из этих разных цепочек должна как-то понять, какие блоки к какой цепочке относятся, а номера-то у них одинаковые. Как же без криптографической связи блоков понять где какая цепочка?
Более подробно эта ситуация описана
здесь в главе Форки блокчейна.
Да, вы описали ситуацию rollback в распределенной системе, в которой определенный алгоритм определят при каких условиях будет откат цепочки или записи в журнал.
Я вам про другое говорю - есть транзакция, она одна, в ней подпись. ее выкачивает вся сеть. что отбрасывать? проверили подпись, значит она валидная. rollback не нужен.