int вполне себе еще долгое время сможет вмещать в себя высоту блокчейна биткоина.
Отри wательное значение используется только для индикации отсутствия блоков (или о том, что переменная указывающая на позицию (индекс) - не валидна)
--
Достаточно распространенное явление хранение индекса в знаковом типе данных. Например многим знакомый js - в случае когда искомый элемент не найдет, возвращает -1
array.indexOf(value) === -1