Вот человек, автор криптовалюты Ethereum, в которую недавно инвестировали $18 млн.:
Вроде голова не маленькая такая. Как ему могло прийти в голову выбрать "копейку" величиной в 0.000000000000000001 (да да, 18 знаков после запятой)?
Ну ок, биткойн выбрал 8 знаков. Хрен с ним, они как бы претендуют на мировое господство и ограниченность эмиссии, со временем 1 биткойн будет стоить (якобы) $1 млн. и 1 копейка будет равна 1 центу.
Бутерин решил перещеголять биткойна и сделать круче -- чего там, давай 18 знаков.
Ну ну епрст! Даже в 8 байт это дерьмо не запихнуть -- ведь может быть не только копейка но и 100 млрд. и 1 копейка (wei) их. Нейтивной поддержки для таких типов нет, т.к. масимум 64 бита процессоры поддерживают. Нужно только хранить в типах производных -- как BigInteger (ну в .Net есть 128-битный decimal, но преобразования в/из HEX все равно осложняются).
А главное зачем? Он бы хоть головой подумал: если даже 1 единица будет стоить не 4 бакса, как сейчас, а все деньги мира -- то есть 1 Ether будет стоить $ 135 триллионов, то даже в таком случае для обозначения 1 цента достаточно 135'000'000'000'000.01 -- 16 знаков после запятой.