Aleck, вы рассуждаете о протоколе и алгоритме с позиции старой идеалогии централизации, когда клиенты общаются с сервером с фиксированной версией и правилами.
В 'протоколе bitcoin' формально необходимо фиксировать очень не много - метод организации распределенной mesh-сети, идеологию организации блоков в цепочку, организация эмиссии, поддержка транзакций и контроль за их проведением (есть пока очень серьезное искусственно введенное ограничение - в транзакициях вида OP_EVAL или что то аналогичное, если уже не снято в 0.5 версии).
Все остальное оставлено на фантазию сторонних и независимых разработчиков! Ограничение размера данных в блоке? - константа в 1 миллион байт в исходниках, легко меняется. Как только его станет не хватать, первыми это заметят пулы майнинга и быстренько поправят (остальные все равно будут принимать такие блоки).
Размер транзакции сейчас зависит от фантазии и здравого смысла разработчиков официального клиента. Вы можете скомпилировать версию клиента с другой величиной минимальной комиссии (так же константа в исходниках), или даже убрать в коде вычисление ее в зависимости от сложности транзакции. Просто когда-нибудь наступит момент, когда транзакции с низкой комиссией будут игнорироваться пулами майнинга (например в конце 2012 года когда будет уменьшена награда за майнинг с 50 до 25 монет и пулы будут финансово заинтересованы в высоких комиссиях - кстати очень нехороший момент и 'уязвимость' сети в глобальном смысле).
Если создать в чем-то не верный блок, то пулы майнинга его не примут при формировании нового блока 'как предыдущий в цепочке' и значит транзакции, размещенные в этом блоке (кажется не все а неверные по мнению этих пулов) не станут получать подтверждения (в клиенте у всех транзакций показывается число блоков, размещенных в цепочке после блока, в котором разместилась транзакция) - первый критерий инвалидности транзакции именно количество подтверждений.
Способ организации mesh-сети не фиксирован, какой клиент подключается к другому и по какому алгоритму, решает каждый клиент, это просто не принципиально, откуда был получен IP-адрес клиента, из настроек, из кеша/истории, или irc-канала или непонятный, новый для меня, dns-seed...
p.s. Если я правильно помню, основной набор правил был сформулирован и опубликован Сатоши в объемном pdf файле, ссылки пока найти не могу, но в вики наверняка он есть.
p.p.s. на данный момент, пока проект bitcoin развивающийся, у него есть узкие места централизации - домен bitcoin.org, его владельцы, и наверное его разработчики (владельцы аккаунта на sourseforge и git). Уже благодаря наличию финансовой заинтересованности некоторых/многих участников, таких как, например, крупнейшие пулы майнинга и обменные биржи, мониторящих изменения в клиенте и возможно самостоятельно перенося изменения из основной ветки кода клиента в свою. При появлении серьезных расхождений в коде с идеологией как минимум будут возмущены этим положением.