- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин
Шрифт:
Интервал:
Закладка:
Отметим, что из соображений безопасности в будущем Ethereum, скорее всего, перейдет на модель proof-of-stake, после чего требование к эмиссии снизится до значения от 0 до 0,05x в год. В случае если организация Ethereum потеряет финансирование или исчезнет по какой-либо другой причине, мы оставляем открытым «социальный контракт»: любой имеет право создать свою версию будущего Ethereum с единственным условием, что количество эфира должно быть не более 60102216 × (1,198 + 0,26 × n), где n – количество лет, прошедших после создания первичного блока. Чтобы оплатить разработку, создатели могут свободно прибегать к краудсейлу или частично или полностью распределять разницу между увеличением монет за счет PoS и максимально допустимым увеличением монет каким-либо иным способом. Если версия обновится так, что перестанет соответствовать социальному контракту, с помощью форка ее вполне обоснованно можно будет откатить до подходящего варианта.
ЦЕНТРАЛИЗАЦИЯ МАЙНИНГА
Алгоритм майнинга биткойна устроен следующим образом: майнеры делают миллионы попыток вычислить хеш SHA256 чуть модифицированных заголовков блоков, пока кто-нибудь наконец не обнаружит хеш, который меньше таргета (сейчас он составляет около 2192). Такой алгоритм майнинга уязвим для двух форм централизации. Во-первых, в экосистеме майнинга доминируют ASIC (application-specific integrated circuits, «интегральная схема специального назначения») – компьютерные чипы, разработанные специально для майнинга биткойнов и, соответственно, в тысячи раз более эффективные. По этой причине майнинг нельзя назвать полностью децентрализованным и эгалитарным, и для заметного участия в нем требуются многомиллионные инвестиции. Во-вторых, большинство биткойн-майнеров на самом деле не производят валидацию блока самостоятельно, а полагаются на централизованные майнинг-пулы, которые предоставляют им заголовки блоков. Возможно, дело обстоит даже хуже: на сегодня три самых крупных майнинг-пула косвенно контролируют примерно 50 % вычислительных мощностей сети Bitcoin, хотя положение улучшает тот факт, что майнеры могут переключиться на другие майнинг-пулы, если пул или несколько пулов попробуют совершить атаку 51 %.
На данный момент мы собираемся решить эту проблему с помощью алгоритма, где майнеры получают случайный фрагмент данных о состоянии, высчитывают несколько случайно выбранных транзакций из последних N блоков и возвращают хеш результата. У такого подхода есть два важных плюса. Во-первых, контракты Ethereum могут включать в себя вычисления любого рода, так что для Ethereum ASIC должны справляться с любого вида вычислениями – то есть обладать более мощным процессором. Во-вторых, для майнинга необходим доступ ко всему блокчейну, из-за чего майнерам придется хранить весь блокчейн и как минимум иметь возможность верифицировать каждую транзакцию. При таких условиях в централизованных майнинг-пулах нет необходимости, поскольку p2p-пулы, по определению децентрализованные, справятся с их функцией не хуже, хотя централизованные майнинг-пулы тоже могут остаться и сглаживать беспорядочность, возникающую при распределении вознаграждений.
Эта модель еще не тестировалась, и может возникнуть проблема ее «хитрых» оптимизаций, при которых исполнение контракта будет использоваться в качестве алгоритма майнинга. Однако у этого алгоритма есть интересная особенность: он позволяет кому угодно «отравить колодец», добавив в блокчейн много контрактов, намеренно непригодных для вычисления ASIC. Производителям ASIC было бы выгодно использовать эту возможность для атаки друг друга. Таким образом, решение, которое мы разрабатываем, – скорее социальное и экономически адаптивное, нежели сугубо техническое.
МАСШТАБИРУЕМОСТЬ
Вопрос масштабируемости очень важен для системы Ethereum, поскольку ей свойственен недостаток, который есть и у Bitcoin: каждая транзакция должна быть проведена каждой нодой сети. Текущий размер блокчейна Bitcoin – 15 Гб, и он растет примерно на 1 Мб в час. Если бы сеть Bitcoin производила 2000 транзакций в секунду, как Visa, то блокчейн рос бы на 1 Мб каждые три секунды (1 Гб в час, 8 Тб в год). Ethereum, по-видимому, будет испытывать те же трудности, отягощенные тем, что, в отличие от Bitcoin, поверх него будет действовать множество приложений. Ситуацию ухудшает тот факт, что в Ethereum полным нодам не нужно хранить историю блокчейна, достаточно лишь помнить текущее состояние.
Большим блокчейнам неизбежно угрожает централизация. Если размер блокчейна возрастает, скажем, до 100 Тб, то с большой вероятностью полными нодами будет управлять незначительное количество крупных компаний, а простые пользователи будут держать легкие SPV-ноды. В такой ситуации владельцы полных нод могут вступить в сговор (например, чтобы изменить выплату за найденный блок или выдать BTC самим себе). Легкие ноды не смогут быстро обнаружить такой вид мошенничества. Конечно, хотя бы один владелец полной ноды будет честен, и буквально через несколько часов информация о мошенничестве просочится в условный Reddit, но будет уже поздно: обычным пользователям придется объединиться и внести конкретные блоки в черные списки, что потребует такого же сложного и, вероятно, недостижимого уровня координации, какой необходим для победы над атакой 51 %. Сейчас Bitcoin испытывает эти трудности, но их смягчает модификация блокчейна, предложенная Питером Тоддом.
В ближайшем будущем Ethereum собирается прибегнуть к двум дополнительным стратегиям, направленным на то, чтобы справиться с этой ситуацией. Во-первых, из-за того что майнинг-алгоритмы основаны на блокчейне, каждый майнер будет обязан как минимум держать полную ноду, что создаст нижний предел для количества полных нод. Во-вторых, что более важно, мы включим промежуточный корень дерева состояния в блокчейн после проведения каждой транзакции. Даже если валидация блоков будет централизована, пока хотя бы нода, занимающаяся верификацией, остается честной, проблемы можно избежать за счет протокола верификации. Если майнер публикует невалидный блок, то у этого блока либо неправильный формат, либо некорректное состояние S[n]. Поскольку начальное состояние S[0] корректно, должно существовать какое-то первое некорректное состояние S[i], где состояние S[i–1] будет корректно. Верифицирующая нода предоставит индекс i вместе с proof-of-invalidity, состоящим из подмножеств нод дерева Патрисии, которые пытаются произвести APPLY(S[i–1],TX[i]) – > S[i]. Ноды смогут использовать эти части дерева Патрисии для выполнения нужного фрагмента вычисления и убедиться, что получившееся S[i] не совпадает с S[i], предъявленным майнером.
Злоумышленники также могут провести более изощренную атаку, опубликовав неполные блоки, – в таком случае полной информации, которая могла бы показать валидность/невалидность блока, попросту не будет существовать. Здесь может помочь протокол ответа на вызов: ноды верификации выпускают «вызовы» в форме индексов целевых транзакций, и после получения ноды легкая нода воспринимает блок как невалидный до тех пор, пока