이더리움: 스마트 계약은 어떻게 작동합니까?

스마트 계약은 이더리움을 성공으로 이끈 주요 기능입니다. 

스마트 계약이란 무엇이며 용도는 무엇입니까?

비트코인 프로토콜은 다음과 같은 가능성을 제공하지 않습니다. 정말 복잡한 스마트 계약 생성, 기본적으로 거래만 가능하도록 설계되었기 때문입니다. 

이에 반해 비트코인 ​​이후 6년 만에 탄생한 이더리움은 처음부터 기본적으로 다음과 같은 네트워크가 가능하도록 설계됐다. 스마트 계약 호스팅 및 실행

2014년 이더리움 공동 창업자 Vitalik Buterin 에 명시적으로 썼다 백서 그가 설계한 네트워크는 스마트 컨트랙트 기반 차세대 플랫폼그리고 블록체인 기술을 기반으로 하는 비트코인의 대체 응용 프로그램에는 맞춤형 통화 및 금융 상품, 대체 불가능한 자산 및 보다 복잡한 응용 프로그램을 나타내는 디지털 자산의 사용도 포함되었습니다. 

특히 후자, 즉 스마트 계약은 임의의 규칙을 구현하는 코드나 소위 블록체인 기반의 분산형 자율 조직을 통해 디지털 자산을 직접 제어하는 ​​애플리케이션으로 정의되었습니다. DAO.  

Vitalik은 다음과 같이 썼습니다. 

“이더리움이 제공하려는 것은 임의의 상태 전환 기능을 인코딩하는 데 사용할 수 있는 '계약'을 생성하는 데 사용할 수 있는 Turing-complete 프로그래밍 언어가 내장된 블록체인으로, 사용자는 위에 설명된 시스템을 생성할 수 있습니다. – 우리가 아직 상상하지 못한 다른 많은 것들도 – 단지 몇 줄의 코드로 논리를 작성함으로써 가능합니다.”

따라서 이더리움의 스마트 계약은 다음이 가능한 코드 라인입니다. 명령의 자동 실행을 프로그래밍 네트워크에 의해, 특정 조건이 충족되면, 중개자에게 실행을 맡길 필요가 없습니다.

사실 부테린 자신도 '계약'이라는 용어를 인용 부호 안에 넣었습니다. 왜냐하면 당사자 간의 실제 계약이 아니라 계약이기 때문입니다. 분산화된 컴퓨터 프로그램 네트워크. 

따라서 일반적인 관점에서 볼 때 이들의 작동은 그다지 복잡하지 않습니다. 

똑똑한 계약
스마트 계약은 포함된 조건이 확인되면 실행됩니다.

이더리움 블록체인에 스마트 계약 배포

우선, 한 명 이상의 개발자가 적절한 코드 라인을 작성하여 스마트 계약을 생성해야 합니다. 이더리움 네트워크로 보내세요. 

기술적으로 이더리움 블록체인에 게시한다는 것은 네트워크의 모든 노드가 이를 수신하고 실행하게 한다는 것을 의미합니다. 일단 게시되면 여기에 포함된 모든 지침은 항상 모든 노드에서 정확히 동일한 방식으로 실행됩니다. 

그러므로 출판뿐만 아니라 명령 실행은 되돌릴 수 없습니다. 일단 블록체인에 게시됩니다. 

따라서 정말 중요한 것은 여기에 포함된 지침(가장 다양할 수 있음)과 이를 사용하는 사람의 수입니다. 실제로 스마트 계약의 지시가 실제로 실행되기 위해서는 이를 호출하는 하나 이상의 트랜잭션

또한 이러한 명령어는 일반적으로 데이터나 토큰과 같은 리소스의 사용을 포함하므로 실제로 실행되기 위해서는 필요에 따라 설정된 모든 조건이 충족되어야 합니다. 

이 데이터는 소위 오라클 덕분에 외부에서 오는 경우도 있고, 단순히 블록체인의 거래에서 나오는 경우도 있습니다. 

일반적으로 스마트 계약에 포함된 명령의 실행을 트리거하는 트랜잭션입니다. 의 지불을 포함 수수료(ETH), 그리고 많은 경우 실제로 실행을 실행하기 위해서는 스마트 계약 자체 또는 기타 스마트 계약과 관련된 토큰을 지불하거나 보내는 것도 포함됩니다. 

기술적으로 스마트 계약은 일종의 계정입니다. 에테 리움 블록 체인, 중앙 엔터티가 아닌 네트워크에 의해 "제어"됩니다. ETH나 토큰을 저장할 수 있으며, 네트워크에서 자동으로 트랜잭션을 보냅니다.

코드와 더 일반적으로 dApp과 상호작용하는 방법

사용자는 다음과 같은 거래를 보내 스마트 계약과 상호 작용할 수 있습니다. 코드 내에 정의된 함수 중 하나를 트리거합니다. 

따라서 이더리움에서 스마트 계약의 기능은 일반적으로 매우 간단합니다. 특정 유형의 트랜잭션을 스마트 계약으로 보내기만 하면 호출된 스마트 계약 기능에 포함된 모든 명령의 노드가 실행됩니다. 거래 자체. 

분명히 호출된 함수에 어떤 명령이 포함되어 있는지에 따라 스마트 계약뿐만 아니라 기능마다 매우 다른 결과가 생성될 수 있습니다. 

따라서 스마트 계약의 엄청난 복잡성은 개별 스마트 계약이 수행하는 작업에서 정확하게 파생되는 것이지 일반적으로 이더리움 네트워크가 이를 지원하고 실행한다는 사실에서 파생되는 것은 아닙니다. 게다가 네트워크의 모든 유형의 스마트 계약이 실제로 어떻게 작동하는지 나열하는 것은 절대 불가능합니다. 


출처: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/