Este artigo é de um artigo escrito por CKB e reimpresso por wublockchain. (Sinopse: Desmantelando a ambição estratégica da Vitalik de reconstruir a camada executiva do Ethereum com "RISC-V em vez de EVM") (Background adicionado: É hora de EVM sair!) Vitalik propõe mudar para RISC-V, ZK desempenho à prova pode ser melhorado em mais de 100 vezes) O surgimento do blockchain tornou os contratos inteligentes melhor implementados e desenvolvidos, e há um papel importante entre blockchain e contratos inteligentes: máquinas virtuais. O conceito de máquinas virtuais foi proposto nos anos sessenta do século passado, e só se tornou popular nos anos noventa. A web naquela época abrangia muitos sistemas operacionais e navegadores diferentes, e se os desenvolvedores quisessem fazer um aplicativo, eles precisavam se adaptar a todos os diferentes sistemas operacionais. Como você sabe, o desenvolvimento de aplicativos agora está dividido em sistemas Android e Apple, e a situação era mais complicada naquela época. Aconteceu que a linguagem de programação Java se tornou popular, e a máquina virtual construída por Java pode fazer com que o programa só precise ser escrito uma vez, confiando na máquina virtual Java pode ser executado em várias plataformas, então o slogan proposto na época era: compilar em um só lugar, executar em todos os lugares. Sabemos que o Bitcoin não tem uma máquina virtual, porque o Bitcoin é para transferir um número (ou seja, "Bitcoin") do endereço A para o endereço B, e o Ethereum pergunta, por que a execução no blockchain não pode ser um conjunto de código que pode implementar coisas mais complexas e diversas? Isso é o que chamamos de plataforma de contrato inteligente, onde todos os nós executam o mesmo código de contrato e obtêm exatamente o mesmo resultado. No blockchain, a máquina virtual é o ambiente de execução do contrato inteligente, que é um sistema de computador completo que pode ser completamente isolado do mundo exterior. O blockchain invoca e executa contratos inteligentes através de máquinas virtuais e requer que todos os nós concordem. Enquanto os nós usam sistemas diferentes, algumas máquinas são de 64 bits, algumas são de 32 bits, a máquina virtual Java tradicional tolera uma pequena quantidade de diferença nos resultados de cálculo, mas no blockchain todos os resultados devem ser os mesmos, então uma nova máquina virtual amigável ao blockchain é essencial. A máquina virtual blockchain ideal O design de máquina virtual de cada projeto de blockchain terá sua própria atividade artística e fará compensações em diferentes níveis, enquanto persegue muitos recursos. Depois de fazer muita pesquisa, acreditamos que a máquina virtual blockchain ideal deve ficar assim: A execução é determinística o suficiente, ao chamar a mesma entrada de contrato inteligente, o mesmo resultado de saída deve ser retornado, e o resultado de saída não depende de condições externas, como tempo e ambiente de execução; Há segurança suficiente durante a execução e a execução da máquina virtual não afeta negativamente a própria plataforma; Flexível o suficiente para atualizações, para que o blockchain possa ser atualizado ou adicionado a algoritmos criptográficos sem passar por um hard fork (lembre-se da dor de atualizar com um hard fork Ethereum); As informações são transparentes o suficiente para permitir que o contrato inteligente executado na máquina virtual realize todo o potencial da máquina virtual; O mecanismo de taxa é razoável o suficiente para garantir que o cálculo do consumo de recursos durante a execução da máquina virtual seja mais razoável e preciso. Ele pode suportar a compilação em diferentes idiomas, dando aos desenvolvedores a liberdade de desenvolver e usar a tecnologia mais recente. Antes de projetar a máquina virtual Nervos CKB, descobrimos que muitos projetos de blockchain não usavam o conjunto de instruções de CPU real para construir suas próprias máquinas virtuais, eles escolheram o WASM para construir suas próprias máquinas virtuais. Preferimos usar o conjunto de instruções de CPU real para construir nossas próprias máquinas virtuais, porque na parte inferior de qualquer máquina virtual sofisticada, as operações precisam ser transformadas em instruções de montagem brutas para executar operações na CPU. Além disso, o uso do conjunto de instruções da CPU real não introduz algumas restrições semânticas no nível de design e restringe a flexibilidade da máquina virtual. Para fazer uma analogia inadequada, operar a CPU requer um sistema de linguagem, e usar o conjunto de instruções da CPU real é como ser capaz de "falar" diretamente com a CPU com este sistema de linguagem, o que é muito conveniente. Caso contrário, é como falar chinês primeiro e depois converter para inglês, não importa quão perfeito seja o nível de tradução, haverá certos desvios e restrições. Através do conjunto de instruções da CPU real, a máquina virtual pode adicionar qualquer tipo de estrutura de dados ou algoritmo, conforme necessário, o que pode maximizar a capacidade do desenvolvedor de escrever qualquer contrato que atenda aos requisitos. Então decidimos nos aventurar e construir nossa própria máquina virtual, CKB-VM, usando um conjunto de instruções de CPU real. Na escolha do conjunto de instruções da CPU, escolhemos o conjunto de instruções de código aberto simplificado RISC-V. O RISC-V pode atender aos requisitos de implementação, desde microprocessadores pequenos de baixa potência até processadores de data center (DC) de alto desempenho, e é caracterizado pela transparência, simplicidade, modularidade, amplitude de suporte e maturidade. Esses recursos são perfeitamente compatíveis com os requisitos de design do CKB-VM. Então, o que é RISC-V? RISC-V RISC-V é uma arquitetura de conjunto de instruções de CPU clara, minimalista e de código aberto nascida na Universidade da Califórnia, Berkeley. Em 2010, devido às limitações de outros conjuntos de instruções comerciais de código fechado, uma equipe de pesquisa da universidade iniciou um novo projeto e projetou um novo conjunto de instruções de código aberto do zero. Com um grande número de registos e velocidades de execução de instruções transparentes, este novo conjunto de instruções ajuda os compiladores e programadores de linguagem combinatória a converter problemas práticos importantes em código adequado e eficiente e contém menos de 50 instruções. Este conjunto de instruções é RISC-V. Quando os arquitetos projetaram o RISC-V, eles queriam que o RISC-V funcionasse efetivamente em todos os dispositivos de computação. Desde a sua invenção em 2010, o design limpo do RISC-V ganhou amplo apoio da indústria e da academia, e tem sido amado pela comunidade. Fundação RISC-V O desenvolvimento do conjunto de instruções RISC-V é conduzido principalmente pela Fundação RISC-V e pela comunidade. Fundada em 2015, a Fundação RISC-V é uma organização sem fins lucrativos e a primeira comunidade aberta e colaborativa de inovadores de hardware e software. A Fundação RISC-V tem atualmente mais de 235 membros, incluindo Google, Qualcomm, Apple, IBM, Tesla, Huawei e outras empresas. Os membros podem participar no desenvolvimento e uso das especificações do conjunto de instruções RISC-V e participar no desenvolvimento de ecossistemas de hardware e software relacionados. Devido ao seu design simplificado e de código aberto, o RISC-V tornou-se popular em instituições acadêmicas como a Universidade da Califórnia, Berkeley, o Instituto de Tecnologia de Massachusetts, a Universidade de Princeton e o Instituto de Computação da Academia Chinesa de Ciências. Além disso, algumas agências governamentais, como o governo indiano e a Comissão Municipal de Informação Económica de Xangai, também apoiam fortemente o desenvolvimento de projetos baseados no RISC-V. O conjunto de instruções RISC-V existente é um conjunto de instruções muito jovem, então quais são os principais conjuntos de instruções antes disso? Na era do PC, x86 é o senhor inabalável, x86 é CISC (Complex Instruction set Computer, complexo instruction set ) e RISC (Reduced Instruction set Computer. Ao contrário ) conjuntos de instruções reduzidos, os conjuntos de instruções CISC continuam a crescer à medida que evoluem. Como resultado, os custos continuam a aumentar e o desempenho e o consumo de energia sofrem. Além disso, o tempo de execução do conjunto de instruções CISC, o tempo de execução...
O conteúdo serve apenas de referência e não constitui uma solicitação ou oferta. Não é prestado qualquer aconselhamento em matéria de investimento, fiscal ou jurídica. Consulte a Declaração de exoneração de responsabilidade para obter mais informações sobre os riscos.
Tecnologia》O que é o RISC-V promovido por Vitalik? Por que o CKB-VM escolheu o RISC-V?
Este artigo é de um artigo escrito por CKB e reimpresso por wublockchain. (Sinopse: Desmantelando a ambição estratégica da Vitalik de reconstruir a camada executiva do Ethereum com "RISC-V em vez de EVM") (Background adicionado: É hora de EVM sair!) Vitalik propõe mudar para RISC-V, ZK desempenho à prova pode ser melhorado em mais de 100 vezes) O surgimento do blockchain tornou os contratos inteligentes melhor implementados e desenvolvidos, e há um papel importante entre blockchain e contratos inteligentes: máquinas virtuais. O conceito de máquinas virtuais foi proposto nos anos sessenta do século passado, e só se tornou popular nos anos noventa. A web naquela época abrangia muitos sistemas operacionais e navegadores diferentes, e se os desenvolvedores quisessem fazer um aplicativo, eles precisavam se adaptar a todos os diferentes sistemas operacionais. Como você sabe, o desenvolvimento de aplicativos agora está dividido em sistemas Android e Apple, e a situação era mais complicada naquela época. Aconteceu que a linguagem de programação Java se tornou popular, e a máquina virtual construída por Java pode fazer com que o programa só precise ser escrito uma vez, confiando na máquina virtual Java pode ser executado em várias plataformas, então o slogan proposto na época era: compilar em um só lugar, executar em todos os lugares. Sabemos que o Bitcoin não tem uma máquina virtual, porque o Bitcoin é para transferir um número (ou seja, "Bitcoin") do endereço A para o endereço B, e o Ethereum pergunta, por que a execução no blockchain não pode ser um conjunto de código que pode implementar coisas mais complexas e diversas? Isso é o que chamamos de plataforma de contrato inteligente, onde todos os nós executam o mesmo código de contrato e obtêm exatamente o mesmo resultado. No blockchain, a máquina virtual é o ambiente de execução do contrato inteligente, que é um sistema de computador completo que pode ser completamente isolado do mundo exterior. O blockchain invoca e executa contratos inteligentes através de máquinas virtuais e requer que todos os nós concordem. Enquanto os nós usam sistemas diferentes, algumas máquinas são de 64 bits, algumas são de 32 bits, a máquina virtual Java tradicional tolera uma pequena quantidade de diferença nos resultados de cálculo, mas no blockchain todos os resultados devem ser os mesmos, então uma nova máquina virtual amigável ao blockchain é essencial. A máquina virtual blockchain ideal O design de máquina virtual de cada projeto de blockchain terá sua própria atividade artística e fará compensações em diferentes níveis, enquanto persegue muitos recursos. Depois de fazer muita pesquisa, acreditamos que a máquina virtual blockchain ideal deve ficar assim: A execução é determinística o suficiente, ao chamar a mesma entrada de contrato inteligente, o mesmo resultado de saída deve ser retornado, e o resultado de saída não depende de condições externas, como tempo e ambiente de execução; Há segurança suficiente durante a execução e a execução da máquina virtual não afeta negativamente a própria plataforma; Flexível o suficiente para atualizações, para que o blockchain possa ser atualizado ou adicionado a algoritmos criptográficos sem passar por um hard fork (lembre-se da dor de atualizar com um hard fork Ethereum); As informações são transparentes o suficiente para permitir que o contrato inteligente executado na máquina virtual realize todo o potencial da máquina virtual; O mecanismo de taxa é razoável o suficiente para garantir que o cálculo do consumo de recursos durante a execução da máquina virtual seja mais razoável e preciso. Ele pode suportar a compilação em diferentes idiomas, dando aos desenvolvedores a liberdade de desenvolver e usar a tecnologia mais recente. Antes de projetar a máquina virtual Nervos CKB, descobrimos que muitos projetos de blockchain não usavam o conjunto de instruções de CPU real para construir suas próprias máquinas virtuais, eles escolheram o WASM para construir suas próprias máquinas virtuais. Preferimos usar o conjunto de instruções de CPU real para construir nossas próprias máquinas virtuais, porque na parte inferior de qualquer máquina virtual sofisticada, as operações precisam ser transformadas em instruções de montagem brutas para executar operações na CPU. Além disso, o uso do conjunto de instruções da CPU real não introduz algumas restrições semânticas no nível de design e restringe a flexibilidade da máquina virtual. Para fazer uma analogia inadequada, operar a CPU requer um sistema de linguagem, e usar o conjunto de instruções da CPU real é como ser capaz de "falar" diretamente com a CPU com este sistema de linguagem, o que é muito conveniente. Caso contrário, é como falar chinês primeiro e depois converter para inglês, não importa quão perfeito seja o nível de tradução, haverá certos desvios e restrições. Através do conjunto de instruções da CPU real, a máquina virtual pode adicionar qualquer tipo de estrutura de dados ou algoritmo, conforme necessário, o que pode maximizar a capacidade do desenvolvedor de escrever qualquer contrato que atenda aos requisitos. Então decidimos nos aventurar e construir nossa própria máquina virtual, CKB-VM, usando um conjunto de instruções de CPU real. Na escolha do conjunto de instruções da CPU, escolhemos o conjunto de instruções de código aberto simplificado RISC-V. O RISC-V pode atender aos requisitos de implementação, desde microprocessadores pequenos de baixa potência até processadores de data center (DC) de alto desempenho, e é caracterizado pela transparência, simplicidade, modularidade, amplitude de suporte e maturidade. Esses recursos são perfeitamente compatíveis com os requisitos de design do CKB-VM. Então, o que é RISC-V? RISC-V RISC-V é uma arquitetura de conjunto de instruções de CPU clara, minimalista e de código aberto nascida na Universidade da Califórnia, Berkeley. Em 2010, devido às limitações de outros conjuntos de instruções comerciais de código fechado, uma equipe de pesquisa da universidade iniciou um novo projeto e projetou um novo conjunto de instruções de código aberto do zero. Com um grande número de registos e velocidades de execução de instruções transparentes, este novo conjunto de instruções ajuda os compiladores e programadores de linguagem combinatória a converter problemas práticos importantes em código adequado e eficiente e contém menos de 50 instruções. Este conjunto de instruções é RISC-V. Quando os arquitetos projetaram o RISC-V, eles queriam que o RISC-V funcionasse efetivamente em todos os dispositivos de computação. Desde a sua invenção em 2010, o design limpo do RISC-V ganhou amplo apoio da indústria e da academia, e tem sido amado pela comunidade. Fundação RISC-V O desenvolvimento do conjunto de instruções RISC-V é conduzido principalmente pela Fundação RISC-V e pela comunidade. Fundada em 2015, a Fundação RISC-V é uma organização sem fins lucrativos e a primeira comunidade aberta e colaborativa de inovadores de hardware e software. A Fundação RISC-V tem atualmente mais de 235 membros, incluindo Google, Qualcomm, Apple, IBM, Tesla, Huawei e outras empresas. Os membros podem participar no desenvolvimento e uso das especificações do conjunto de instruções RISC-V e participar no desenvolvimento de ecossistemas de hardware e software relacionados. Devido ao seu design simplificado e de código aberto, o RISC-V tornou-se popular em instituições acadêmicas como a Universidade da Califórnia, Berkeley, o Instituto de Tecnologia de Massachusetts, a Universidade de Princeton e o Instituto de Computação da Academia Chinesa de Ciências. Além disso, algumas agências governamentais, como o governo indiano e a Comissão Municipal de Informação Económica de Xangai, também apoiam fortemente o desenvolvimento de projetos baseados no RISC-V. O conjunto de instruções RISC-V existente é um conjunto de instruções muito jovem, então quais são os principais conjuntos de instruções antes disso? Na era do PC, x86 é o senhor inabalável, x86 é CISC (Complex Instruction set Computer, complexo instruction set ) e RISC (Reduced Instruction set Computer. Ao contrário ) conjuntos de instruções reduzidos, os conjuntos de instruções CISC continuam a crescer à medida que evoluem. Como resultado, os custos continuam a aumentar e o desempenho e o consumo de energia sofrem. Além disso, o tempo de execução do conjunto de instruções CISC, o tempo de execução...