Bitcoin: одновременное запечатывание блока с повторяющимися транзакциями — как?
Допустим есть транзакции 1,2,3,4,5, которые появляются постепенно.
Первый майнер запечатывает в блок транзакции 1,2,3. а второй 1,2,3,4,5(4 и 5 появились позже начала работы первого майнера) т.к. начал позже. Когда первый запечатает блок(допустим раньше второго), транзакции 1,2,3 станут подтверждены. И тогда блок с транзакциями 1,2,3,4,5 по-любому станет невалидным к моменту создания.
Какие нюансы в работе системы я упустил и почему пришел к такой ошибке? Как это решается в настоящее время?
А в чём ошибка? Попадут 4,5 в след. блок. Транзакции между всеми участниками распределяются, просто кто-то кто нашел нужный хеш подтверждает всё что есть у него, остальное на следующий блок остаётся.
Суть вопроса в следующем - получается второй майнер проделывает пустую работу? Ведь когда блок(1,2,3) уже подтвержден, то блок(1,2,3,4,5) будет наверняка ложным, т.к. ещё раз подтвердить транзакции (1,2,3) нельзя. Или можно(просто комиссия в вознаграждение майнеру будет взята из 4 и 5 транзакции, а из 1,2,3 не будет учитываться)?
Кто первый встал, того и тапки. Но, если оба майнера запечатали блок примерно в одно время, то сеть разделиться на 2 лагеря: до кого какой блок дошёл первым. Ну а дальше уже вступает механизм наибольшей цепочки. Т.е. валидность цепочки определиться последующими блоками, где их станет больше, то и принимаем за истину.