Эта статья взята из статьи, написанной CKB и перепечатанной wublockchain. (Синопсис: Демонтаж стратегических амбиций Виталика по реконструкции исполнительного уровня Ethereum с помощью «RISC-V вместо EVM») (Предыстория добавлена: Пришло время EVM уйти!) Виталик предлагает перейти на RISC-V, ZK-proof производительность может быть улучшена более чем в 100 раз) Появление блокчейна сделало смарт-контракты более реализованными и развитыми, и между блокчейном и смарт-контрактами есть важная роль: виртуальные машины. Концепция виртуальных машин была предложена еще в шестидесятых годах прошлого века, а популярной она стала только в девяностых. В то время Интернет охватывал множество различных операционных систем и браузеров, и если разработчики хотели создать приложение, им нужно было адаптироваться ко всем различным операционным системам. Как известно, разработка приложений сейчас делится на системы Android и Apple, и тогда ситуация была более сложной. Так уж сложилось, что язык программирования Java стал популярным, и виртуальная машина, построенная на Java, может сделать программу, которую нужно написать только один раз, полагаясь на то, что виртуальная машина Java может выполняться на нескольких платформах, поэтому лозунг, предложенный в то время, был: компилируем в одном месте, выполняем везде. Мы знаем, что у Биткоина нет виртуальной машины, потому что Биткоин должен передавать номер (то есть «Биткоин») с адреса А на адрес Б, а Эфириум спрашивает, почему исполнение на блокчейне не может быть набором кода, который может реализовывать более сложные и разнообразные вещи? Это то, что мы называем платформой смарт-контрактов, где все узлы выполняют один и тот же код контракта и получают абсолютно одинаковый результат. В блокчейне виртуальная машина — это среда исполнения смарт-контракта, которая представляет собой законченную компьютерную систему, которую можно полностью изолировать от внешнего мира. Блокчейн вызывает и выполняет смарт-контракты через виртуальные машины и требует, чтобы все узлы согласились. В то время как узлы используют разные системы, некоторые машины являются 64-битными, некоторые — 32-битными, традиционная виртуальная машина Java допускает небольшую разницу в результатах вычислений, но в блокчейне все результаты должны быть одинаковыми, поэтому новая, дружественная к блокчейну виртуальная машина необходима. Идеальная виртуальная машина блокчейна Дизайн виртуальной машины каждого блокчейн-проекта будет иметь свои собственные художественные цели и заключать компромиссы на разных уровнях, преследуя при этом множество функций. Проведя множество исследований, мы считаем, что идеальная виртуальная машина блокчейна должна выглядеть следующим образом: Выполнение достаточно детерминировано, при вызове одного и того же входа смарт-контракта должен быть возвращен один и тот же выходной результат, и выходной результат не зависит от внешних условий, таких как время и среда выполнения; При выполнении присутствует достаточная безопасность, а выполнение виртуальной машины не оказывает негативного влияния на саму платформу; Достаточно гибкий для обновлений, так что блокчейн можно обновить или добавить в криптографические алгоритмы, не проходя через хардфорк (вспомните боль обновления с помощью хардфорка Ethereum); Информация достаточно прозрачна, чтобы позволить смарт-контракту, выполненному на виртуальной машине, реализовать весь потенциал виртуальной машины; Механизм оплаты достаточно разумен для того, чтобы расчет потребления ресурсов при выполнении виртуальной машины был более разумным и точным. Он может поддерживать компиляцию на разных языках, предоставляя разработчикам свободу разработки и использования новейших технологий. Прежде чем спроектировать виртуальную машину Nervos CKB, мы обнаружили, что многие блокчейн-проекты не используют реальный набор инструкций CPU для создания своих собственных виртуальных машин, они выбрали WASM для создания своих собственных виртуальных машин. Мы предпочитаем использовать реальный набор инструкций ЦП для создания наших собственных виртуальных машин, потому что в нижней части любой сложной виртуальной машины операции должны быть преобразованы в необработанные ассемблерные инструкции для выполнения операций на ЦП. Кроме того, использование реального набора инструкций ЦП не приводит к некоторым семантическим ограничениям на уровне проектирования и ограничивает гибкость виртуальной машины. Если провести неуместную аналогию, то для работы с процессором требуется языковая система, и использование реального набора инструкций процессора похоже на возможность «говорить» напрямую с процессором с помощью этой языковой системы, что очень удобно. В противном случае это все равно, что сначала говорить по-китайски, а потом переходить на английский, каким бы совершенным ни был уровень перевода, будут определенные отклонения и ограничения. С помощью реального набора инструкций ЦП виртуальная машина может добавлять любой тип структуры данных или алгоритма по мере необходимости, что может максимизировать возможности разработчика по написанию любого контракта, удовлетворяющего требованиям. Поэтому мы решили рискнуть и создать собственную виртуальную машину, CKB-VM, используя реальный набор инструкций ЦП. При выборе набора инструкций ЦП мы выбрали оптимизированный набор инструкций с открытым исходным кодом RISC-V. RISC-V может удовлетворить требования к реализации от небольших микропроцессоров с низким энергопотреблением до высокопроизводительных процессоров для центров обработки данных (DC) и характеризуется прозрачностью, простотой, модульностью, широтой поддержки и зрелостью. Эти функции идеально соответствуют требованиям проектирования CKB-VM. Так что же такое RISC-V? RISC-V RISC-V — это понятная, минималистичная архитектура набора инструкций ЦП с открытым исходным кодом, рожденная в Калифорнийском университете в Беркли. В 2010 году, из-за ограничений других коммерческих наборов инструкций с закрытым исходным кодом, исследовательская группа в университете начала новый проект и разработала новый набор инструкций с открытым исходным кодом с нуля. Благодаря большому количеству регистров и прозрачной скорости выполнения инструкций этот новый набор инструкций помогает компиляторам и программистам комбинаторных языков преобразовывать практические важные задачи в подходящий, эффективный код и содержит менее 50 инструкций. Этот набор инструкций называется RISC-V. Когда архитекторы разрабатывали RISC-V, они хотели, чтобы RISC-V эффективно работал на всех вычислительных устройствах. С момента своего изобретения в 2010 году чистый дизайн RISC-V завоевал широкую поддержку со стороны промышленности и научных кругов и был любим сообществом. Фонд RISC-V Разработка набора инструкций RISC-V в первую очередь осуществляется Фондом RISC-V и сообществом. Основанный в 2015 году, фонд RISC-V Foundation является некоммерческой организацией и первым открытым сообществом новаторов в области аппаратного и программного обеспечения. В настоящее время RISC-V Foundation насчитывает более 235 членов, включая Google, Qualcomm, Apple, IBM, Tesla, Huawei и другие компании. Участники могут участвовать в разработке и использовании спецификаций наборов инструкций RISC-V, а также участвовать в разработке соответствующих аппаратных и программных экосистем. Благодаря своей оптимизированной конструкции с открытым исходным кодом, RISC-V стал популярным в таких академических учреждениях, как Калифорнийский университет в Беркли, Массачусетский технологический институт, Принстонский университет и Институт вычислительной техники Китайской академии наук. Кроме того, некоторые правительственные учреждения, такие как правительство Индии и Шанхайская муниципальная комиссия по экономической информации, также решительно поддерживают разработку проектов на основе RISC-V. Существующий набор инструкций RISC-V является очень молодым набором инструкций, так каковы же основные наборы инструкций до этого? В эпоху ПК x86 является непоколебимым повелителем, x86 — это CISC (Complex Instruction Set Computer, сложный набор инструкций ) и RISC (Reduced Instruction Set Computer. В отличие от ) уменьшенных наборов команд, наборы инструкций CISC продолжают расти по мере их развития. В результате затраты продолжают расти, а производительность и энергопотребление страдают. Кроме того, длина набора инструкций CISC, время выполнения...
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
Технологии》Что такое RISC-V, который поддерживает Виталик? Почему CKB-VM выбрал RISC-V?
Эта статья взята из статьи, написанной CKB и перепечатанной wublockchain. (Синопсис: Демонтаж стратегических амбиций Виталика по реконструкции исполнительного уровня Ethereum с помощью «RISC-V вместо EVM») (Предыстория добавлена: Пришло время EVM уйти!) Виталик предлагает перейти на RISC-V, ZK-proof производительность может быть улучшена более чем в 100 раз) Появление блокчейна сделало смарт-контракты более реализованными и развитыми, и между блокчейном и смарт-контрактами есть важная роль: виртуальные машины. Концепция виртуальных машин была предложена еще в шестидесятых годах прошлого века, а популярной она стала только в девяностых. В то время Интернет охватывал множество различных операционных систем и браузеров, и если разработчики хотели создать приложение, им нужно было адаптироваться ко всем различным операционным системам. Как известно, разработка приложений сейчас делится на системы Android и Apple, и тогда ситуация была более сложной. Так уж сложилось, что язык программирования Java стал популярным, и виртуальная машина, построенная на Java, может сделать программу, которую нужно написать только один раз, полагаясь на то, что виртуальная машина Java может выполняться на нескольких платформах, поэтому лозунг, предложенный в то время, был: компилируем в одном месте, выполняем везде. Мы знаем, что у Биткоина нет виртуальной машины, потому что Биткоин должен передавать номер (то есть «Биткоин») с адреса А на адрес Б, а Эфириум спрашивает, почему исполнение на блокчейне не может быть набором кода, который может реализовывать более сложные и разнообразные вещи? Это то, что мы называем платформой смарт-контрактов, где все узлы выполняют один и тот же код контракта и получают абсолютно одинаковый результат. В блокчейне виртуальная машина — это среда исполнения смарт-контракта, которая представляет собой законченную компьютерную систему, которую можно полностью изолировать от внешнего мира. Блокчейн вызывает и выполняет смарт-контракты через виртуальные машины и требует, чтобы все узлы согласились. В то время как узлы используют разные системы, некоторые машины являются 64-битными, некоторые — 32-битными, традиционная виртуальная машина Java допускает небольшую разницу в результатах вычислений, но в блокчейне все результаты должны быть одинаковыми, поэтому новая, дружественная к блокчейну виртуальная машина необходима. Идеальная виртуальная машина блокчейна Дизайн виртуальной машины каждого блокчейн-проекта будет иметь свои собственные художественные цели и заключать компромиссы на разных уровнях, преследуя при этом множество функций. Проведя множество исследований, мы считаем, что идеальная виртуальная машина блокчейна должна выглядеть следующим образом: Выполнение достаточно детерминировано, при вызове одного и того же входа смарт-контракта должен быть возвращен один и тот же выходной результат, и выходной результат не зависит от внешних условий, таких как время и среда выполнения; При выполнении присутствует достаточная безопасность, а выполнение виртуальной машины не оказывает негативного влияния на саму платформу; Достаточно гибкий для обновлений, так что блокчейн можно обновить или добавить в криптографические алгоритмы, не проходя через хардфорк (вспомните боль обновления с помощью хардфорка Ethereum); Информация достаточно прозрачна, чтобы позволить смарт-контракту, выполненному на виртуальной машине, реализовать весь потенциал виртуальной машины; Механизм оплаты достаточно разумен для того, чтобы расчет потребления ресурсов при выполнении виртуальной машины был более разумным и точным. Он может поддерживать компиляцию на разных языках, предоставляя разработчикам свободу разработки и использования новейших технологий. Прежде чем спроектировать виртуальную машину Nervos CKB, мы обнаружили, что многие блокчейн-проекты не используют реальный набор инструкций CPU для создания своих собственных виртуальных машин, они выбрали WASM для создания своих собственных виртуальных машин. Мы предпочитаем использовать реальный набор инструкций ЦП для создания наших собственных виртуальных машин, потому что в нижней части любой сложной виртуальной машины операции должны быть преобразованы в необработанные ассемблерные инструкции для выполнения операций на ЦП. Кроме того, использование реального набора инструкций ЦП не приводит к некоторым семантическим ограничениям на уровне проектирования и ограничивает гибкость виртуальной машины. Если провести неуместную аналогию, то для работы с процессором требуется языковая система, и использование реального набора инструкций процессора похоже на возможность «говорить» напрямую с процессором с помощью этой языковой системы, что очень удобно. В противном случае это все равно, что сначала говорить по-китайски, а потом переходить на английский, каким бы совершенным ни был уровень перевода, будут определенные отклонения и ограничения. С помощью реального набора инструкций ЦП виртуальная машина может добавлять любой тип структуры данных или алгоритма по мере необходимости, что может максимизировать возможности разработчика по написанию любого контракта, удовлетворяющего требованиям. Поэтому мы решили рискнуть и создать собственную виртуальную машину, CKB-VM, используя реальный набор инструкций ЦП. При выборе набора инструкций ЦП мы выбрали оптимизированный набор инструкций с открытым исходным кодом RISC-V. RISC-V может удовлетворить требования к реализации от небольших микропроцессоров с низким энергопотреблением до высокопроизводительных процессоров для центров обработки данных (DC) и характеризуется прозрачностью, простотой, модульностью, широтой поддержки и зрелостью. Эти функции идеально соответствуют требованиям проектирования CKB-VM. Так что же такое RISC-V? RISC-V RISC-V — это понятная, минималистичная архитектура набора инструкций ЦП с открытым исходным кодом, рожденная в Калифорнийском университете в Беркли. В 2010 году, из-за ограничений других коммерческих наборов инструкций с закрытым исходным кодом, исследовательская группа в университете начала новый проект и разработала новый набор инструкций с открытым исходным кодом с нуля. Благодаря большому количеству регистров и прозрачной скорости выполнения инструкций этот новый набор инструкций помогает компиляторам и программистам комбинаторных языков преобразовывать практические важные задачи в подходящий, эффективный код и содержит менее 50 инструкций. Этот набор инструкций называется RISC-V. Когда архитекторы разрабатывали RISC-V, они хотели, чтобы RISC-V эффективно работал на всех вычислительных устройствах. С момента своего изобретения в 2010 году чистый дизайн RISC-V завоевал широкую поддержку со стороны промышленности и научных кругов и был любим сообществом. Фонд RISC-V Разработка набора инструкций RISC-V в первую очередь осуществляется Фондом RISC-V и сообществом. Основанный в 2015 году, фонд RISC-V Foundation является некоммерческой организацией и первым открытым сообществом новаторов в области аппаратного и программного обеспечения. В настоящее время RISC-V Foundation насчитывает более 235 членов, включая Google, Qualcomm, Apple, IBM, Tesla, Huawei и другие компании. Участники могут участвовать в разработке и использовании спецификаций наборов инструкций RISC-V, а также участвовать в разработке соответствующих аппаратных и программных экосистем. Благодаря своей оптимизированной конструкции с открытым исходным кодом, RISC-V стал популярным в таких академических учреждениях, как Калифорнийский университет в Беркли, Массачусетский технологический институт, Принстонский университет и Институт вычислительной техники Китайской академии наук. Кроме того, некоторые правительственные учреждения, такие как правительство Индии и Шанхайская муниципальная комиссия по экономической информации, также решительно поддерживают разработку проектов на основе RISC-V. Существующий набор инструкций RISC-V является очень молодым набором инструкций, так каковы же основные наборы инструкций до этого? В эпоху ПК x86 является непоколебимым повелителем, x86 — это CISC (Complex Instruction Set Computer, сложный набор инструкций ) и RISC (Reduced Instruction Set Computer. В отличие от ) уменьшенных наборов команд, наборы инструкций CISC продолжают расти по мере их развития. В результате затраты продолжают расти, а производительность и энергопотребление страдают. Кроме того, длина набора инструкций CISC, время выполнения...