В каком-то смысле может ты и прав, посмотрим

Похоже в плане алгоритма генерации очень (передача юзеру coinbase и списка хэшей транзакций), но остальное уже нет. К примеру, доступ к элементам по индексам вместо использования именованных полей - это очень глупо. Заранее определять в протоколе, что N-ным элементом массива обязательно должен быть merkleroot - это пример тех костылей, о которых я говорю.

Такое просто недопустимо.
В этом я с тобой полностью согласен. Впервые посмотрев на стратум, я был в лёгком недоумении почему чешский программист так сделал. Может быть так он решил сократить объём передаваемого трафика, сэконеомив на именнованных полях

Но это такой мизер, которым можно было бы пренебречь в пользу расширяемости и элегантности протокола.