В сети Биткоин на майнеров возложена ответственность за проверку транзакций и добавление новых блоков. Взамен они получают вознаграждение в виде вновь намайненных биткоинов. Для выполнения этих задач требуется сложное компьютерное оборудование. Компьютеры действуют как валидаторы и называются узлами.
Поскольку количество пользователей в сети продолжает расти, необходимо проверять больше транзакций и добавлять больше блоков. Размер блока Биткоина ограничен 1 МБ, а новые блоки создаются каждые 10 минут. Каждый блок в сети содержит в среднем 2 700 транзакций, а скорость обработки составляет 7-8 транзакций в секунду. Это ограничивает количество транзакций, которые могут быть обработаны, а также количество транзакций, добавленных в блок. Все это привело к замедлению работы сети Биткоин.
Чтобы решить эту проблему, разработчик Питер Вуйль предложил идею сегрегированного свидетельства (Segregated Witness, SegWit) на конференции по масштабированию Биткоина, состоявшейся в декабре 2015 года. Первоначально эта идея заключалась в том, чтобы исправить ошибку в сети, известную как ошибка податливости. Ошибка позволяет любому пользователю сети подделывать данные о транзакциях. Отделение данных свидетелей от базового блока позволило решить эту проблему, а также масштабировать блокчейн. Поэтому в этой статье мы рассмотрим, как SegWit помог справиться с этими проблемами в сети Биткойн.
Segregated Witness (SegWit) - это обновление в блокчейне Биткоина, которое отделяет данные свидетеля от базового блока. Это улучшение, направленное на решение проблемы ошибок податливости и масштабирование сети. Благодаря выделению данных свидетелей из базового блока, в блоке образуется больше места и можно разместить больше транзакций без изменения первоначального размера блока в 1 МБ.
Идея SegWit была предложена разработчиком Питером Вуйлем в 2015 году. SegWit делит транзакцию на две части. Данные свидетелей отделяются от базового блока, но остаются частью блокчейна. Оригинальная часть содержит адрес кошелька отправителя и получателя, а другая часть содержит скрипты и подписи. Такая сегрегация дает место для большего количества транзакций в блоке. Кроме того, удалив данные свидетелей из базового блока, никто не сможет изменить неподтвержденную транзакцию в сети. Биткойн - не первый блокчейн, который задействовал эту идею. SegWit был активирован на Litecoin (LTC) в мае 2017 года, а затем на Bitcoin 23 августа 2017 года.
SegWit помог решить две основные проблемы, с которыми столкнулся блокчейн. Первая - это проблемы масштабируемости, за которыми следует податливость транзакций. Давайте углубимся в эти проблемы и посмотрим, как они были решены с введением SegWit.
Для отправки и получения Биткоина требуется 2 жизненно важные части информации. Публичный адрес и закрытый ключ. Получатель предоставляет свой публичный адрес, используемый для получения средств, и этот адрес виден всей сети. С другой стороны, отправитель использует свой закрытый ключ для подписания транзакций в качестве доказательства того, что он является владельцем кошелька, содержащего средства.
Пользователь, который хочет отправить Bitcoin, посылает запрос в сеть. Этот запрос содержит публичный адрес получателя, сумму для отправки и плату майнера. Затем запрос превращается в строку кода, известную как ID транзакции. Транзакция обрабатывается и ставится в очередь в сети. Когда лимит блока достигнут, блок транслируется на все узлы. Если блок будет принят как действительный более чем половиной узлов, он будет добавлен в блокчейн. В этот момент мы говорим, что транзакция прошла успешно.
По мере роста сети с увеличением числа пользователей и количества транзакций, обработка транзакций стала очень медленной. Эта проблема была связана с ограничением размера блоков в блокчейне. С данными свидетелей, включенными в блок, пространство для транзакций ограничено. Это приводит к перегрузкам и соответствующим высоким транзакционным издержкам. С этими проблемами идея использования Биткойна в качестве быстрого и недорогого метода транзакций ускользает.
Это еще один важный вопрос, который был решен с введением SegWit. Некорректность транзакции - это форма атаки на отказ в обслуживании (DoS), которая позволяет кому-либо внести изменения в код транзакции до того, как транзакция будет подтверждена. Это действие едва ли можно заметить, поскольку оно выполняется таким образом, что при проверке транзакции она остается действительной, но при хешировании получается нечто совершенно иное. Но, разместив данные свидетеля в стороне от базового блока, никто не сможет изменить транзакцию. Даже если такое произойдет, оно будет недействительным и не повлияет на первоначальную транзакцию.
Давайте воспользуемся примером, чтобы лучше понять это. Джеймс хочет отправить 20 BTC Джейн. Он передал эту просьбу в сеть. Запрос будет содержать публичный адрес Джейн, 20 BTC, комиссию за транзакцию и его закрытый ключ в качестве доказательства того, что у него есть средства для отправки. Это известно как данные свидетеля. Эта информация преобразуется в одну строку кода, известную как ID транзакции. Теперь, в процессе ожидания подтверждения транзакции, код позволяет Джейн изменить данные свидетеля, в то время как идентификатор транзакции остается неизменным. При этом никто не заподозрит, что произошел какой-либо вред. Это изменение перезаписывает первоначальную транзакцию, и Джейн получает 20 BTC.
Из своих эгоистических соображений Джейн звонит Джеймсу и жалуется, что не получила 20 BTC. После проверки он обнаруживает, что транзакция не прошла, и отправляет еще 20 BTC Джейн. В этом случае никто не смог бы обнаружить коварный план Джейн. Более того, любая запись, добавленная в блокчейн, является неизменной и не может быть стерта. Поэтому в данном сценарии с этим ничего нельзя поделать. Удалив данные свидетеля и поместив их за пределы базового блока, никто не сможет перезаписать транзакцию.
SegWit оказал большое влияние на сеть Биткоина. Помимо решения проблемы масштабируемости и податливости к транзакциям, разработка принесла и другие преимущества, некоторые из которых включают:
Когда большое количество людей одновременно пользуются сетью, это приводит к большим задержкам в транзакциях. В дополнение к этому, также произойдет соответствующее увеличение стоимости транзакций, поскольку в очереди находится много людей. Перемещение данных свидетелей из базового блокчейна не только создало больше места в блоке, но и помогло увеличить пропускную способность и снизить затраты на транзакции.
Идея масштабирования решений второго уровня, таких как сеть Lightning, не сможет родиться без SegWit. Решения масштабирования второго уровня сильно полагаются на основной блокчейн для обеспечения безопасности. В ситуации, когда любой может изменить данные в основной сети и безопасность блокчейна будет нарушена, какова будет судьба его производных? SegWit помог решить эту проблему безопасности, дав простор для новых улучшений и развития.
Несмотря на масштабирование блокчейна Биткойна и предоставление решения проблемы податливости транзакций, не все поддерживают эту разработку. Это привело к нескольким жестким развилкам сети.
Среди них выделяется хард форк, который породил Bitcoin Cash (BCH) в 2017 году. Большинство майнеров не поддерживают это развитие, поскольку снижение сборов влияет на их прибыль. Более того, идея поддержки сайдчейна данных свидетелей не дает им никаких преимуществ. Это стало проблемой для широкого внедрения SegWit.
SegWit также рассматривается многими как краткосрочное решение долгосрочной проблемы. Они утверждают, что SegWit не делает многого в масштабировании сети, а скорее является ступенькой, которая поможет большему развитию в будущем.
Мягкие форки - это усовершенствования блокчейна, которые не приводят к появлению нового блокчейна. Итак, судя по всему, SegWit - это мягкий форк сети Биткоин, который внес большой вклад в развитие сети.
SegWit стал большим улучшением для сети Биткоин, масштабируя, а также повышая безопасность всей сети. Это было одно из самых ранних достижений для масштабирования сети, и оно проложило путь для более масштабных разработок.
Несмотря на все это, не все в сообществе Биткойн приняли эту идею как постоянное решение проблемы масштабирования и безопасности. Это привело к различным жестким форкам блокчейна, имея в виду, что эти новые блокчейны будут включать в себя блоки большего размера, чем Биткойн.
Учитывая все, что мы видели до сих пор, как Вы относитесь к такому развитию событий? Считаете ли Вы это временным решением? Подумайте об этом и до встречи в следующий раз!
В сети Биткоин на майнеров возложена ответственность за проверку транзакций и добавление новых блоков. Взамен они получают вознаграждение в виде вновь намайненных биткоинов. Для выполнения этих задач требуется сложное компьютерное оборудование. Компьютеры действуют как валидаторы и называются узлами.
Поскольку количество пользователей в сети продолжает расти, необходимо проверять больше транзакций и добавлять больше блоков. Размер блока Биткоина ограничен 1 МБ, а новые блоки создаются каждые 10 минут. Каждый блок в сети содержит в среднем 2 700 транзакций, а скорость обработки составляет 7-8 транзакций в секунду. Это ограничивает количество транзакций, которые могут быть обработаны, а также количество транзакций, добавленных в блок. Все это привело к замедлению работы сети Биткоин.
Чтобы решить эту проблему, разработчик Питер Вуйль предложил идею сегрегированного свидетельства (Segregated Witness, SegWit) на конференции по масштабированию Биткоина, состоявшейся в декабре 2015 года. Первоначально эта идея заключалась в том, чтобы исправить ошибку в сети, известную как ошибка податливости. Ошибка позволяет любому пользователю сети подделывать данные о транзакциях. Отделение данных свидетелей от базового блока позволило решить эту проблему, а также масштабировать блокчейн. Поэтому в этой статье мы рассмотрим, как SegWit помог справиться с этими проблемами в сети Биткойн.
Segregated Witness (SegWit) - это обновление в блокчейне Биткоина, которое отделяет данные свидетеля от базового блока. Это улучшение, направленное на решение проблемы ошибок податливости и масштабирование сети. Благодаря выделению данных свидетелей из базового блока, в блоке образуется больше места и можно разместить больше транзакций без изменения первоначального размера блока в 1 МБ.
Идея SegWit была предложена разработчиком Питером Вуйлем в 2015 году. SegWit делит транзакцию на две части. Данные свидетелей отделяются от базового блока, но остаются частью блокчейна. Оригинальная часть содержит адрес кошелька отправителя и получателя, а другая часть содержит скрипты и подписи. Такая сегрегация дает место для большего количества транзакций в блоке. Кроме того, удалив данные свидетелей из базового блока, никто не сможет изменить неподтвержденную транзакцию в сети. Биткойн - не первый блокчейн, который задействовал эту идею. SegWit был активирован на Litecoin (LTC) в мае 2017 года, а затем на Bitcoin 23 августа 2017 года.
SegWit помог решить две основные проблемы, с которыми столкнулся блокчейн. Первая - это проблемы масштабируемости, за которыми следует податливость транзакций. Давайте углубимся в эти проблемы и посмотрим, как они были решены с введением SegWit.
Для отправки и получения Биткоина требуется 2 жизненно важные части информации. Публичный адрес и закрытый ключ. Получатель предоставляет свой публичный адрес, используемый для получения средств, и этот адрес виден всей сети. С другой стороны, отправитель использует свой закрытый ключ для подписания транзакций в качестве доказательства того, что он является владельцем кошелька, содержащего средства.
Пользователь, который хочет отправить Bitcoin, посылает запрос в сеть. Этот запрос содержит публичный адрес получателя, сумму для отправки и плату майнера. Затем запрос превращается в строку кода, известную как ID транзакции. Транзакция обрабатывается и ставится в очередь в сети. Когда лимит блока достигнут, блок транслируется на все узлы. Если блок будет принят как действительный более чем половиной узлов, он будет добавлен в блокчейн. В этот момент мы говорим, что транзакция прошла успешно.
По мере роста сети с увеличением числа пользователей и количества транзакций, обработка транзакций стала очень медленной. Эта проблема была связана с ограничением размера блоков в блокчейне. С данными свидетелей, включенными в блок, пространство для транзакций ограничено. Это приводит к перегрузкам и соответствующим высоким транзакционным издержкам. С этими проблемами идея использования Биткойна в качестве быстрого и недорогого метода транзакций ускользает.
Это еще один важный вопрос, который был решен с введением SegWit. Некорректность транзакции - это форма атаки на отказ в обслуживании (DoS), которая позволяет кому-либо внести изменения в код транзакции до того, как транзакция будет подтверждена. Это действие едва ли можно заметить, поскольку оно выполняется таким образом, что при проверке транзакции она остается действительной, но при хешировании получается нечто совершенно иное. Но, разместив данные свидетеля в стороне от базового блока, никто не сможет изменить транзакцию. Даже если такое произойдет, оно будет недействительным и не повлияет на первоначальную транзакцию.
Давайте воспользуемся примером, чтобы лучше понять это. Джеймс хочет отправить 20 BTC Джейн. Он передал эту просьбу в сеть. Запрос будет содержать публичный адрес Джейн, 20 BTC, комиссию за транзакцию и его закрытый ключ в качестве доказательства того, что у него есть средства для отправки. Это известно как данные свидетеля. Эта информация преобразуется в одну строку кода, известную как ID транзакции. Теперь, в процессе ожидания подтверждения транзакции, код позволяет Джейн изменить данные свидетеля, в то время как идентификатор транзакции остается неизменным. При этом никто не заподозрит, что произошел какой-либо вред. Это изменение перезаписывает первоначальную транзакцию, и Джейн получает 20 BTC.
Из своих эгоистических соображений Джейн звонит Джеймсу и жалуется, что не получила 20 BTC. После проверки он обнаруживает, что транзакция не прошла, и отправляет еще 20 BTC Джейн. В этом случае никто не смог бы обнаружить коварный план Джейн. Более того, любая запись, добавленная в блокчейн, является неизменной и не может быть стерта. Поэтому в данном сценарии с этим ничего нельзя поделать. Удалив данные свидетеля и поместив их за пределы базового блока, никто не сможет перезаписать транзакцию.
SegWit оказал большое влияние на сеть Биткоина. Помимо решения проблемы масштабируемости и податливости к транзакциям, разработка принесла и другие преимущества, некоторые из которых включают:
Когда большое количество людей одновременно пользуются сетью, это приводит к большим задержкам в транзакциях. В дополнение к этому, также произойдет соответствующее увеличение стоимости транзакций, поскольку в очереди находится много людей. Перемещение данных свидетелей из базового блокчейна не только создало больше места в блоке, но и помогло увеличить пропускную способность и снизить затраты на транзакции.
Идея масштабирования решений второго уровня, таких как сеть Lightning, не сможет родиться без SegWit. Решения масштабирования второго уровня сильно полагаются на основной блокчейн для обеспечения безопасности. В ситуации, когда любой может изменить данные в основной сети и безопасность блокчейна будет нарушена, какова будет судьба его производных? SegWit помог решить эту проблему безопасности, дав простор для новых улучшений и развития.
Несмотря на масштабирование блокчейна Биткойна и предоставление решения проблемы податливости транзакций, не все поддерживают эту разработку. Это привело к нескольким жестким развилкам сети.
Среди них выделяется хард форк, который породил Bitcoin Cash (BCH) в 2017 году. Большинство майнеров не поддерживают это развитие, поскольку снижение сборов влияет на их прибыль. Более того, идея поддержки сайдчейна данных свидетелей не дает им никаких преимуществ. Это стало проблемой для широкого внедрения SegWit.
SegWit также рассматривается многими как краткосрочное решение долгосрочной проблемы. Они утверждают, что SegWit не делает многого в масштабировании сети, а скорее является ступенькой, которая поможет большему развитию в будущем.
Мягкие форки - это усовершенствования блокчейна, которые не приводят к появлению нового блокчейна. Итак, судя по всему, SegWit - это мягкий форк сети Биткоин, который внес большой вклад в развитие сети.
SegWit стал большим улучшением для сети Биткоин, масштабируя, а также повышая безопасность всей сети. Это было одно из самых ранних достижений для масштабирования сети, и оно проложило путь для более масштабных разработок.
Несмотря на все это, не все в сообществе Биткойн приняли эту идею как постоянное решение проблемы масштабирования и безопасности. Это привело к различным жестким форкам блокчейна, имея в виду, что эти новые блокчейны будут включать в себя блоки большего размера, чем Биткойн.
Учитывая все, что мы видели до сих пор, как Вы относитесь к такому развитию событий? Считаете ли Вы это временным решением? Подумайте об этом и до встречи в следующий раз!