Я нашел много реализаций Blockchain в сети, но являются ли они истинными Blockchain, которые могут масштабироваться?
Здесь мы можем видеть, что блокчейн запускается как массив
var blockchain = [getGenesisBlock()];
Здесь мы можем увидеть ту же реализацию:
constructor() {
this.chain = [this.createGenesis()];
}
Эта статья также рекомендует:
constructor(genesisNode) {
this.chain = [this.createGenesisBlock()];
Однако готова ли какая-либо из этих реализаций к масштабированию?
Технически, согласно maerics ,
максимальная длина массива в соответствии с ECMA-262 5-е издание
спецификация связана беззнаковым 32-разрядным целым числом из-за
Абстрактная операция ToUint32, поэтому максимально длинный массив может иметь
232-1 = 4 294 967 295 = 4,29 млрд элементов.
Размер не проблема. Ethereum использовал «только» 7 миллионов блоков , биткойн «только» 500k , поэтому места на будущее достаточно. Реальная проблема, о которой я думаю, это то, сколько времени потребуется, чтобы прочитать последний элемент массива, и будет ли это масштабируемым?
В блокчейне структуре «Блок» всегда нужно читать хэш последнего блока, поэтому я предполагаю, что при масштабировании это занимает все больше и больше времени.
Что бы делали Биткойн и / или Эфириум, если в их массиве Блоковых блоков больше нет места для хранения блоков? Будет ли конец цепочки блоков там?