Консенсус блокчейна без наличия всех блоков в каждом узле
Мне было интересно, могут ли узлы, которые формируют блокчейн, достичь консенсуса, просто имея часть содержимого блокчейна. Я имею в виду, что реальные реализации блокчейнов предполагают, что каждый узел содержит блок-цепочку дырок, таким образом они могут проверять транзакции без необходимости в ком-либо еще, и мой вопрос: есть ли способ, которым они могут проверить транзакцию, если у них есть только часть блокчейна не все блоки? Большое спасибо.
1 ответ
Не с "частью" цепочки блоков... но да, с использованием так называемых "снимков", которые похожи на соответствующее состояние цепочки блоков в данный момент времени. Это еще не полностью реализовано во многих протоколах, но возможно и, как я полагаю, используется парой
Нет, потому что каждый узел может потенциально выполнить злонамеренную атаку, например, двойное использование одной и той же транзакции. Я покажу это на практическом примере: я должен 2 биткойна по транзакции А, и я хочу использовать свой 2 биткойна дважды, поэтому я хочу сделать транзакцию для вас, называемую транзакцией B, и транзакцию для другого парня, называемого транзакцией C. Если ваш У узлов и майнеров есть только часть транзакции, которую они могли бы проверить в проходе монет A -> B, а также в проходе монет A -> C. И это будет искажением всей цепочки блоков.
Также, если у меня нет блока A в моей блокчейне, как я могу доверять достоверности ваших данных (монет)? Вы могли бы сгенерировать и отправить этот блок (например, печатать фальшивые деньги в реальной жизни).