Проблема
В настоящее время в Bitcoin BLOCKSIZE дебаты вызывает озабоченность по поводу будущей масштабируемости Bitcoin. Hardforking Bitcoin иметь больший bocksize не имеет необходимой поддержки со стороны сообщества. Недавний ETH / ETC hardfork Фиаско показал, что hardforks являются проблематичными и увеличение сделок не должно быть сделано трудно разветвление Bitcoin ядра, если вообще возможно.
Который поднимает вопросы:
1. Что мы можем сделать, чтобы увеличить количество операций, которые Bitcoin может поддерживать без hardforking?
2. Можно ли увеличить количество транзакций в секунду поддерживается без увеличения размера блоков в blockchain?
Я думаю, что ключ лежит в Переизобретая mempool.
Решение
Основное ядро Bitcoin компонент является mempool. Все операции, которые потенциально могли бы быть в будущем блока передаются в сеть и первоначально размещены в mempool каждого узла. На данный момент это mempool довольно просто, часто раздутой и хаотично. Я вижу способ изменения mempool поэтапно, так что Bitcoin может поддерживать гораздо больше транзакций в секунду только с мягкой вилкой требуется.
Дважды затрачивает происходит, когда кто-то пытается провести такой же Bitcoin дважды. В настоящее время первой сделка, которая попадет в blockchain выигрывает гонку двойной провести время - это, как правило, сделка с самым большим гонораром добычи. Именно в mempool, что удвоит проводит впервые обнаружены. По вновь работает как mempool управляет двойной тратит, & позволяя исключения удвоить затрачиваешь мы сможем значительно улучшить скорость транзакций Bitcoin и поддержку новых функций, такие как крупные микро-платежи и более анонимные / частные платежи.
Шаг 1: Включите mempool в второй «быстрый» blockchain с фиксированной длиной.
В тот момент, когда новая транзакция вещание, он получает проводится в mempool каждого Bitcoin узла: каждая сделка, которая не нашла свой путь в блок получает удерживаемый в памяти каждого Bitcoin узла в сети - это является mempool. Когда шахтер шахты блока она выбирает лучший оплачивая сделки от mempool и помещает их в своем новом блоке. Часто многие сделки застряли в mempool, потому что плата по сделке является слишком низкой для шахтер хотеть, чтобы поместить его в блок. Это стало гораздо хуже, поскольку блоки становятся полностью.
Совокупность сделок в mempool в настоящее время неупорядоченная во время, а не коллективно структурировано. Первый этап будет для каждого шахтера, когда блок добывается также шахтный mempool-блоки. Этот mempool-блоки будут содержать какие-либо новые сделки, которые не были включены в основном blockchain. «Mempool-blockchain» может быть защищен от текущего ядра blockchain и подписаны действующим шахтера - это может быть сделано в ряде направлений и семантика довольно проста (я не буду вдаваться в подробности здесь). Там не было бы PoW нужен как ПР, необходимой для добычи блока-достаточно.
Mempool-блоки также должно быть сделано более быстрыми темпами, то основные блоки. Текущий активный шахтер может производить блоки «по требованию», как сделка повернуть вверх. Это позволит быстро подтверждение крошечных Bitcoin сделок, где люди не должны ждать подтверждения (то есть покупка кофе с Bitcoin). Шахтер, который добывали последний блок будет нести ответственность за создание этих небольших быстрых mempool-блоков по требованию до следующего основной блок не добывается. Намерение было бы реализовать mempool-blockchain подобным образом к разработке протокола в «Bitcoin-NG».
Mempool-blockchain должно быть кратковременным. Выживший около 6 месяцев в общей сложности. Mempool-blockchain будет 6x24x30x6 = 25920 «ядро» блоков в длину. Любая mempool-блок старше 25920 основных блоков может быть безопасно выброшен.
Шаг 2: Re-работы, как дважды проводит работу.
Усовершенствованная mempool-blockchain теперь обеспечивает время заперта цепочку сделок, которые еще не были установлены в основном blockchain.
Новые правила:
1. Действительная сделка в mempool-blockchain выигрывает любую двойную гонку тратить деньги. Поэтому при покупке кофе с Bitcoin, вам нужно будет только подождать несколько секунд для для подтверждения в mempool-blockchain.
2. Действительный двойной затрачивает может (и должен) происходить до тех пор, как они эквивалентны первоначальной сделки или набор операций и уменьшить размер или сложность ядра blockchain.
3. Любого противоречивыми двойные израсходует отвергаются от будущих mempool блоков по шахтеру и сети.
Шаг 3: Сделайте ядро / шахтеры соблюдения новых правил двойных расходов.
Это мягкая вилка.
Вызывая шахтер принять во внимание, что новые правила будут вызывать мягкую вилку Bitcoin ядра.
Сообщество и добыча консенсус должны произойти прежде чем это произойдет. Однако, как это мягкая вилка, только большая часть добычи власти должны были бы поддержать изменения для того, чтобы добиться успеха.
Шаг 4: Обеспечить стимулы для Bitcoin пользователей Измельчите сделки в mempool
Простой пример:
1. Адам 100000 Satoshi, Боб не имеет Satoshi, Кэррол не имеет Satoshi.
2. Адам посылает 99990 Satoshi Бобу (и от 10 до шахтера, как сборы). Сделка проходит в mempool blockchain - но не основной blockchain как плата является слишком низкой.
3. Затем Боб на посылает 99980 Satoshi в Кэрролл (и от 10 до комбайна). Сделка проходит в mempool blockchain - но не основной blockchain, потому что плата слишком низкая.
4. Конечный результат будет 2 сделкой, 20 Satoshi для шахтера и 99980 для Кэрролла. Адам не Satoshi, Боб не имеет Satoshi. Это все записано в mempool blockchain - но не основной blockchain.
5. Адам, увидев эту сделку может теперь создать обоснованную двойную сделку тратить деньги. Адам создает новую транзакцию, которая отправляет 99985 Satoshi на Кэрролл, 15 Satoshi к шахтеру и держит 5 Satoshi для себя. Это опять-таки получает записывается в mempool blockchain.
6. шахтеры могут видеть, что новый сингл транзакция Адама согласуется с предыдущими 2 сделками, предлагая более высокую плату добычи. Шахтер принимает эту сделку в своем новом основном блоке.
7. Две операции были успешно подавлены в одну транзакции со следующими преимуществами для всех:
++++ Количество сделок в основной blockchain уменьшается за тот же чистый результат.
+ Каждый получает повышенный уровень анонимности.
++ Шахтер получает повышенную плату за одну транзакцию.
++ Адам получает, чтобы сэкономить на сборы.
- + некоторая информация теряется после времени.
Пример из молнии сети:
1. Даррен покупает контент по подписке на оплату за просмотр основы с использованием Bitcoin микро-платежей для каждого вида.
2. В течение нескольких недель Даррен отправляет много отдельных небольших сделок с его поставщиком контента & платит небольшую плату шахтера каждый раз. Каждая из операций Даррена хранится в mempool-blockchain - но не в ядре blockchain как его сборы по каждой сделке является слишком низким.
3. Каждый раз, когда Даррен отправляет новый микроплатежей, он также создает сделку раздавливания, которая заменяет все свои операции на сегодняшний день с одной крупной сделкой.
4. После того, как 42 микро-платежи суммы горной платы, создаваемой разовый платеж на раздавливании является приемлемым для шахтера, который помещает одну транзакции на раздавливании в основном блок.
5. 42 операция была успешно подавлена в одну транзакции со следующими преимуществами для всех:
++++ Количество сделок в основной blockchain уменьшается на 41 для того же самого чистого результата. (97% сжатие данных Bitcoin).
++ Шахтер получает повышенную плату за одну транзакцию.
++ Даррен получает, чтобы сэкономить на сборы.
- + некоторая информация теряется после времени.
+++ Сети / Side-сети, такие как сети молнии стали в значительной степени устарели.
Более сложные примеры:
Более сложные деревья сделок может быть «обвалились» в меньшее количество более простых операций. Компьютеры довольно хорошо, что такие вещи, и это выходит за рамки этого документа, чтобы показать все перестановки и комбинации этого. Значительное сжатие объема данных, необходимых для хранения в основной blockchain может быть достигнуто с помощью этой конструкции.
Предоставление Bitcoin выбора пользователей:
1. Если вы делаете крупную сделку (покупку Тесла) с Bitcoin, то вы бы поставить достаточно большой гонорар на сделку таким образом, чтобы он перешел в основном blockchain на следующем блоке.
2. Если вы делаете небольшие сделки (микро-платежи), то вы можете разместить сделку в mempool-blockchain для дальнейшего уплотнения и дробления.
3. Со время mempool-blockchain станет более доверенным предоставлением новых возможностей использования микро-платежей и другого вторичного использования (то есть краткосрочный смарт-контракты).
4. Конструкция имеет обратную совместимость с существующими бумажники / узлами, чтобы использовать новые возможности бумажники / узлы должны были бы быть улучшены - но старые бумажники бы функционировать.
Это работа продолжается, но я хотел бы, чтобы здесь, что думают другие. Могу ли я полное дерьмо или я на что-то здесь?