Блок-Size Проблема
Основной проблемой при повышении лимита блок-размера, что blockchain будет расти неприемлемыми темпами, что узлы в конечном итоге не быть в состоянии поддерживать. Таким образом, в настоящее время 60GB blockchain в конечном счете станет 1TB, 100TB, и больше, как принятие растет, и это будет ускорено с увеличенным размером блока.
Однако, для того, чтобы валюты, чтобы быть полезными люди должны быть в состоянии потратить. Искусственный 1MB предел блок-размер кладет крышку на это, и поэтому из-за роста мы вскоре ударит этот искусственный барьер, и в этот момент он не будет возможно для всех, кто хочет выполнить операцию, чтобы быть в состоянии выполнить транзакцию независимо от сборов, уплаченных. Это хорошо для шахтеров в краткосрочной перспективе, так как плата будет зависеть, но плохо для них самих и для экономики Bitcoin, потому что опять же, валюта только полезно, если вы можете потратить.
Там нет никакого способа вокруг сохраняя всю историю транзакций мира в blockchain, и нет никакого пути вокруг, что она будет носить массовый характер, если во всем мире принятие происходит. Satoshi знал это, что и считал, закон Мура позволил бы улучшить технологию достаточно быстро, где место для хранения всей цепи не будет проблемой для тех, кто хочет работать полный узлов, и я считаю, что он правильно. Однако, если Bitcoin широко применяется только отборная группа полных узлов, посвященная этим будет иметь возможность обрабатывать такое количество данных. *
Satoshi знал это, и поэтому в его оригинальной статье он предвидел, что большинство клиентов не будет заботиться о всей транзакционной истории мира, и вместо этого будет только заботиться о значениях в каждой учетной записи. Таким образом, он упомянул концепцию узлов "обрезка" blockchain. Однако его идея заключалась в том, что этот процесс обрезку бы от blockchain, и поэтому в настоящее время, чтобы сократить цепочку вы должны либо загрузить всю цепочку и обрезать его самостоятельно или загрузить отсеченную цепочку из надежного источника. Так как основной принцип конструкции Bitcoin является то, что он пытается устранить потребность в доверии, любой узел, который соглашается с этим необходимо загрузить полную цепочку, проверить его, и подрезать его.
"Обрезка блоков" Предложение
Добавьте специальный блок через регулярные промежутки времени в blockchain называется "Обрезка блок", Этот блок будет устраняет необходимость загружать или сохранять всю цепочку частичных узлов, но все же дает им очень похожий уровень доверия, как загрузить полную цепочку.
Обрезка блоков Требования
1. Обрезка блок должен быть специальный блок, который происходит каждые X блоков
а. X определяется голосов от сообщества. Например, чтобы иметь блок обрезки примерно один раз в неделю он может начаться в 6 * 24 * 7 = 1008
2. Обрезка блок должен содержать информацию о регулярных транзакций так, чтобы не нарушить нормальный бизнес
3. Обрезка блок должен содержать прилагаемый список всех адресов, содержащихся баланс вместе с соответствующим балансом, как в предыдущем блоке. **
а. Исправленные остатки не должны включаться в расчет хэш блока ***
б. Хэш измененных остатков должны быть включены в блок ***
с. Хэш измененных остатков должны быть включены в расчет хэш-блока ***
д. Остатки не должны принимать во внимание сделки для этого обрезки блока ***
4. Обрезка блок должен быть принят только клиентами, если он соответствует всем требованиям обычных блоков плюс вышеуказанных требований.
а. Крышка блока размера не будет рассматривать прилагаемый список остатков в расчете блока размера
Проблемы
Основная проблема состоит в том, если кто-то злонамеренно надувается количество адресов, чтобы увеличить размер подрезки блоков. Например, они могли бы взять 10 биткойнов и разделить их на 1 млрд адресов с 1 Satoshi в каждом как атаки, которая будет дуть размер обрезки блока от 13.5MB до 27GB. Это, как правило, можно предотвратить из-за операционные издержки и крышки блока размера. Однако, если крышка блока размера был удален полностью и злоумышленник добывал блок и послал сделки через с нулевыми налогами, это было бы теоретически возможно. В процессе выполнения этого они будут болеть сами, так как они не будут бросать только деньги на ветер, но и девальвирует валюту они значительно инвестированного в их добыче полезных ископаемых (как это требует много энергии, чтобы добывать блок в настоящее время) , Тем не менее, из-за этой проблемы рекомендуется, чтобы предел размера блока будет полностью удален.
Результаты по blockchain
Если Обрезка блоки были реализованы сегодня, влияние на весь размер blockchain будет минимальным. Например, если мы предположим, что максимальный ток блока размером 1 МБ используется для каждого блока, Обрезка блок будет около 14.5MB **. Если блок обрезка был установлен происходить еженедельно (каждые 1008 блоков), рост-курс blockchain будет только 1,34% быстрее, чем без обрезки блоков (1021.5MB / неделе против 1008MB / недели). Таким образом, полные узлы будут затронуты только это изменение с помощью небольшого количества.
Однако эффект для частичных узлов очень заметен. Вместо того, чтобы загрузить полную 60GB blockchain и обрезку, шахтерам нужно только загрузить блоки назад к последним обрезкам блоку. С размерами блока 1MB и обрезке блока еженедельно, это будет варьироваться от .0145GB до 1.0215GB. Кроме того, как только следующий корректный блок обрезка поступает, узел может очистить все предыдущие блоки. Таким образом, требования к памяти для обрезают blockchain будет гораздо более управляемым и последовательным, так как они будут расти только тогда, когда Bitcoin принятие / использование увеличивается.
Что еще более важно, это решение устранит многие проблемы, о повышении искусственного ограничения блока размера. Это происходит потому, что для хранения / загрузки требование для узлов больше не будет основываться на количестве сделок в истории мира, но вместо того, чтобы быть на основе количества адресов с балансом и небольшой частью недавних сделок. Это поддается узлы быть гораздо более готовы принять большие и большие блоки транзакций, так как им нужно только, чтобы держать их до следующего обрезки блока. Например, 60GB очень низкий верхний предел для текущего требования хранения для каждого узла, как то, что полные узлы хранения прямо сейчас, а также то, что недоверчивы частичные узлы должны сначала загрузить. Чтобы получить это значение для частичных узлов, максимального размер блока может быть установлен в 50Мбы, что позволило бы току Bitcoin экосистемы, чтобы иметь возможность обрабатывать 50 раз больше операций, чем она поддерживает сегодня, в то же время не поставив никакого дополнительного бремени памяти на существующих узлах сегодня.
* Если все 7,125 миллиарда человек в среднем 1 сделку в день на 500 байт / транзакции (средний ток), размер blockchain увеличится на 3.5625 ТБ ежедневно
** На адрес Bitcoin составляет 20 байт (160 бит), и вы можете в настоящее время есть где-то от 1 до 21000000 SatoshiBTC, которые могут быть представлены без потери в 7 байт, поэтому оптимально вы можете сохранить текущий баланс одного адреса с 27 байт на адрес, или баланс всех адресов с 27 * numAddresses. В настоящее время существует около 500 000 адресов, которые давали бы минимальный обрезают размер блока 13.5MB. Проведение этого вперед, если бы все в мире были Bitcoin адреса, которые были бы 7,125 млрд * 27 байт = 192.375 Гб. Это может показаться большой, но положить вещи в перспективе, если все в среднем 1 сделка / день blockchain будет расти более чем на 18 раз больше ежедневно (3,5625 TB *).
*** Эти требования включены по соображениям производительности, чтобы сделать его менее дорогостоящим при добавлении новых транзакций в блок сокращения. Следуя этим требованиям, дает возможность добавлять транзакции без необходимости включать или пересчитывать полную информацию о балансе мира, чтобы вычислить ваш новый блок хэш.