Решение проблемы масштабируемости для Bitcoin
Что я пытаюсь решить? В настоящее время blockchain Bitcoin составляет около 140GB.
В 2011 году он занял 1 Гб, и это было предсказано тогда, что в 2020 году этот размер будет 4 Гб.
Как вы можете видеть, что это не 2020, и мы путь над предсказаниями размера.
В наше текущее время, чернослив узлы, которые делают блок меньше, но они не могут быть проверены без полного узла. И это полный узел становится экспоненциально больше, нам нужно, чтобы остановить это. Потому что, если мы не не частное лицо не будет иметь возможность хранить полный узел в его компьютере, и все полные узлы будут в частных многомиллионных компаниях. Это было в буквальном смысле будет конец децентрализации (или не централизация).
Что я предлагаю также удостоверяется blockchain имеет максимальный конечный размер, потому что сегодня blockchain может вырасти до любого размера без ограничений в то время как он приближается бесконечного размером!
Линейный рост иллюзия Segwit
-------------------------------------------------------
Это правда Segwit и Segwit2x является соглашением, которые обещают линейный рост blockchain размера. Но Segwit и Segwit2 только временные решения. Основной фактор экспоненциального роста не политика, как Segwit, но растущая популярность Bitcoin. Segwit был только придуман для того, чтобы встретиться с растущим спросом. И в ближайшем будущем, когда спрос продолжает расти, сообщество будет вынуждено изменить политику, либо соглашаясь на более крупные блоки, или сокращение продолжительности времени между блоками. Потому что если нет, то среднее время сделки будет поход до 10 часов или даже дней. Или, если вы находитесь в спешке, то вам придется заплатить за операцию в размере $ 5 или больше, так что ваша сделка будет на следующем блоке. И тогда Bitcoin-й значение будет, скорее всего, падение, потому что он будет дешевле использовать Paypal, или любую другую altcoin, которая все еще достаточно мало, чтобы управлять. Так Segwit так же хорошо, как это, может управлять только фиксированное количество сделок в течение определенного периода времени. После того, как растет спрос, Segwit не будет иметь выбор, но быть изменена, и это, как линейным рост становится экспоненциальным.
Сегодня наша blockchain растет со скоростью, которая намного быстрее, чем закон Мура! Это предложение будет способствовать росту набора для хранения на разумном количестве.
Короткий список того, что я собираюсь объяснить: Шаги, которые необходимо предпринять:
---------------------------------------------------------------------------------------------------------------------
(Детали не описаны в этом порядке)
1) Создайте пару ключей, называется Genesis пар, или сотворение, частный и публичный ключ, который будет публично известен всем, и все же его использование будет ограниченно и контролируется всеми. Ключ будет источником всех средств (точка А).
2) Сохранение генезис блок, необходимо его хэш-код. И лично я думаю, что его исторической ценности.
3) Объединить все блоки до самого последнего (не включая Genesis Block), и вырезать все промежуточные операции, удалив все сделки, и заменить их новыми сделки, посланных от А к каждому открытому ключу, который имеет средство в самом последнем блок, в сумме они есть. И подписать эти сделки с частным ключа в. И создать новый блок с этой информацией.
4) Этот комбинированные / обрезка Блок должен указывать на Бытие Блок хэш, и следующий блок, созданный должен указывать на хэш обрезки блоков. Случайное число, используемое для этого обрежет блока будет предопределено, это случайное число, как правило, используется для удовлетворения требования хэша сложности в этом случае не требуется, так как никакая установка трудности не является необходимой для этого блока, и предопределений его, этот блок может быть легко определены.
5) Загрузить отсеченный блок от другого узла или создать его самостоятельно, хэш-код будет одинаковым для всех, так как блок будет создан точно таким же везде.
6) сохранить определенное количество самых последних блоков, только в случае, если больше вилка blockchain обнаружена, а затем обрезают блок должен быть пересчитан.
---------------------------------------------------------------------------------------------------------------------
Теперь для более подробного описания:
У меня есть эта идея, чтобы решить эту проблему масштабируемости я хочу сделать достоянием общественности.
Если я не прав, я надеюсь исправить, и если я прав, мы весь выигрыш от него.
В настоящее время каждый блок в настоящее время хэшированный, и его содержимое хэш-блока, предшествующем его, это восходит к блоку генеза.
Что делать, если мы решим, к примеру, мы решили объединить и подрезать blockchain в полном объеме каждые 99,999 блоков к одному блоку (Бытие блок не включен в счет).
Как была создана эта работа ?: Как только блок 100000, сеть будет ждать специальный "обрезают блок"И пока этот блок не был создан и проверен, блок 100001 не будет принято каких-либо узлов.
Это обрезка блок будет подрезать все от блока 2 к блоку 100000, оставив только блок генеза. Блоки 2 через 100000, будет рассчитываться, чтобы создать суммированный до сделки всех сделок, которые произошли в этих 99999 блоков. (Это число п = 100000 может быть любое число согласованного сообщества, это не является существенным для этого предложения на работу)
И его хэш-указатель будет блок Genesis.
Этот блок теперь будет уточнен полными узлы (или созданные ими), который в случае принятия будет тогда готово принять новый блок (блок 100001, не включая обрежут блок в счете).
Новый блок 100001, будет использовать в качестве его хэш-указатель отброшенные блок как его ссылки. И граф начнет снова к следующим 100000. Следующая обрезка блок будет создан, его хэш-указатель будет ссылаться на Genesis Block. И так далее..
Таким образом, книга всегда будет максимум 100000 блоков.
Немного более подробно:
Все соответствующие мероприятия, необходимые для проверки ранних операций все будут сохранены в блоке обрезки. Единственная информация, которую вы потеряете в промежуточных сделках, а не окончательные сообществом уже приняты. Хотя происхождение средств не может быть известно, назначение сохраняется, а также проверка правильности, что сделки являются законными.
Например:
А = 2,3 BTC, В = 0 BTC, С = 1,4 BTC. (Блок 1)
Если A посылает к 2.3 BTC B. (блок 2)
И тогда В посылает 1.5 BTC до C. (блок 3)
Блок обрезка сообщит:
A->В = 0,8 BTC и А->С = 2,9 BTC.
Остальная часть информации, которую вы теряете, не имеет никакого значения. Никто не должен знать, что именно случилось, кто послал, кто, что, и когда. Все, что нужно это средство, в настоящее время принадлежит каждому ключу.
Примечание: Цепь сделки также необходимо будет переписать, чтобы удалить все промежуточные операции, он будет показывать, как если бы операции произошли из блока Genesis непосредственно к обрезанному блоку, как будто ничего и не существовал между ними. Это будет описано ниже более подробно.
Вы можете сохранить старые блоки на диске для более 10 блоков или так, на всякий случай больше блок цепи найден, но кроме того, что информация, которую она держит бесполезно, так как все было согласовано. И блок обрезка содержит все до остатков даты счета, поэтому мошенничество невозможно.
Конечно это отсечение блок может получить очень большим в будущем, это не будет очередным размером других блоков. Например, если каждый счет имеет только 1 Satoshi в нем, что является минимальным, то сумма счета будет максимальным. Учитывая сделку о 256bytes. Это будет означать, что блок обрезку бы приблизительно 500PB, что 500000 Terra-байт. Это теоретический сценарий, который не может произойти. (256bytes * 21M BTC * 100M (satoshis в 1 BTC))
Сценарий, который может быть решен путем создания минимальной платы транзакций, например: 100 satoshis, которые страхуют бы, что даже в наиболее маловероятном сценарии, в худшем случае блок обрезка будет 5pb в размере.
Что еще очень большое на сегодняшний день. Но без реализации этой идеи blockchain буквально не имеет конечный максимальный размер, и с течением времени стремится к бесконечности!
Кроме того, этот блок обрезку не нужно даже быть загружен, он может быть создан уже существующей информации, каждый полный узел сам по себе, путем:
1) объединение и обрезка всех предыдущих блоков
2) с использованием блока генеза в качестве хэш-указатель
3) с использованием заданного случайного числа "2", Который будет использоваться всеми. Случайное число, которое обычно добавляются к блоку, чтобы обеспечить трудности хэша-скорость блока, в не требуется в данном случае, так как вся информация может быть проверена с помощью каждого узла самого по себе через обрезку.
Это число также может быть использовано для идентификации этого блока в качестве обрезки / комбинированного блока, так как он является статическим.
4) Любая другая информация, которая необходима для SHA256 хэша, например, временный штамп может быть скопирован от последнего блока в блоке-цепи.
Эти шаги обеспечат каждый полный узел, получите точный хэш-код, как другие получили для этого обрезки блока.
И как я уже сказал следующий блок будет использовать этот хэш-код в качестве ссылки на хэш.
Создавая систему, как это, блок отсечение не должен быть создан в последнюю минуту, но постепенно с течением времени, каждый раз, когда новый блок приходит, и только тогда, когда последний блок поступает (блок 100000), она будет завершена, и хэшируются.
А так как этот блок всегда будет вторым, он должен идти по имени "Исход Блок",
Выше я показал способ минимизировать блоки на блок-цепи, чтобы уменьшить количество пространства, которое требуется на жестком диске, без потери необходимой информации.
Я добавил записку, сказав, что цепь сделки должна быть переписана, но я не давал много деталей к нему.
Вот как это будет работать:
Сотворение (Key Pair):
---------------------------------------------------
Проблема с изменением сделки и блоком-цепи, является то, что она не может быть сделана без знания секретного ключа отправителя средств для каждого счета.
Чтобы проиллюстрировать эту проблему: Если мы имеем ряд блоков цепей с последовательностью операций, которые являются → B → C → D, а также упростить проблему, все деньги были отправлены во время каждой операции, так что никаких денег не осталось в А или в, или С. И я был подрезать эти операции, путем замены их с A → D. Только эта сделка никогда не происходило, ни кто может создать его без секретного ключа в.
Существует, однако, способ обойти эту проблему. То есть, чтобы создать специальный счет под названием «сотворение», в этом аккаунте Private Key и Public Key будет доступны для всех.
(Конечно, счета на самом деле не существует в Bitcoin, когда я говорю, что я объяснить на самом деле означает это закрытый ключ пара / Public)
Эта учетная запись будет источником всех средств
Но этот счет не будет иметь возможность отправлять или получать какие-либо средства в обычном блоке, он будет заблокирован - занесен в черный список. Таким образом, никто не может преднамеренно использовать его. Единственный раз, когда эта учетная запись будет использоваться в блоке обрезки, a.k.a Исход блока.
При создании новых отсеченную блока цепи и цепей транзакций, все средства, которые в настоящее время на счетах должны быть законными, и было бы трудно, чтобы узаконить их, если они не были отправлены из законного закрытого ключа, который может быть проверен. То есть, где Бытие приходит. Все средства, в Исходе блоке будут показывать, как если бы они возникли и были отправлены с частным ключом Genesis для создания каждой сделки.
Средства, которые посылаются, должны точно соответствовать средств, существующих в самой последней книге в блоке 100000.
Таким образом, Исход Блок может быть проверено, и сотворении не может дать свободные деньги в любом случае, потому что если кто-то пытался, он бы не прошедших проверку.
Теперь следующая проблема состоит в том, что число Bitcoins продолжает расширяться и поэтому средства в сотворении необходимо расширить, а также. Это может быть сделано, показывая, как если бы эта учетная запись является учетной записью, которая добывает монеты, и это будет только счет в Исходе блоке, который «мин» монеты и получает бонус добычи. В Иом блоке все монеты, добываемые реальные шахтеры покажут, как если бы они были заминированы Бытиями и послали шахтер через обычные сделки.
Я надеюсь, что это предложение будет реализовано как можно скорее, чтобы мы могли избежать проблем, которая растет с каждой минутой. Он был воспитан около 6 лет назад, когда blockchain был только 1 Гб в размерах, никто не предполагал тогда, что она будет расти так быстро, и проблема была проигнорирована.
Сегодня все решения, примененные были реализованы с помощью программного обеспечения, а не на самом blockchain, эти решения не являются полезными в долгосрочной перспективе.
Полный узел должен быть общедоступным для всех, и в этом случае, никто не будет иметь емкость жесткого диска для хранения. Это сделает нас более зависимыми от частной корпорации, чтобы сохранить blockchain, что приведет нас быстро к централизованной валютной платформе. К тому времени это будет слишком поздно, и корпорации будут иметь полный контроль того, что произойдет дальше.
Пожалуйста, примите эту проблему серьезно и работать со мной, чтобы предотвратить его, пока еще есть время.
Точные детали могут быть разработаны на более позднее время, но сейчас мы должны по крайней мере, признание того, что эта проблема является очень тяжелой, и должна быть решена в течение года. Я представил решение, если кто-то имеет более одного, то пусть его / ее шаг вперед, но в любом случае решение должно быть реализовано как можно скорее.
Я дал основное предложение, я уверен, что есть среди нас те, с большим техническим пониманием к нюансам, как должна быть реализована эта идея. Я рассчитываю на их помощь, чтобы увидеть это через.
Адам Шем-Тов