alex-ru
Well-known member
Все криптовалютные сообщества постоянно обсуждают новые технологии и решения в сфере электронных платежей. И всегда, когда в сообществе Dash о них заходит речь, опытные пользователи и новички постоянно задают вопросы о перспективах Dash. Эти вопросы постоянно рассматриваются на наших форумах, на Reddit, в чате Discord, а также на реальных встречах поклонников криптовалюты и Dash.
Данный пост отражает только моё личное мнение и мои же личные соображения по некоторым вопросам. Но всё же, хочу сказать, что после немалого количества наших дискуссий, я уверен, что большинство разработчиков Dash согласятся со мной, и можно смело говорить об определённом консенсусе в затронутых вопросах.
Естественно, что эти темы интересуют не только поклонников Dash. Многие из упомянутых технологий уже “проданы” в качестве спасательного круга, который мог бы решить много проблем и избавиться от недостатков, коими грешат криптовалюты, особенно Биткойн. Но, напомню, мы – это не Биткойн, и наши приоритеты, как и наша стратегия, отличаются некоторыми важными аспектами, а именно – мы в Dash стремимся устранить сами причины основных проблем, а не лечить, или же пытаться обойти их симптомы.
Основные проблемы Биткойна часто связаны с предельным размером блока в 1 Мб, что ограничивает максимальную пропускную способность транзакций в сети. Пользователи и торговцы сталкиваются со следующими симптомами: высокая комиссия, долгое ожидание подтверждения и транзакции, надолго застрявшие в сети Биткойн. Если бы размер блока не был ограничен, все указанные симптомы не проявлялись бы.
Наши планы on-chain масштабирования означают, что по мере необходимости мы будем увеличивать максимальный размер блока и, таким образом, сумеем полностью избежать упомянутых симптомов. Это и есть наш приоритет, и мы уверены в успехе его реализации. А уверены мы в этом потому, что у нас есть большая сеть Мастернод, экономически заинтересованных в масштабировании. Вознаграждения, получаемые при запуске Мастерноды, достаточно высоки, чтобы обеспечить необходимые средства и при этом иметь возможность получать приличную прибыль. У Биткойна, напротив, ноды работают исключительно благодаря добровольцам и, таким образом, масштабирование сети происходит гораздо медленнее. Обычные пользователи Dash совершенно не обязаны работать как ноды сети, поскольку они могут задействовать SPV или приложение “Лёгкий клиент”. Evolution станет следующим шагом в этом направлении (с точки зрения пользователей, “Dash Эволюция” - это будет “SPV на стероидах”.)
Некоторые криптовалюты продемонстрировали значительный рост курса, последовавший за их заявлениями о намерении внедрить эти технологии. Подчеркну, что повышение курса не является нашим в команде Dash приоритетом, и наши технические решения не направлены на сиюминутное увеличение капитализации. Однако, это будет происходить естественным образом в долгосрочной перспективе, так как мы поставляем необходимый и качественный программный продукт для сети, для пользователей и для торговцев.
SegWit
SegWit, вероятно, является самым обсуждаемым изменением в Биткойне. Оно оказалось настолько спорным, что привело к полному расколу Bitcoin сообщества. Закончилось всё тем, что Биткойн разделился на две цепи, одна с SegWit (BTC) и одна без SegWit (BCH). Состояние, в котором сейчас находятся эти два лагеря, иначе как войной не назовёшь.
Можно назвать несколько качеств у SegWit, которые и привели к этому расколу. Многие из них являются техническими, но многие, кажется, можно назвать политическими. Однако, детали аргументации обоих лагерей не являются задачей моей публикации.
Я хотел бы поделиться с сообществом Dash одним собственным выводом по этому вопросу: Мы не должны безоговорочно заимствовать SegWit в его нынешнем виде, так как полезность этой технологии не вполне очевидна. Полемика вокруг SegWit возникла не на пустом месте, и у обоих лагерей были очень веские причины для борьбы за одно из двух направлений. Следует тщательно оценить, насколько нам нужен SegWit, и существуют ли альтернативные решения имеющихся проблем.
Сеть Lightning / Сети Off-chain
Есть много вопросов по Dash и Lightning. Они часто идут в комплекте с SegWit, поскольку они, по-видимому, рассматриваются как единое целое или, по крайней мере, как сильно зависящие друг от друга. Однако на деле это две разные независимые технологии. Благодаря SegWit проще реализовать Lightning (и другие off-chain сети), поскольку SegWit устраняет многие недостатки, вызванные текущей “неповоротливостью” транзакций, но это касается также и решений других проблем, являющихся следствием этой “неповоротливости”.
Lightning обещает снизить комиссии до минимума, сделать транзакции мгновенными и в то же время снять нагрузку на блокчейн и сеть P2P.
Однако, высокие комиссии и медленные транзакции являются прямым следствием слишком малого размера блоков. Поэтому, добывая новые блоки, майнеры стремятся получить максимум прибыли, а это означает, что они предпочитают транзакции только с самыми высокими комиссиями, и не включают все транзакции с низкой комиссией. Поэтому, если нам удастся сделать on-chain масштабирование (увеличить максимальный размер блока), эти два качества Lightning станут просто ненужными. Как я уже написал во введении, такой подход и является нашим главным приоритетом.
В то же время у Dash уже есть InstantSend, а эта функция уже сегодня может легко конкурировать с обещанной скоростью от Lightning. У InstantSend есть некоторые ограничения, мы все их знаем. Их устранение мы считаем более существенным приоритетом, чем пытаться использовать технологию off-chain. У нас в запасе уже есть некоторые идеи насчёт исправления этих проблем и улучшения работы пользователей с InstantSend.
Снижение нагрузки на блокчейн и P2P-сеть не являются для нас достаточным аргументами, чтобы утверждать, что Dash тоже должен задействовать технологию Lightning. Масштабирование on-chain всегда будет иметь для нас более высокий приоритет, причём это будет достигаться не только увеличением размера блока, но также и другими решениями для уменьшения размеров транзакций.
Lighting уж точно не может претендовать на звание “неуязвимого решения”. Там остаётся ещё много нерешённых проблем, которые могут затруднить жизнь пользователям. Например, чтобы убедиться в получении платежа, вам необходимо блокировать средства в каналах и оставаться в сети 24/7. Это неприемлемо в существующих условиях, когда большинству пользователей криптовалюты нужен функциональный мобильный или веб-кошелёк. Такой подход абсолютно несовместим с теми задачами, которые стоят перед нашей Dash Evolution.
RBF (Replace by fee)
Функция RBF у Bitcoin пыталась решить проблему “транзакция-навсегда-зависла- в-мeмпуле (пуле памяти)”, с которой Биткойн сталкивается каждый раз при переполнении блоков. Проблема проявляется, когда вы отправляете транзакцию в сеть, в каждый пул памяти узла/майнера, но в то же время комиссия за транзакцию такова, что майнеру невыгодно включать её в блокчейн.
В результате транзакция очень долго остаётся неподтвержденной, что делает невозможным использование тех же самых входов/средств в любой другой транзакции. Прохождение ваших средств, как правило, блокируется. RBF решает эту проблему таким образом: вы можете полностью заменить эту транзакцию, т.е. к тем же самым средствам добавить дополнительные средства, но при этом комиссия, естественно, повышается.
Мы считаем, что такой подход борется не с самой проблемой, а с её симптомами. Симптомом здесь является заблокированная транзакция, а проблема, на самом деле - это переполнение блока. У майнеров нет стимула обрабатывать транзакции с низкими комиссиями, когда можно работать с более высокими. Мы же предпочитаем действовать другим образом и идти по пути on-chain масштабирования, как я уже отмечал во введении.
В продолжении разговора о проблеме, давайте вспомним, что в версии Bitcoin 0.14 представлена функция под названием “пакеты транзакций”, которая также будет включена в следующий релиз Dash 12.3. Эта функция меняет способ расчётов прибыли майнеров от транзакций. Вместо расчёта комиссии за одну транзакцию, майнеры создают “пакеты” серии связанных транзакций и вычисляют комиссию за весь пакет. Это означает, что если у майнера есть 2 транзакции, в которых вторая тратит выход первой (связанные транзакции), их размер и комиссии суммируются, и на основе этих вычислений рассчитывается итоговая общая комиссия за байт.
Если же какая-нибудь непредвиденная транзакционная нагрузка приводит к полной блокировке и перегрузке сети, вы всё же можете спасти свою застрявшую транзакцию, отправив еще одну, которая тратит изменённый выход зависшей транзакции. Эта вторая транзакция будет включать более высокую, чем обычно, комиссию, которая также покроет комиссию за первую транзакцию. И такой путь сделает первую транзакцию прибыльной, несмотря на то, что она сама по себе изначально имела достаточно низкую комиссию.
В качестве альтернативы, получатели платежей могли бы сами доплатить вашу комиссию, применив эти связанные транзакции. Торговец может просто создать ещё одну транзакцию, которая потратит выход вашей транзакции. Это возможно, так как этот выход был предназначен ему. И таким образом, торговцы могли бы сами увеличивать комиссию за каждый байт в этом пакете транзакций, как мы видели в приведённом выше примере. Торговцы даже могут быть заинтересованы в этом, ведь они хотят, чтобы оплата им прошла.
Эта схема называется CPFP (Child Pays For Parent) и представляет собой отличную альтернативу RBF. Оба решения требуют увеличения комиссии, поскольку они добавляют новые входы и выходы, за которые нужно платить. RBF делает это с самой изначальной транзакцией, а CPFP - путём создания новой доволнительной транзакции. Таким образом, для применения CPFP требуется ещё несколько байтов для заголовка дополнительной транзакции, но увеличение комиссии на это достаточно незначительное.
(Продолжение - в следующем посте)
Данный пост отражает только моё личное мнение и мои же личные соображения по некоторым вопросам. Но всё же, хочу сказать, что после немалого количества наших дискуссий, я уверен, что большинство разработчиков Dash согласятся со мной, и можно смело говорить об определённом консенсусе в затронутых вопросах.
Естественно, что эти темы интересуют не только поклонников Dash. Многие из упомянутых технологий уже “проданы” в качестве спасательного круга, который мог бы решить много проблем и избавиться от недостатков, коими грешат криптовалюты, особенно Биткойн. Но, напомню, мы – это не Биткойн, и наши приоритеты, как и наша стратегия, отличаются некоторыми важными аспектами, а именно – мы в Dash стремимся устранить сами причины основных проблем, а не лечить, или же пытаться обойти их симптомы.
Основные проблемы Биткойна часто связаны с предельным размером блока в 1 Мб, что ограничивает максимальную пропускную способность транзакций в сети. Пользователи и торговцы сталкиваются со следующими симптомами: высокая комиссия, долгое ожидание подтверждения и транзакции, надолго застрявшие в сети Биткойн. Если бы размер блока не был ограничен, все указанные симптомы не проявлялись бы.
Наши планы on-chain масштабирования означают, что по мере необходимости мы будем увеличивать максимальный размер блока и, таким образом, сумеем полностью избежать упомянутых симптомов. Это и есть наш приоритет, и мы уверены в успехе его реализации. А уверены мы в этом потому, что у нас есть большая сеть Мастернод, экономически заинтересованных в масштабировании. Вознаграждения, получаемые при запуске Мастерноды, достаточно высоки, чтобы обеспечить необходимые средства и при этом иметь возможность получать приличную прибыль. У Биткойна, напротив, ноды работают исключительно благодаря добровольцам и, таким образом, масштабирование сети происходит гораздо медленнее. Обычные пользователи Dash совершенно не обязаны работать как ноды сети, поскольку они могут задействовать SPV или приложение “Лёгкий клиент”. Evolution станет следующим шагом в этом направлении (с точки зрения пользователей, “Dash Эволюция” - это будет “SPV на стероидах”.)
Некоторые криптовалюты продемонстрировали значительный рост курса, последовавший за их заявлениями о намерении внедрить эти технологии. Подчеркну, что повышение курса не является нашим в команде Dash приоритетом, и наши технические решения не направлены на сиюминутное увеличение капитализации. Однако, это будет происходить естественным образом в долгосрочной перспективе, так как мы поставляем необходимый и качественный программный продукт для сети, для пользователей и для торговцев.
SegWit
SegWit, вероятно, является самым обсуждаемым изменением в Биткойне. Оно оказалось настолько спорным, что привело к полному расколу Bitcoin сообщества. Закончилось всё тем, что Биткойн разделился на две цепи, одна с SegWit (BTC) и одна без SegWit (BCH). Состояние, в котором сейчас находятся эти два лагеря, иначе как войной не назовёшь.
Можно назвать несколько качеств у SegWit, которые и привели к этому расколу. Многие из них являются техническими, но многие, кажется, можно назвать политическими. Однако, детали аргументации обоих лагерей не являются задачей моей публикации.
Я хотел бы поделиться с сообществом Dash одним собственным выводом по этому вопросу: Мы не должны безоговорочно заимствовать SegWit в его нынешнем виде, так как полезность этой технологии не вполне очевидна. Полемика вокруг SegWit возникла не на пустом месте, и у обоих лагерей были очень веские причины для борьбы за одно из двух направлений. Следует тщательно оценить, насколько нам нужен SegWit, и существуют ли альтернативные решения имеющихся проблем.
Сеть Lightning / Сети Off-chain
Есть много вопросов по Dash и Lightning. Они часто идут в комплекте с SegWit, поскольку они, по-видимому, рассматриваются как единое целое или, по крайней мере, как сильно зависящие друг от друга. Однако на деле это две разные независимые технологии. Благодаря SegWit проще реализовать Lightning (и другие off-chain сети), поскольку SegWit устраняет многие недостатки, вызванные текущей “неповоротливостью” транзакций, но это касается также и решений других проблем, являющихся следствием этой “неповоротливости”.
Lightning обещает снизить комиссии до минимума, сделать транзакции мгновенными и в то же время снять нагрузку на блокчейн и сеть P2P.
Однако, высокие комиссии и медленные транзакции являются прямым следствием слишком малого размера блоков. Поэтому, добывая новые блоки, майнеры стремятся получить максимум прибыли, а это означает, что они предпочитают транзакции только с самыми высокими комиссиями, и не включают все транзакции с низкой комиссией. Поэтому, если нам удастся сделать on-chain масштабирование (увеличить максимальный размер блока), эти два качества Lightning станут просто ненужными. Как я уже написал во введении, такой подход и является нашим главным приоритетом.
В то же время у Dash уже есть InstantSend, а эта функция уже сегодня может легко конкурировать с обещанной скоростью от Lightning. У InstantSend есть некоторые ограничения, мы все их знаем. Их устранение мы считаем более существенным приоритетом, чем пытаться использовать технологию off-chain. У нас в запасе уже есть некоторые идеи насчёт исправления этих проблем и улучшения работы пользователей с InstantSend.
Снижение нагрузки на блокчейн и P2P-сеть не являются для нас достаточным аргументами, чтобы утверждать, что Dash тоже должен задействовать технологию Lightning. Масштабирование on-chain всегда будет иметь для нас более высокий приоритет, причём это будет достигаться не только увеличением размера блока, но также и другими решениями для уменьшения размеров транзакций.
Lighting уж точно не может претендовать на звание “неуязвимого решения”. Там остаётся ещё много нерешённых проблем, которые могут затруднить жизнь пользователям. Например, чтобы убедиться в получении платежа, вам необходимо блокировать средства в каналах и оставаться в сети 24/7. Это неприемлемо в существующих условиях, когда большинству пользователей криптовалюты нужен функциональный мобильный или веб-кошелёк. Такой подход абсолютно несовместим с теми задачами, которые стоят перед нашей Dash Evolution.
RBF (Replace by fee)
Функция RBF у Bitcoin пыталась решить проблему “транзакция-навсегда-зависла- в-мeмпуле (пуле памяти)”, с которой Биткойн сталкивается каждый раз при переполнении блоков. Проблема проявляется, когда вы отправляете транзакцию в сеть, в каждый пул памяти узла/майнера, но в то же время комиссия за транзакцию такова, что майнеру невыгодно включать её в блокчейн.
В результате транзакция очень долго остаётся неподтвержденной, что делает невозможным использование тех же самых входов/средств в любой другой транзакции. Прохождение ваших средств, как правило, блокируется. RBF решает эту проблему таким образом: вы можете полностью заменить эту транзакцию, т.е. к тем же самым средствам добавить дополнительные средства, но при этом комиссия, естественно, повышается.
Мы считаем, что такой подход борется не с самой проблемой, а с её симптомами. Симптомом здесь является заблокированная транзакция, а проблема, на самом деле - это переполнение блока. У майнеров нет стимула обрабатывать транзакции с низкими комиссиями, когда можно работать с более высокими. Мы же предпочитаем действовать другим образом и идти по пути on-chain масштабирования, как я уже отмечал во введении.
В продолжении разговора о проблеме, давайте вспомним, что в версии Bitcoin 0.14 представлена функция под названием “пакеты транзакций”, которая также будет включена в следующий релиз Dash 12.3. Эта функция меняет способ расчётов прибыли майнеров от транзакций. Вместо расчёта комиссии за одну транзакцию, майнеры создают “пакеты” серии связанных транзакций и вычисляют комиссию за весь пакет. Это означает, что если у майнера есть 2 транзакции, в которых вторая тратит выход первой (связанные транзакции), их размер и комиссии суммируются, и на основе этих вычислений рассчитывается итоговая общая комиссия за байт.
Если же какая-нибудь непредвиденная транзакционная нагрузка приводит к полной блокировке и перегрузке сети, вы всё же можете спасти свою застрявшую транзакцию, отправив еще одну, которая тратит изменённый выход зависшей транзакции. Эта вторая транзакция будет включать более высокую, чем обычно, комиссию, которая также покроет комиссию за первую транзакцию. И такой путь сделает первую транзакцию прибыльной, несмотря на то, что она сама по себе изначально имела достаточно низкую комиссию.
В качестве альтернативы, получатели платежей могли бы сами доплатить вашу комиссию, применив эти связанные транзакции. Торговец может просто создать ещё одну транзакцию, которая потратит выход вашей транзакции. Это возможно, так как этот выход был предназначен ему. И таким образом, торговцы могли бы сами увеличивать комиссию за каждый байт в этом пакете транзакций, как мы видели в приведённом выше примере. Торговцы даже могут быть заинтересованы в этом, ведь они хотят, чтобы оплата им прошла.
Эта схема называется CPFP (Child Pays For Parent) и представляет собой отличную альтернативу RBF. Оба решения требуют увеличения комиссии, поскольку они добавляют новые входы и выходы, за которые нужно платить. RBF делает это с самой изначальной транзакцией, а CPFP - путём создания новой доволнительной транзакции. Таким образом, для применения CPFP требуется ещё несколько байтов для заголовка дополнительной транзакции, но увеличение комиссии на это достаточно незначительное.
(Продолжение - в следующем посте)
Last edited: