нужно использовать только транзакции из пула, если приходит блок в котором есть транзакции которых нет в пуле то он не принимается как "пока не валидный"
а чтобы обогнать нужно плодить свои транзакции
Не обязательно плодить свои.
У вас цепочка из 300 блоков из которых я хочу переписать 200. Внутри этих двухсот блоков допустим 500 транзакций.
Я распихаю эти 500 транзакций по своим 400 блокам и анонсирую свою цепочку. На каком основании вы мою более длинную цепочку отвергнете?
какой вообще в этом смысл? он не получит за это ничего
До тех пор пока ваш блокчейн это "Неуловимый Джон", все будет работать так как вы задумали: все узлы будут честными. Как только коины из вашего блокчейна можно будет конвертировать во что-то осязаемое (хоть в доги), сразу появится соблазн начать делать "двойные траты".
То есть отправить монеты на биржу, вывести с биржи доги, переписать блокчейн с нужного места по новой, снова отправить те же самые монеты на биржу...