Autor original: Carl Hua, sócio e CTO da Shima Capital
Após a recente exploração de reentrada do Curve, reflito sobre meu tempo no JPL NASA, onde aprendi os princípios-chave do desenvolvimento de software confiável e resiliente. Para a indústria cripto, esses insights são agora mais importantes do que nunca, e aqui está o porquê:
No final das contas, existem apenas dois tipos de software com os quais as pessoas realmente se importam: software que pode matar você e software que pode fazer você perder dinheiro.
A maior parte do orçamento (80%+) de software crítico de qualquer máquina aeroespacial não é alocada para o desenvolvimento em si, mas para integração e teste. Se o software falhar, veículos voadores cairão do céu – caças, drones, naves espaciais, etc.
A maior parte do código em software aeroespacial (se classificado como módulo crítico) adere a padrões de teste/desenvolvimento extremamente rigorosos, como DO-178B Nível A. Não apenas cada linha de código precisa ser testada, mas se houver lógica aninhada, cada condição lógica também será testada especificamente.
No JPL NASA, a filosofia de escrever software avançado para voos espaciais não é escrever o código mais bonito e limpo, mas escrever código que seja fácil de testar por unidade. Por que? É simples: quando você envia uma espaçonave ao espaço, você só tem uma chance e ninguém quer correr riscos com alta probabilidade de fracasso. Esta é a mesma lógica dos blockchains, já que o código imutável é sua característica importante, e só temos uma chance de gastar nossos fundos corretamente em cada transação, então por que não levamos o processo de desenvolvimento de dApps mais a sério?
Apesar dos rigorosos processos de desenvolvimento, teste e auditoria de código, esses meios claramente não são suficientes para mitigar todos os bugs e ataques, uma vez que, na verdade, eliminar todos os bugs de tempo de execução por meio de testes e auditoria é quase impossível. Então, como protegemos nosso software contra falhas?
Proteção em tempo de execução
A proteção em tempo de execução é uma técnica de segurança que protege aplicativos de software contra ataques maliciosos enquanto estão em execução. Seu princípio é realizar a detecção em tempo real quando o código está realmente em execução e analisar o comportamento real do programa para protegê-lo contra dados e ataques maliciosos.
As proteções de tempo de execução para software de alta confiabilidade exigem esforço e design significativos porque são a última linha de defesa para garantir que o software não entre em estados desconhecidos ou falhe. Este não é apenas um argumento, mas décadas de prática comprovada.
Hoje, na Web3, acho que os aplicativos DeFi precisam da mesma alta confiabilidade e devem considerar a mesma abordagem. No entanto, devido às suas possíveis limitações, o EVM não foi projetado para lidar com tarefas complexas, como proteção em tempo de execução. Então, como fornecemos proteção em tempo de execução?
Uma maneira é por meio da programação Aspect, Aspects é projetado pela rede blockchain Artela, que é capaz de alternar o contexto de execução durante o ciclo de vida de qualquer transação de contrato inteligente para realizar verificações avançadas no estado em tempo real do programa. A Artela oferece um design exclusivo de proteção em tempo de execução por meio da compatibilidade com Aspect e EVM, e tem a oportunidade de se tornar a base futura da segurança de contrato inteligente criptografado.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Refletindo sobre o evento Curve, por que precisamos de proteção em tempo de execução
Autor original: Carl Hua, sócio e CTO da Shima Capital
Após a recente exploração de reentrada do Curve, reflito sobre meu tempo no JPL NASA, onde aprendi os princípios-chave do desenvolvimento de software confiável e resiliente. Para a indústria cripto, esses insights são agora mais importantes do que nunca, e aqui está o porquê:
No final das contas, existem apenas dois tipos de software com os quais as pessoas realmente se importam: software que pode matar você e software que pode fazer você perder dinheiro.
A maior parte do orçamento (80%+) de software crítico de qualquer máquina aeroespacial não é alocada para o desenvolvimento em si, mas para integração e teste. Se o software falhar, veículos voadores cairão do céu – caças, drones, naves espaciais, etc.
A maior parte do código em software aeroespacial (se classificado como módulo crítico) adere a padrões de teste/desenvolvimento extremamente rigorosos, como DO-178B Nível A. Não apenas cada linha de código precisa ser testada, mas se houver lógica aninhada, cada condição lógica também será testada especificamente.
No JPL NASA, a filosofia de escrever software avançado para voos espaciais não é escrever o código mais bonito e limpo, mas escrever código que seja fácil de testar por unidade. Por que? É simples: quando você envia uma espaçonave ao espaço, você só tem uma chance e ninguém quer correr riscos com alta probabilidade de fracasso. Esta é a mesma lógica dos blockchains, já que o código imutável é sua característica importante, e só temos uma chance de gastar nossos fundos corretamente em cada transação, então por que não levamos o processo de desenvolvimento de dApps mais a sério?
Apesar dos rigorosos processos de desenvolvimento, teste e auditoria de código, esses meios claramente não são suficientes para mitigar todos os bugs e ataques, uma vez que, na verdade, eliminar todos os bugs de tempo de execução por meio de testes e auditoria é quase impossível. Então, como protegemos nosso software contra falhas?
Proteção em tempo de execução
A proteção em tempo de execução é uma técnica de segurança que protege aplicativos de software contra ataques maliciosos enquanto estão em execução. Seu princípio é realizar a detecção em tempo real quando o código está realmente em execução e analisar o comportamento real do programa para protegê-lo contra dados e ataques maliciosos.
As proteções de tempo de execução para software de alta confiabilidade exigem esforço e design significativos porque são a última linha de defesa para garantir que o software não entre em estados desconhecidos ou falhe. Este não é apenas um argumento, mas décadas de prática comprovada.
Hoje, na Web3, acho que os aplicativos DeFi precisam da mesma alta confiabilidade e devem considerar a mesma abordagem. No entanto, devido às suas possíveis limitações, o EVM não foi projetado para lidar com tarefas complexas, como proteção em tempo de execução. Então, como fornecemos proteção em tempo de execução?
Uma maneira é por meio da programação Aspect, Aspects é projetado pela rede blockchain Artela, que é capaz de alternar o contexto de execução durante o ciclo de vida de qualquer transação de contrato inteligente para realizar verificações avançadas no estado em tempo real do programa. A Artela oferece um design exclusivo de proteção em tempo de execução por meio da compatibilidade com Aspect e EVM, e tem a oportunidade de se tornar a base futura da segurança de contrato inteligente criptografado.