블록체인 내에 특정 기능을 삽입하면 할수록 TPS 속도가 느려지게 되나요?
블록체인 코드 개념에 대해서 잘 이해를 하지 못하지만, 문득 드는 생각은 블록체인 코드내에 여러가지 기능들을 삽입하게 된다면 과부하가 걸려서 TPS가 느려지지 않을까 라는 생각이 들었습니다. 블록체인 내에 특정 기능들을 삽입하면 할수록 TPS 속도가 느려지게 되나요?그 영향력이 큰지 미미한지 궁금합니다.
이더리움 블록체인을 기준으로 질문자께서 질문해 주신 내용에 답변을 드리도록 하겠습니다.
우선 결론부터 말씀드리자면 스마트 컨트랙트에 다양한 기능을 추가하게 되더라도 이러한 계약의 실행과 처리에 필요한 가스비가 증가할 뿐 거래 처리 속도에 큰 영향을 주지 못한다고 할 수 있습니다.
예를 들어 스마트 컨트랙트에 무한 반복 코드를 삽입했다고 하더라도 가스비 한도 때문에 이러한 것이 무한으로 반복해서 실행될 수 없습니다.
이더리움의 경우 EVM이 솔리디티 언어로 작성된 스마트 컨트랙트를 컴파일링하여 바이트 코드로 바꾸어 실행하고 처리한다고 할 때, 실행되는 EVM Opcode(Operation Code)마다 각각의 가스비가 정해져 있게 됩니다.
그렇기 때문에 스마트 컨트랙트가 복잡하거나 가스비용이 높게 설정되어 있는 Opcode를 많이 이용하도록 구성되어 있을 경우 스마트 컨트랙트 실행에 소요되는 비용이 증가하게 되므로 더 많은 가스비가 필요합니다.
따라서 다양한 기능이 포함된 복잡한 스마트 컨트랙트의 경우 가스비 때문에 TPS에 영향을 줄 정도로 많이, 자주 실행하는 것이 사실상 어렵다고 할 수 있고 결과적으로 거래 처리 속도에 큰 영향을 주지 않는 것입니다.
그리고 이런 이유들로 인해 개발자들도 스마트 컨트랙트를 작성할 때 최대한 가스비를 줄일 수 있도록 작성하고 있습니다.
답변이 도움이 되길 바랍니다.