수수료
EVM이 실행하는 모든 연산 코드에 대해 가스 요금이라는 가격을 지불해야 합니다. 연산 코드마다 다른 양의 계산 노력이 필요하므로 가스의 양도 다양합니다. 예를 들어, 곱셈에는 5 개의 가스만 필요하지만 Ethereum 계정의 잔액을 가져오면 무려 700 개의 가스가 필요합니다.
어쨌든 왜 가스를 충전하는가 하면 그 이유는 보안입니다 : 작업이 무료라면 악의적 인 에이전트가 더미 트랜잭션으로 네트워크를 습격하여 정지를 일으킬 수 있습니다. 제로 가스 요금이 아닌 것은 그러한 공격을 매우 비싸게 만듭니다.
EVM (state machine)
주어진 순간에 블록 체인은 특정 상태에 있습니다. 이것은 모든 계정의 모든 잔액과 많은 다른 데이터로 구성됩니다. 새 블록이 추가될 때마다 상태가 변경됩니다.
트랜잭션 처리는 EVM에서 발생합니다. 모든 입력 (트랜잭션 요청 / 계약 호출)에 대해 상태 전환을 일으키는 출력을 생성합니다. 따라서 EVM을 상태 기계로 정의하는 것은 블록체인의 상태가 어떻게 변하는지를 결정합니다.
튜링에 대한 이야기
EVM은 튜링이 완벽하기 때문에 안전하다는 내용들을 종종 볼 수 있습니다. 그것은 무엇을 의미하는지, 그리고 그것이 정말로 그렇게 중요한지 알아봅시다.
시스템 (예 : 프로그래밍 언어)은이 작업을 코드로 표현할 수 있는 한 무제한의 시간과 메모리를 제공할 수 있는 한 사용자가 제공하는 모든 작업을 계산 (해결) 할 수 있다면 이것을 튜링 완성이라고 합니다. 기본적으로 튜링 완성 기계는 천 년 동안 걸릴 수 있으며 가질리언 테라 바이트의 메모리가 필요할 수 있지만 계산 문제에 대한 출력을 생성합니다.
EVM은 Solidity가 튜링 완성 언어이기 때문에 튜링 완전이라고 합니다 (즉, 지침을 표현하는 데 사용할 수 있음). 그러나 실제로는 튜링이 완전하지 않은데, 가스 요금이 추가 된 모든 opcode와 함께 계속 쌓여 있기 때문에 계산이 너무 복잡하여 수수료가 너무 높아서 누구나 지불할 수 없기 때문입니다.
실제로는 이것이 문제가 아닙니다. Kadena의 수석 개발자 인 Emily Pillmore가 지적했듯이 블록 체인에는 튜링 완전성이 필요한 사용 사례가 없습니다. 정반대로, 튜링을 완성하는 것은 재진입 공격과 같은 새로운 취약점을 만들어냅니다.
6가지 주요 문제
EVM은 블록 체인 업계를 위한 획기적인 혁신이었습니다. 왜냐하면 우리가 알고 있는 dApp을 가능하게 했기 때문입니다. 동시에 일부 전문가들은 디자인 결함에 주목합니다.
1) 바이트 코드는 사람이 읽을 수 없습니다. 이로 인해 개발자와 독립 관찰자가 스마트 계약 코드를 분석하고 검증하기가 어렵습니다.
2) 디버깅하기가 어렵습니다. DApp에서 무엇이 잘못되었는지 이해하기 위해 바이트 코드를 사람이 읽을 수 있는 형식으로 디컴파일 해야 합니다.
3) 느리고 많은 가스를 충전합니다. EVM의 속도는 초당 처리 된 연산 코드의 수를 의미하므로 트랜잭션을 처리하는 Ethereum 블록체인의 용량과 동일하지 않으며 초당 15 트랜잭션에서도 느립니다.
4) 충분히 안전하지 않습니다. EVM은 블록 체인과 dApp을 '나쁜'코드의 영향으로부터 보호해야 합니다. 그러나 우리는 끊임없이 새로운 스마트 계약 악용을 봅니다. 특히 위험한 것은 해커가 반복적으로 인출 기능을 호출하여 자금 계약을 소진하는 재진입 공격입니다.
5) 계약은 업그레이드 할 수 없습니다. 무엇이 잘못되었는지 발견하면 Ethereum 스마트 계약이 배포된 후에는 변경할 수 없기 때문에 수정할 수 없습니다. 처음부터 시작하여 새 계약을 배포하고 사용자를 마이그레이션 해야 합니다.
6) EVM은 네이티브 스탠나 라이브러리를 지원하지 않습니다. 라이브러리는 VM과 함께 배포되는 표준 계약 집합입니다. 개발자는 처음부터 모든 코드를 작성하는 대신 라이브러리에서 준비된 항목을 사용하고 많은 시간을 절약할 수 있습니다. 현명한 계약을 통해 도서관을 사용하면 가스와 비용을 절약할 수 있습니다. 그러나 EVM에는 기본적으로 표준 라이브러리가 포함되어 있지 않기 때문에 (예 : Move VM과 달리) 스마트 계약을 작성하고 배포하는 데 매우 많은 비용이 듭니다.
EVM이 여전히 좋은 이유
이러한 모든 문제에도 불구하고 Ethereum은 가장 큰 dApp 허브로 남아 있습니다 : DeFi TVL은 가장 가까운 경쟁 업체 인 Binance Smart Chain보다 거의 9 배 높습니다.
그 이상으로, 상위 10 개 체인 (BSC, AVAX, FTM 등)의 대부분은 EVM을 지원하고이 사실을 장점으로 홍보합니다. 가상 머신을 사용하기로 결정한 프로젝트의 절충안은 무엇이냐 하면, 간단히 말해서, Ethereum은 첫 번째 이동 수단 이점을 보유하고 있습니다. 새로운 시장에 먼저 진출하면 회사 나 프로젝트가 제품 자체가 완벽하지 않더라도 대규모 사용자 기반과 강력한 브랜드를 구축할 수 있습니다. 일부 사용자를 첫 번째 이동 회사에서 멀어지게 하려면 경쟁 업체는 어떤 면에서는 더 좋지만 사용자가 쉽게 전환할 수 있도록 충분히 친숙한 제품을 제공해야 합니다.
EVM의 경쟁사들에게 이 작업은 이미 Solidity를 알고 있는 수천 명의 개발자, 감사된 코드 샘플 및 스마트 계약 라이브러리, 높은 유동성을 갖춘 Ethereum의 강력한 네트워크 효과 때문에 특히 어렵습니다.
EVM을 지원하는 것이 매우 편리한 곳은 다음과 같습니다.
기존 Ethereum dApps는 코드를 다시 작성할 필요없이 새 체인으로 마이그레이션 / 확장할 수 있습니다.
개발자는 새로운 프로그래밍 언어를 배울 필요가 없습니다.
개발자는 MetaMask, Truffle, Waffle 등과 같은 친숙한 Ethereum 도구를 사용할 수 있습니다.
사용자는 기존 MetaMask 계정을 사용하여 새 체인의 dApp에 연결할 수 있습니다.
Avalanche 및 Fantom과 같은 EVM을 채택 한 대체 스마트 계약 플랫폼은 다음을 제공하여 성공을 거두었습니다.
1) 더 나은 사용자 경험 일반 사용자의 경우 Ethereum에 비해 :이 체인은 훨씬 빠르고 저렴합니다.
2) 개발자를 위한 친숙한 (그러나 더 매끄럽게) 경험. 빠르게 성장하는 생태계가 일반 사용자와 유동성을 유치할 수 있도록 체인에 많은 개발 팀을 구축하기를 원합니다.
궁극적으로 대체 블록 체인은 유동성을 위해 경쟁합니다. 체인이 EVM과 호환되는 경우 인기 있는 DeFi 프로젝트의 자체 버전 또는 포크를 신속하게 얻을 수 있으며 사용자는 따라갈 것입니다. 예를 들어, Daniele Sesta의 Wonderland ($TIME)는 Ethereum 기반의 Olympus DAO의 포크입니다 - Avalanche를 기반으로 하는 것이 훨씬 저렴합니다.
이와 관련하여 반면 감수해야 할 점은 체인이 빈번한 악용 및 스마트 계약의 비 업그레이드 가능성과 같은 EVM의 모든 문제를 처리해야한다는 것입니다.
'CryptoCurrency' 카테고리의 다른 글
EVM, VM(가상 머신) 및 EVM 체인 이해_part.4 (0) | 2022.08.27 |
---|---|
EVM, VM(가상 머신) 및 EVM 체인 이해_part.3 (0) | 2022.08.27 |
EVM, VM(가상 머신) 및 EVM 체인 이해_part.1 (0) | 2022.08.26 |
DAO에 대한 이야기 - DAO 사용 사례 등 (1) | 2022.08.26 |
APTOS에 대한 내용들 part.3 (0) | 2022.08.26 |