Производительность переводов в Биткойн составляет 7 транзакций в секунду. Если криптовалюта получит широкое распространение, потребуется другой подход.
Блокчейн — однозначно из ряда вон выходящая разработка. Он работает так, что каждая транзакция видна каждому участнику сети. Здесь легко проверить операцию, но сложно её произвести и совершенно невозможно изменить информацию, которая уже содержится в реестре. В конечном итоге, если участник сети захочет выполнить мошенническую операцию, он столкнется с тем, что это очень сложное (и дорогое) мероприятие. И в итоге всё равно ничего не выйдет.
Устранив из системы посредника как класс, пользователи получили возможность переводить деньги напрямую друг другу. Они получили преимущества в виде высокой скорости транзакций, низких издержек, прозрачности и безопасности. Спектр полезных эффектов широк и использовать их можно совершенно по-разному. Однако ничто не дается просто так. У всякой выгоды есть обратная сторона.
Одним из недостатков блокчейна является то количество ресурсов, которое необходимо, чтобы поддерживать работу ПО и хранить весь реестр когда-либо совершённых транзакций. По желанию можно углубиться в блокчейн Биткойна и найти там самый первый трансфер от 12 января 2009 года между таинственным создателем Биткойна Сатоши Накамото и энтузиастом Халом Финнеем. Результатом такого обоснованно скрупулезного подхода к учёту стало то, что биткойновый блокчейн на момент написания статьи занимает объем примерно в 100 Гб и не собирается останавливаться. В итоге требования к аппаратным мощностям майнеров и полных нод — тех, что обеспечивают безопасность блокчейна и обработку транзакций — растут как на дрожжах.
Всё это серьезно ограничивает теоретическую ёмкость и производительность Биткойна. На данный момент каждый новый блок транзакций, добавляемый в блокчейн примерно каждые 10 минут, составляет 1 Мб. Пока ничего не поменяется, Биткойн будет ограничен примерно 7 транзакциями в секунду (tps). Учитывая, что средний показатель Visa составляет около 2000 tps с возможностью выдержать пиковую нагрузку до 50 000 tps, очевидно, что с этим надо что-то делать.
Простейшим решением было бы увеличение размера блока. Больше места — больше транзакций. Но это оказалось не так просто. Проблема имеет не технический, а скорее «политический» характер. В децентрализованной экосистеме Биткойна множество людей с правом голоса, а угодить всем не представляется возможным. Сама идея может казаться идеальным вариантом основным разработчикам, которые поддерживают, обновляют и улучшают ПО. Но совсем не обязательно, что она найдёт поддержку среди майнеров, которые обеспечивают работу и безопасность системы. То же самое касается компаний, которые предоставляют сервис электронных кошельков. И конечных пользователей, платящих комиссии для совершения транзакций. И наконец, крупных держателей и «евангелистов», которые имеют солидный вес в сообществе.
Именно поэтому не прекращаются дебаты о масштабировании Биткойна. Возьмём простой пример: в определенный момент в 2015 году точно казалось, что блоки увеличатся до 8 Мб, что было бы компромиссом, обеспечивающим Биткойну определённый задел на будущее и не создающим ненужных проблем китайским майнерам. Не стоит забывать, что у них ширина канала ограничена Великим Китайским Фаерволом. Однако оппозиция внутри сообщества устроила бунт, и предложенные изменения не нашли поддержки у майнеров. Несмотря на некоторый прогресс, мы до сих пор работаем с блоками в 1 мегабайт.
В определенном смысле это не так уж и важно. Если говорить о долгой перспективе, то Биткойну и не требуется восьми- или двадцатикратное увеличение производительности. Если он хочет конкурировать с существующими мировыми платёжными средствами, речь идет о росте минимум в 500-1000 раз. Хотя некоторые критики считают, что ему вообще не нужно становиться глобальным платёжным средством. Достаточно стать средством сбережения капиталов — чем-то вроде цифрового золота, а не повседневной валютой.
Проблема масштабирования актуальна практически для всех криптовалют, а не только для Биткойна. Просто сам Биткойн — это уже устоявшаяся и достаточно надёжная валюта, на порядки превосходящая другие по многим параметрам. Его можно сравнить с крупным океанским лайнером: надёжность велика, однако быстро сменить курс он не в состоянии. Другие протоколы, пусть намного менее распространённые и хуже протестированные, обладают большей гибкостью. Кроме того, они заранее могут учитывать на примере текущих проблем Биткойна, с какими угрозами им придется иметь дело в будущем. Некоторые уже включили в свою программу развития те или иные варианты масштабирования, которые предлагается использовать для Биткойна. Litecoin, разменное серебро для «золота» Биткойна, сейчас занимается внедрением выпущенного в конце прошлого года пакета обновленное ПО Segregated Witness (SegWit), чтобы обеспечить возможности для дальнейшего свободного масштабирования и распространения технологии.
Однако в основном речь идет о каких-то локальных улучшениях, а не о глобальном и окончательном устранении проблем. Постоянно растущие требования блокчейна к ресурсам для обработки и хранения данных о транзакциях уже стали предметом многочисленных научных исследований. Создателям новых платформ очевидно, что им нужно решать эту проблему прямо сейчас или, как минимум, обзавестись чёткой стратегией на будущее. Если же новые платформы будут заботиться только о росте и не будут искать решения, пока не упрутся непосредственно в это ограничение, они окажутся в том же положении, что и Биткойн.
Разные платформы подходят к вопросу по-разному, но в любом случае — на более фундаментальном уровне, чем банальное увеличение размера блока. Так, платформа Waves, запустившая масштабируемое, дружелюбное к пользователям блокчейн-решение и за счет этого собравшая значительные средства на краудфандинге, использует Scala вместо C++. При том, что на сегодняшний день и Биткойн и многие другие валюты работают именно на C++. Как можно догадаться по названию, Scala (от scale — масштабировать) намного лучше заточен под параллельные вычисления, а значит и под более быструю работу за счёт многопоточной обработки операций. Конечно, найти программистов, работающих на Scala, не так просто. Но те, что присутствуют на рынке, как правило, отличные специалисты. Ведь всем им пришлось предварительно набивать руку на других языках, прежде чем они смогли перейти на более сложный в использовании Scala. В качестве своеобразного бонуса за сложность в Scala заметно меньше ограничений.
В основе блокчейна лежат довольно замысловатые криптографические технологии. Некоторые принципы этих технологий можно было бы использовать для модернизации солидных и продолжающих свой рост баз данных, котрые хранятся в блокчейнах и привязываются к транзакциям. Так можно было бы не только сократить общий размер блокчейнов, но и включить в сеть устройства малой мощности. Другими словами, надежность блокчейна можно было бы поддерживать не только с помощью дорогостоящих машин с высоким энергопотреблением. Аналогично совершенствуются механизмы «консенсуса», которые добавляют транзакции в блокчейн. Биткойн, хоть и является пионером в этой сфере, всё-таки слишком медленный и неэффективный.
Улучшение метода, по которому происходит валидация транзакций, также может существенно увеличить пропускную способность. Используя комбинированную технику, команда разработки Waves намеревается увеличить транзакционную производительность до 1000 tps.
Тысяча транзакций в секунду кажутся значительными цифрами, особенно учитывая текущую производительность Биткойна. Но в конечном счёте нужна ещё большая производительность.
Биткойн — это первая, самая безопасная и популярная криптовалюта. Среди биткойнового сообщества существует так называемая «максималистская» точка зрения, которая говорит о том, что Биткойн может и должен быть использован для любых целей. Существуют различные проекты, которые предлагают использовать именно Биткойн в качестве фундамента для всех начинаний, направленных на увеличение его производительности до миллионов транзакций в секунду. Эти проекты не поддерживают идею о создании нового блокчейна с нуля. Биткойн не подходит для массового внедрения в его текущей форме, а развитие, мягко говоря, ведётся по-черепашьи медленно. Однако, существует и альтернатива: производить транзакции вне блокчейна, а фиксировать их с помощью блокчейна. Такова цель Lightning Network.
Находящаяся в процессе разработки Lightning Network (LN) по существу может считаться набором реестров, отделенных от биткойнового блокчейна, но являющихся его ответвлениями. Все действия — с точки зрения собственно биткойнового реестра — происходят в «чёрном ящике» его же ответвления. Множество различных сторон могут пересылать средства друг другу в огромных объёмах при практически нулевых затратах. При этом умные контракты обеспечат встраивание результатов транзакций в биткойновый блокчейн для сохранения устойчивости и безопасности в любой необходимый или желательный момент. Создатели системы утверждают, что в итоге можно добиться производительности, которая будет значительно опережать производительность сети Visa.
Блокчейн всё ещё на раннем этапе своего развития. Это невероятный набор инновационных технологий, и без сомнения, мы ещё увидим по-настоящему креативные решения проблемы масштабирования реестра транзакций. В сущности эти решения пойдут рука об руку с развитием блокчейна, потому что именно они будут определять его успешность.
Блокчейн — однозначно из ряда вон выходящая разработка. Он работает так, что каждая транзакция видна каждому участнику сети. Здесь легко проверить операцию, но сложно её произвести и совершенно невозможно изменить информацию, которая уже содержится в реестре. В конечном итоге, если участник сети захочет выполнить мошенническую операцию, он столкнется с тем, что это очень сложное (и дорогое) мероприятие. И в итоге всё равно ничего не выйдет.
Устранив из системы посредника как класс, пользователи получили возможность переводить деньги напрямую друг другу. Они получили преимущества в виде высокой скорости транзакций, низких издержек, прозрачности и безопасности. Спектр полезных эффектов широк и использовать их можно совершенно по-разному. Однако ничто не дается просто так. У всякой выгоды есть обратная сторона.
Одним из недостатков блокчейна является то количество ресурсов, которое необходимо, чтобы поддерживать работу ПО и хранить весь реестр когда-либо совершённых транзакций. По желанию можно углубиться в блокчейн Биткойна и найти там самый первый трансфер от 12 января 2009 года между таинственным создателем Биткойна Сатоши Накамото и энтузиастом Халом Финнеем. Результатом такого обоснованно скрупулезного подхода к учёту стало то, что биткойновый блокчейн на момент написания статьи занимает объем примерно в 100 Гб и не собирается останавливаться. В итоге требования к аппаратным мощностям майнеров и полных нод — тех, что обеспечивают безопасность блокчейна и обработку транзакций — растут как на дрожжах.
Децентрализованная политика
Всё это серьезно ограничивает теоретическую ёмкость и производительность Биткойна. На данный момент каждый новый блок транзакций, добавляемый в блокчейн примерно каждые 10 минут, составляет 1 Мб. Пока ничего не поменяется, Биткойн будет ограничен примерно 7 транзакциями в секунду (tps). Учитывая, что средний показатель Visa составляет около 2000 tps с возможностью выдержать пиковую нагрузку до 50 000 tps, очевидно, что с этим надо что-то делать.
Простейшим решением было бы увеличение размера блока. Больше места — больше транзакций. Но это оказалось не так просто. Проблема имеет не технический, а скорее «политический» характер. В децентрализованной экосистеме Биткойна множество людей с правом голоса, а угодить всем не представляется возможным. Сама идея может казаться идеальным вариантом основным разработчикам, которые поддерживают, обновляют и улучшают ПО. Но совсем не обязательно, что она найдёт поддержку среди майнеров, которые обеспечивают работу и безопасность системы. То же самое касается компаний, которые предоставляют сервис электронных кошельков. И конечных пользователей, платящих комиссии для совершения транзакций. И наконец, крупных держателей и «евангелистов», которые имеют солидный вес в сообществе.
Именно поэтому не прекращаются дебаты о масштабировании Биткойна. Возьмём простой пример: в определенный момент в 2015 году точно казалось, что блоки увеличатся до 8 Мб, что было бы компромиссом, обеспечивающим Биткойну определённый задел на будущее и не создающим ненужных проблем китайским майнерам. Не стоит забывать, что у них ширина канала ограничена Великим Китайским Фаерволом. Однако оппозиция внутри сообщества устроила бунт, и предложенные изменения не нашли поддержки у майнеров. Несмотря на некоторый прогресс, мы до сих пор работаем с блоками в 1 мегабайт.
В определенном смысле это не так уж и важно. Если говорить о долгой перспективе, то Биткойну и не требуется восьми- или двадцатикратное увеличение производительности. Если он хочет конкурировать с существующими мировыми платёжными средствами, речь идет о росте минимум в 500-1000 раз. Хотя некоторые критики считают, что ему вообще не нужно становиться глобальным платёжным средством. Достаточно стать средством сбережения капиталов — чем-то вроде цифрового золота, а не повседневной валютой.
Альткойны
Проблема масштабирования актуальна практически для всех криптовалют, а не только для Биткойна. Просто сам Биткойн — это уже устоявшаяся и достаточно надёжная валюта, на порядки превосходящая другие по многим параметрам. Его можно сравнить с крупным океанским лайнером: надёжность велика, однако быстро сменить курс он не в состоянии. Другие протоколы, пусть намного менее распространённые и хуже протестированные, обладают большей гибкостью. Кроме того, они заранее могут учитывать на примере текущих проблем Биткойна, с какими угрозами им придется иметь дело в будущем. Некоторые уже включили в свою программу развития те или иные варианты масштабирования, которые предлагается использовать для Биткойна. Litecoin, разменное серебро для «золота» Биткойна, сейчас занимается внедрением выпущенного в конце прошлого года пакета обновленное ПО Segregated Witness (SegWit), чтобы обеспечить возможности для дальнейшего свободного масштабирования и распространения технологии.
Однако в основном речь идет о каких-то локальных улучшениях, а не о глобальном и окончательном устранении проблем. Постоянно растущие требования блокчейна к ресурсам для обработки и хранения данных о транзакциях уже стали предметом многочисленных научных исследований. Создателям новых платформ очевидно, что им нужно решать эту проблему прямо сейчас или, как минимум, обзавестись чёткой стратегией на будущее. Если же новые платформы будут заботиться только о росте и не будут искать решения, пока не упрутся непосредственно в это ограничение, они окажутся в том же положении, что и Биткойн.
Разные платформы подходят к вопросу по-разному, но в любом случае — на более фундаментальном уровне, чем банальное увеличение размера блока. Так, платформа Waves, запустившая масштабируемое, дружелюбное к пользователям блокчейн-решение и за счет этого собравшая значительные средства на краудфандинге, использует Scala вместо C++. При том, что на сегодняшний день и Биткойн и многие другие валюты работают именно на C++. Как можно догадаться по названию, Scala (от scale — масштабировать) намного лучше заточен под параллельные вычисления, а значит и под более быструю работу за счёт многопоточной обработки операций. Конечно, найти программистов, работающих на Scala, не так просто. Но те, что присутствуют на рынке, как правило, отличные специалисты. Ведь всем им пришлось предварительно набивать руку на других языках, прежде чем они смогли перейти на более сложный в использовании Scala. В качестве своеобразного бонуса за сложность в Scala заметно меньше ограничений.
В основе блокчейна лежат довольно замысловатые криптографические технологии. Некоторые принципы этих технологий можно было бы использовать для модернизации солидных и продолжающих свой рост баз данных, котрые хранятся в блокчейнах и привязываются к транзакциям. Так можно было бы не только сократить общий размер блокчейнов, но и включить в сеть устройства малой мощности. Другими словами, надежность блокчейна можно было бы поддерживать не только с помощью дорогостоящих машин с высоким энергопотреблением. Аналогично совершенствуются механизмы «консенсуса», которые добавляют транзакции в блокчейн. Биткойн, хоть и является пионером в этой сфере, всё-таки слишком медленный и неэффективный.
Улучшение метода, по которому происходит валидация транзакций, также может существенно увеличить пропускную способность. Используя комбинированную технику, команда разработки Waves намеревается увеличить транзакционную производительность до 1000 tps.
Lightning Network
Тысяча транзакций в секунду кажутся значительными цифрами, особенно учитывая текущую производительность Биткойна. Но в конечном счёте нужна ещё большая производительность.
Биткойн — это первая, самая безопасная и популярная криптовалюта. Среди биткойнового сообщества существует так называемая «максималистская» точка зрения, которая говорит о том, что Биткойн может и должен быть использован для любых целей. Существуют различные проекты, которые предлагают использовать именно Биткойн в качестве фундамента для всех начинаний, направленных на увеличение его производительности до миллионов транзакций в секунду. Эти проекты не поддерживают идею о создании нового блокчейна с нуля. Биткойн не подходит для массового внедрения в его текущей форме, а развитие, мягко говоря, ведётся по-черепашьи медленно. Однако, существует и альтернатива: производить транзакции вне блокчейна, а фиксировать их с помощью блокчейна. Такова цель Lightning Network.
Находящаяся в процессе разработки Lightning Network (LN) по существу может считаться набором реестров, отделенных от биткойнового блокчейна, но являющихся его ответвлениями. Все действия — с точки зрения собственно биткойнового реестра — происходят в «чёрном ящике» его же ответвления. Множество различных сторон могут пересылать средства друг другу в огромных объёмах при практически нулевых затратах. При этом умные контракты обеспечат встраивание результатов транзакций в биткойновый блокчейн для сохранения устойчивости и безопасности в любой необходимый или желательный момент. Создатели системы утверждают, что в итоге можно добиться производительности, которая будет значительно опережать производительность сети Visa.
Блокчейн всё ещё на раннем этапе своего развития. Это невероятный набор инновационных технологий, и без сомнения, мы ещё увидим по-настоящему креативные решения проблемы масштабирования реестра транзакций. В сущности эти решения пойдут рука об руку с развитием блокчейна, потому что именно они будут определять его успешность.
Поделиться с друзьями
Комментарии (4)
sotnikdv
23.03.2017 08:38+2У меня несколько вопросов касательно вот этого
Как можно догадаться по названию, Scala (от scale — масштабировать) намного лучше заточен под параллельные вычисления, а значит и под более быструю работу за счёт многопоточной обработки операций.
и этого
Используя комбинированную технику, команда разработки Waves намеревается увеличить транзакционную производительность до 1000 tps
1. Надо же, а Мартин то и не знает, почему он так язык назвал. Вы ему обьясните, пожалуйста, а то на сайте языка висит вот такая глупость
The name comes from two sources. First, «scala» is the Italian word for stairway, which is appropriate since Scala helps you ascend to a better programming language. The Scala logo is an abstraction of a stairway. Also, Scala stands for scalable language, because Scala's concepts scale well to large programs.
И поверьте, масштабируемость языка / концепций и масштабируемость, о которой Вы говорите, это как конь и коническая резьба.
2. Вы правда думаете, что проблема Биткоина в отсутствии параллелизации вычислений на клиенте?
3. Вы правда думаете, что Scala радикально (и вообще) быстрее C++ в области «многопоточной обработки операций»?
4. Вы правда думаете, что многопоточно обрабатываются операции, а не данные или это оговорка?
5. Вы вот только что наговорили пусть не на нобелевку, как Сатоши, но на памятник от благодарного человечества. Позвольте узнать, каким образом вы собираетесь решить проблемы протокола за счет ускорения клиента. И как вы собираетесь ускорять клиент за счет смены С++ на Scala. Да еще так, что-бы с 7tps до 1000tps
6. Это официальная статья? Вы официально ее представляете или это на добровольных началах в личное время? Я могу судить по вашей статье об уровне компании и платформе?
СпасибоTabernakulov
23.03.2017 16:48Да, действительно в статье есть неточности. На техническую часть ваших вопросов чуть позже ответит специалист.
Regis