블록생성 시 스마트컨트렉트와 트랜잭션이 담기는 순서는 ?
제가 알기로는 스마트컨트렉트가 구동되어 트렌잭션이 발생하면 해시값을 모으고
변수값을 찾은 채굴자가 블록에 담고 보상을 받는 것으로 알고있습니다.
블록체인 스마트 컨트렉트 특징상 계약 내용을 수정할 수 없는 것으로 알고있는데,
블록에 담기기 전에 구동하는 스마트컨트렉트를 왜 수정할수가 없나요?
컴퓨터에 대한 지식이 전무하여 위 같은 질문을 드립니다.
제가 잘못알고 있다면 ,
블록체인 생성과 스마트컨트렉트, 트랜잭션이 발생하고있는 순서를 구체적으로 알려주시고
이더리움 상에서 스마트컨트렉트가 어떤용도로 구동되는지 알려주세요
마지막으로 계약내용이 많아지면 수수료가 많이 사용되는건 알고있습니다 .
계약내용이 많아진다는게 구체적으로 어떤의미인지 알려주세요
예시도 들어주시면 감사하겠습니다.
우선 1번 질문과 관련하여 답변드리자면, 이더리움 블록체인을 기준으로 솔리디티 언어를 이용하여 스마트 컨트랙트를 작성하고 나서 geth나 Parity와 같은 이더리움 클라이언트를 통해 실행하게 되면 EVM 상에서 컴파일링 되어 바이트코드로 전환됩니다. 그리고 바이트 코드로 전환된 스마트 컨트랙트를 하나의 트랜젝션으로 처리하여 블록을 생성하며 그 거래 내역을 기록함으로써 블록체인 네트워크 상에서 스마트 컨트랙트의 배포가 완료됩니다.
다음으로 2번 질문과 관련하여 스마트 컨트랙트의 용도는 다양합니다. 우리에게 가장 익숙한 토큰을 발행하는 스마트 컨트랙트, ICO 진행을 위해 이더리움이 입금되면 자동으로 해당 주소로 토큰을 보내주는 컨트랙트 등 조건을 어떻게 설정하느냐에 따라 스마트 컨트랙트의 활용이 다양하게 이루어질 수 있습니다.
끝으로 3번 질문과 관련하여 계약 내용이 많아진다는 것은 스마트 컨트랙트 작성 과정에서 다양한 함수를 이용한다는 의미입니다. 그리고 EVM에서 스마트 컨트랙트가 처리된다고 할 때 이용된 함수들에 따라 Opcode 명령어가 실행되는데 이 Opcode 마다 명령 처리를 위해 필요한 가스 수수료가 정해져 있습니다. 그렇기 때문에 스마트 컨트랙트 작성시 많은 함수를 이용할 수록 EVM 상에서 스마트 컨트랙트를 처리할 때 필요한 가스비가 늘어나게 되는 것입니다.
답변이 도움이 되길 바랍니다.