• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Как реализовать on-chain-масштабирование сети Dash

alex-ru

Well-known member
ПЕРЕВОД
Оригинал: https://medium.com/@eduffield222/how-to-enabling-on-chain-scaling-2ffab5997f8b

Возможность масштабировать сеть - это давний и сложный барьер на пути к массовому использованию цифровых валют. На сегодняшний день, ещё никто не выдвинул действительно рабочего предложения, как обеспечить обработку того же количества транзакций в секунду, как PayPal или VISA. Лидеры самых разных криптовалютных проектов заявляют, что однажды мир будет использовать именно “их” валюту, при этом не предоставляя никакого чёткого и продуманного плана по масштабированию сети до необходимого уровня. Даже Сатоси Накомото, создатель Биткойна, похоже, просто предполагал, что усовершенствование компьютерного и сетевого оборудования автоматически решит все вопросы с масштабированием за него самого. Dash - это первая цифровая валюта, которая даёт ответ на вопрос масштабирования, не полагаясь при этом на некое теоретическое оборудование, которого пока не существует и может вообще не появится. Dash будет способен конкурировать с централизованными решениями наподобие PayPal и VISA, просто используя уже имеющуюся инфраструктуру.

Двухуровневая сеть Dash принесла многие преимущества за время своего существования и позволила создать такие важные технологии как InstantSend, PrivateSend и Децентрализованное Управление. На данный момент существует порядка 4000 Мастернод, обеспечивающих второй уровень сети Dash. Поскольку Мастерноды получают долю с награды за блок, их владельцы могут позволить себе высококачественные виртуальные серверы для хостинга своих нод. Именно поэтому у нас настолько высококачественная децентрализованная инфраструктура сети. Опираясь на Мастерноды, Dash сможет масштабировать свою сеть намного быстрее любого другого проекта. Первая версия проекта Dash Эволюция сможет обслуживать до 500 000 пользователей ежедневно, а на протяжении последующих трёх лет, мы сможем увеличить масштаб сети так, что она будет способна поддерживать 50 миллионов пользователей. Этот документ объясняет, как мы выполним эту беспрецедентную задачу.

Многие из криптовалютных проектов утверждают, что провести масштабирование на базе самой технологии блокчейн невозможно. Дело в том, что они не изучали альтернативные P2P структуры в поисках высокопроизводительных решений. Мы намерены показать, как далеко может продвинуться Dash архитектура второго уровня, которая обеспечена стимулом в виде выплат.

Вот как наша сеть работает на сегодняшний день, с первым уровнем нод, работающих прямо непосредственно вместе со вторым уровнем сети.
966962ba1e44.png


h9JEXKyUUpxwbNtik3Z1CFQUjx3qDWWAYMwaGjjmkkX7sNowF9rllrfYIN6zz34ouWu5u868ppA6b4p-P8X5ETnBwT93RAtQIZw3UwI044aPIra63DJ55xojDZbFA_yLs2hqxOoU



От частного виртуального сервера (VPS) к серверной ферме.

Dash уже привлекает серьёзный интерес известных компаний, желающих создавать свои новые продукты на основе сети Dash. По причине интереса таких компаний к Dash, нам ясно, что вопросами масштабирования надо заниматься немедленно. Когда в следующем году выйдет первая версия Dash Эволюция, мы ожидаем ещё больший интерес к себе и, следовательно, должны быть уверены, что будет обеспечена способная расти быстро пропускная способность сети. Чтобы достичь заданных целей по масштабированию, Dash начнёт поддержку 2 Мб блоков начиная уже с 4-го квартала 2017 года. Мы планируем проводить масштабирование до того, как будет фактически достигнут предел по пропускной способности сетий. Мы будем работать на опережение.

Первая версия Dash Эволюции, которую мы ожидаем в 2018 году, будет поддерживать 5 Мб блоки. Мы считаем, что те невероятные функции и простота использования, которые заложены в Эволюции, дадут всплеск потребности в услугах нашей сети. Мы хотим быть уверенными, что обеспечиваем достаточную пропускную способность сети, готовую обработать возросшую активность в ней. Вторая версия Эволюции будет поддерживать 15 Мб блоки, при использовании специализированного оборудования для хостинга Мастернод, которое уже разрабатывается в нашем подразделении Dash Labs.

Скорее всего мы будем использовать GPU для обработки блоков, создавая первую итерацию оборудования для “ускорения ультра-крупных блоков” (ULBA- ultra-large block acceleration). Наконец, третья версия Эволюции будет поддерживать блоки в 45 Мб, используя специализированное оборудование с PCI-EX картами для оптимизации обработки блоков и возможности поддерживать 50 миллионов пользователей.

Вот как наша сеть будет выглядеть после модернизации:
454d8b7366ac.png


Теоретические аспекты.

Будет разумным спросить, почему же другие криптовалютные проекты не адаптируют использование ультра-крупных блоков для масштабирования пропускной способности? Крупные блоки создают определённые сложности для нод сети: каждая нода должна обработать транзакцию в пределах блока и затем передать её в сеть. Многие криптовалюты полагаются на альтруизм - на обычных пользователей сети, которые будут держать ноды бесплатно, просто чтобы поддерживать сеть в рабочем состоянии. К сожалению, если не будет экономических стимулов, то эти сети со временем упрутся в бутылочное горлышко, создаваемое самыми медленными нодами. Dash решает эту проблему, финансово стимулируя качественную работу своих Мастернод, давая им долю награды за блок.

Техническое решение задачи создания сети, которая может поддерживать крупные блоки имеет три стороны:
* Во-первых, необходима уверенность, что каждая Мастернода работает на оборудовании достаточно мощном, чтобы быстро обрабатывать каждый блок.
* Во-вторых, необходимо убедиться, что у каждой Мастерноды достаточно широкий канал, чтобы передавать блоки через сеть достаточно быстро.
* В-третьих, необходима уверенность в том, что сеть Мастернод второго уровня имеет достаточно взаимных связей и может передавать блоки внутри сети на очень высоких скоростях.​

Даже без специализированного оборудования, Мастерноды могут поддерживать намного более крупные размеры блоков, при условии наличия у них адекватного процессора, оперативной памяти и жесткого диска. Поэтому, мы хотим начать процесс введения в использования более крупных блоков даже раньше выпуска самой Эволюции. Масштабирование сейчас является большой задачей в мире криптовалют, некоторые проекты уже столкнулись с ростом комиссий за транзакцию и долгим временем подтверждения. Начав масштабировать сеть Dash уже сейчас, мы можем предложить решение всех этих проблем прежде, чем они начнут создавать проблемы для нашей сети.

Гевин Андерсон проделал огромную работу по исследованию 20 Мб блоков перед своим уходом из проекта Биткойн, и я сделал вывод, что наша сеть может легко справиться с 20 Мб и даже более крупными блоками, при условии, что мы не будем затягивать с решением вопросов трансляции блоков в сеть. С замечательным исследованием Гевина вы можете ознакомиться здесь:

http://gavintech.blogspot.com/2015/01/twenty-megabytes-testing-results.html
http://gavintech.blogspot.com/2015/01/looking-before-scaling-up-leap.html

На основе этого и наших собственных исследований на протяжении последних полутора лет, мы предлагаем следующий
План апгрейда сети Мастернод:

Этап I — V13: нормальные VPS серверы, которые можно модернизировать до относительно высокопроизводительного уровня без использования специализированного оборудования. Это позволит нам поддерживать блоки вплоть до 20 Мб.

Этап II — V14: специализированные компьютеры с высокопроизводительными многоядерными процессорами в серверных фермах для быстрой передачи блоков и сверхнизких задержек..

Этап III — V15: использование GPU ускорителей. GPU типа nVidia Tesla имеют программируемые процессоры CUDA. Модель, приведённая ниже включает 448 таких ядра, что позволит Мастернодам обрабатывать криптографические подписи к каждой транзакции в параллельном режиме. Мы также напишем небольшие скрипты, которые позволят ускорить решение различных задач для клиента Dash Core, перенаправляя решение самых тяжёлых из них на сеть Мастернод.


f9773928157f.png

http://www.nvidia.com/docs/IO/43395/NV_DS_Tesla_M2050_M2070_Apr10_LowRes.pdf

Этап IV — V15: ASIC на PCI-EX периферийном оборудовании. Как и майнеры, перешедшие с процессоров на графические карты (GPU), а затем и на специализированные ASIC, эволюция оборудования для сети Мастернод Dash проследует тем же путём. На этом этапе мы создадим специализированные ASIC в виде или PCI-EX-периферии или же в виде внешних устройства на шине USB 3.0. Первое поколение ULBA устройств будут выполнены по технологическому процессу с низким уплотнением и ориентированные на конкретные версии клиента Dash Core.

ULBA устройства внутри оборудования для Мастернод возьмут на себя специфические функции и будут выполнять их со скоростями от десяти до ста раз более высокими, чем скорости GPU решений. Разработка и создание этого оборудования будет полностью open-source и будет профинансировано самой сетью Мастернод. Это уменьшит стремление частных компаний делать проприетарное оборудование под эту задачу исключительно в целях своей финансовой выгоды, не задумываясь об интересах самой сети.

Короче говоря, переход на 20 Мб блоки и выше будет требовать, чтобы каждая Мастернода была запущена на комплексном наборе специального оборудования. К этому оборудованию будут предъявляться требования резервирования, безотказности, сбалансированной нагрузки, параллелизации GPU, специального PCI-EX оборудования и набор жестких дисков для безопасного хранения данных сети в условиях увеличения её размера.
Мастерноды будут поддерживать два типа жёстких дисков: HDD вращающиеся диски с большим объёмом хранения данных и SSD для быстрых операций чтения/записи, что особенно важно для хранения блокчейна и кэша.

Этап V:

Новые версии ULBA устройств, использующие передовые технологии, чипы по технологии с высоким уплотнением и скоростное соединение по оптоволокну с сетью Мастренод. На этом этапе мы запустим такие сетевые сервисы, как обозреватели блоков, которые будут требовать полную локальную валидацию.
 
Last edited:
Осторожно, отойдите от края платформы!

Майнерам и другим, кто хочет хранить у себя все данные, которые перемещаются по сети, понадобится широкополосный канал и мощные серверы. Им понадобится на столь же мощное оборудование, как то, которое используется Мастернодами. Это поможет увеличить приватность, поскольку попытки прослеживать сеть станут непозволительно дорогими.

Тем не менее, есть риск, что майнеры, столкнувшись с необходимостью дополнительных затрат на оборудование, потеряют финансовый стимул к майнингу. Им придётся тратить деньги и на поддержание в работе оборудования как для Мастерноды, так и для майнера, при том, что выплаты они будут получать лишь за майнинг. Майнеры, которые не смогут или не будут желать делать модернизацию своего оборудования всё чаще будут обнаруживать у себя блоки-сироты (орфаны), что существенно уменьшит их доходы.

Мы решим этот экономический вопрос системой, называемой “майнинг, подтверждённый залогом”. Если объяснить по-простому, мы интегрируем процесс майнинга в саму сеть Мастернод Dash. На Мастернодах, работающих на специальном продвинутом оборудовании также будет запущена программа для майнинга. Мы назовём эту комбинированную Мастерноду/майнер “Подтверждённый залогом майнером”. Мощность в хешах, которую может выдать обладатель этого оборудования будет определяться тем, сколько Мастернод он имеет. Перед обязательным введением подтверждённого залогом майнинга будет обязательный переходный период, который позволит работающим сейчас майнерам возместить свои первоначальные затраты капитала на уже используемое оборудование.
8b97768b98d1.png



Экономика и ширина канала.

Основная компонента подтверждённого залогом майнинга - это необходимость в подтвеждении залогом и специальном майнинг-ключе, ассоциированном с каждой Мастернодой, чтобы намайнить блоки. Каждая Мастернода, таким образом, будет способна намайнить лишь определённое количество блоков за временной отрезок, образуя в сети эффект циклического майнинга.

У этого будет много преимуществ:
  • Низкое энергопотребление

  • Равные доли награды для каждой Мастерноды

  • Защищённые хеши для инициализации кворумов

  • Быстрая обработка блоков

  • Быстрая передача блоков

  • Поддержка ультра-крупных блоков

  • Полная защита от атаки 51%

  • Отказ от майнинга пулами
Ширина канала и скорость передачи блоков станут не столь критичными вопросами, по причине увеличенной связности сети и большей ширины канала ethernet в сети Dash.

Мы считаем, что Dash Эволюция приведёт наш проект в соответствие с изначальным видением Сатоси Накамото принципов устройства децентрализованной цифровой валюты.

Сатоси Накамото писал:
“Текущая система, в которой каждый пользователь является узлом сети не является подходящей конфигурацией для сети большого масштаба. Это было бы так же как если бы каждый пользователь Usenet запустил свой NNTP сервер. Устройство сети позволяет пользователям быть просто пользователями. Чем более тяжелой ношей будет иметь ноду, тем меньше будет нод. Это небольшое число нод будет серверными фермами. А остальные будут клиентскими нодами и будут только проводить транзакции, а не генерировать их”. (Сатоси, 2010).

Первый уровень сети (конечные пользователи, работающие через программу клиента Dash Core) будет естественным образом выведен из работы, так как пользователи получат доступ к сети путём использования нашего децентрализованный API (DAPI). Мы называет DAPI “сетью третьего уровня”.


Этапы перехода на подтверждение залогом майнинг.

Мы будем переводить сеть на подтверждённый залогом майнинг постепенно, чтобы поддерживать безопасность сети, одновременно позволяя существующим майнерам возместить затраты на их майнинговое оборудование. Мы проведёт апгрейд сети Dash следующими этапами:
  • Этап I: Обычный майнер / организация майнинга Мастернодами

  • Этап II: Опциональные майнинг-ключи для Мастернод

  • Этап III: Обязательные майнинг-ключи для Мастернод

  • Этап IV: Обязательный ASIC с core daemon для Мастерноды
Кроме того, Мастерноды начнут использовать различные ключи-подписи для различных действий. Сейчас Мастерноды используют один и тот же ключ для всякого действия, в будущем же им понадобится ключ, который будет специально делегироваться тому, кто будет майнить от имени каждой Мастерноды (подрядчику). Это предотвратит возможность подрядчика совершать какие-либо иные действия от имени Мастерноды, кроме майнинга (например, голосовать).

(Примечание: это относится только к сервисному ключу Мастерноды, а не к приватному ключу от адреса, который хранит подтверждение залога в 1000 DASH. Этот ключ всегда будет оставаться под контролем исключительно владельца Мастерноды).

Сейчас:
A+B | Публичный ключ Мастерноды / Ключ для подписи

В будещем:
A+B+C+D | Публичный ключ Мастерноды / Ключ для подписи сообщений в сети / Ключ для голосования / Ключ для майнинга / ...
 
Last edited:
Back
Top