Белой книги на русском нет, её и на английском мало кто может прочитать. Написал её русский человек, который давно работает в университете в Бразилии, и говорит на португальском. Англоязычные господа пишут, что его английский понимают с трудом. Может быть потому, что он пишет не на простом, а на научном английском. Ну то есть практически на латыни. К тому же в белой книге нет самого главного - изложения алгоритма поиска тех двух старых пачек, на который должна сослаться свежая пачка.
Это была ловушка для читающих Белую Книгу вслух. Те слова вызывают демона, убивающего того, кто их произнес.
Попробовал прочитать про себя, дабы не вызывать демона.

В белой книге подробно рассмотрена ситуация, когда новая пачка ссылается на две пачки случайным образом. Недостаток чисто случайного подхода в том, что он позволяет существовать такому явлению, как "ленивая нода", которая тупо жалеет вычислительные ресурсы и все время ссылается на устаревшие пачки, не подтверждая свежие. Поэтому чтобы мотивировать узлы выполнять работу качественно, надо заставить их работать по стратегии сортировки пачек по высоте и очкам кумулятивного веса. Если пачка не подтверждается в течение некоторого времени, то узел может простимулировать вероятность подтверждения добавлением пустых транзакций. Стратегия может выглядеть так, берется пять произвольных пачек, из них выбирается две пачки с высокими очками. Данная стратегия может быть изменена в будущем, чтобы превентивно затруднить спам. Как то так. И да, я это не придумал, а прочел в белой книге. Страницы 6 и 7.
Код случайного выбора пачки мог бы выглядеть так:
static Random random = new Random(System.currentTimeMillis());
public static T randomTip(T[] tips)
{
int index = random.nextInt(tips.length);
return tips[index];
}
А вот это сам придумал

, в белой книге кодов нет.