상세 컨텐츠

본문 제목

INTRO TO ETHEREUM

Blockchain/Ethereum

by Yongari 2023. 5. 4. 23:30

본문

WHAT IS A BLOCKCHAIN?

블록체인은 네트워크의 많은 컴퓨터에서 업데이트되고 공유되는 공개 데이터베이스입니다.

"블록"은 데이터와 상태가 "블록"으로 알려진 연속적인 그룹에 저장되는 것을 말합니다. 다른 사람에게 이더를 전송하려면 거래 데이터가 블록에 추가되어야 성공적으로 전송할 수 있습니다.

"체인"은 각 블록이 암호학적으로 부모 블록을 참조한다는 사실을 의미합니다. 즉, 블록은 서로 연결되어 있습니다. 블록의 데이터는 모든 후속 블록을 변경하지 않고는 변경할 수 없으므로 전체 네트워크의 합의가 필요합니다.

네트워크의 모든 컴퓨터는 각각의 새로운 블록과 체인 전체에 대해 동의해야 합니다. 이러한 컴퓨터를 "노드"라고 합니다. 노드는 블록체인과 상호작용하는 모든 사람이 동일한 데이터를 갖도록 합니다. 이러한 분산 합의를 달성하기 위해 블록체인은 합의 메커니즘이 필요합니다.

이더리움은 지분 증명 기반 합의 메커니즘을 사용합니다. 체인에 새로운 블록을 추가하려는 사람은 누구나 이더리움의 기본 통화인 이더를 담보로 스테이킹하고 검증 소프트웨어를 실행해야 합니다. 그런 다음 이러한 "검증자"가 무작위로 선택되어 다른 검증자가 확인하고 블록체인에 추가할 블록을 제안할 수 있습니다. 참여자들이 최대한 정직하게 온라인에 참여하도록 강력하게 인센티브를 제공하는 보상 및 페널티 시스템이 있습니다.

블록체인 데이터가 어떻게 해시되고 이후 블록 참조 기록에 추가되는지 알고 싶으시다면, 앤더스 브라운워스의 데모(새 탭에서 열기)를 확인하시고 아래 첨부된 동영상을 시청하세요.

앤더스가 블록체인의 해시에 대해 설명하는 동영상을 시청하세요:

 

 

 

WHAT IS ETHEREUM?

이더리움은 컴퓨터가 내장된 블록체인입니다. 이더리움은 탈중앙화되고, 허가가 필요 없으며, 검열에 저항하는 방식으로 앱과 조직을 구축하기 위한 기반입니다.

이더리움 세계에는 이더리움 네트워크의 모든 사람이 동의하는 하나의 표준 컴퓨터(이더리움 가상 머신 또는 EVM이라고 함)가 있습니다. 이더리움 네트워크에 참여하는 모든 사람(모든 이더리움 노드)은 이 컴퓨터의 상태 사본을 보관합니다. 또한 모든 참여자는 이 컴퓨터가 임의의 연산을 수행하도록 요청을 브로드캐스트할 수 있습니다. 이러한 요청이 브로드캐스트될 때마다 네트워크의 다른 참여자는 해당 연산을 확인, 검증하고 수행("실행")합니다. 이 실행은 EVM의 상태를 변경하여 전체 네트워크에 커밋되고 전파됩니다.

연산 요청을 트랜잭션 요청이라고 하며, 모든 트랜잭션의 기록과 EVM의 현재 상태가 블록체인에 저장되고, 모든 노드가 이를 저장하고 동의합니다.

암호화 메커니즘은 트랜잭션이 유효한 것으로 확인되어 블록체인에 추가되면 나중에 변경할 수 없도록 보장합니다. 또한 동일한 메커니즘을 통해 모든 트랜잭션이 적절한 '권한'으로 서명되고 실행되도록 보장합니다(앨리스 본인 외에는 누구도 앨리스의 계정에서 디지털 자산을 전송할 수 없어야 함).

 

WHAT IS ETHER?

이더(ETH)는 이더리움의 기본 암호화폐입니다. 이더리움의 목적은 연산 시장을 허용하는 것입니다. 이러한 시장은 참여자가 트랜잭션 요청을 검증하고 실행하며 네트워크에 연산 리소스를 제공할 수 있는 경제적 인센티브를 제공합니다.

트랜잭션 요청을 브로드캐스트하는 모든 참여자는 네트워크에 일정량의 이더리움을 현금으로 제공해야 합니다. 네트워크는 트랜잭션을 검증하고, 트랜잭션을 실행하고, 블록체인에 커밋하고, 네트워크에 브로드캐스트하는 작업을 최종적으로 수행하는 사람에게 이 바운티를 지급합니다.

지급되는 이더리움의 양은 연산을 수행하는 데 필요한 리소스에 해당합니다. 또한 이러한 바운티는 악의적인 참여자가 무한 연산이나 기타 리소스 집약적인 스크립트의 실행을 요청하여 의도적으로 네트워크를 막는 것을 방지하는데, 이러한 참여자는 연산 리소스에 대한 비용을 지불해야 하기 때문입니다.

이더리움은 또한 세 가지 주요 방식으로 네트워크에 암호경제학적 보안을 제공하는 데 사용됩니다: 1) 블록을 제안하거나 다른 검증인의 부정행위를 고발하는 검증인에게 보상하는 수단으로 사용되며, 2) 검증인이 스테이킹하여 부정행위에 대한 담보 역할을 하며, 검증인이 부정행위를 시도하면 이더리움이 소멸될 수 있으며, 3) 합의 메커니즘의 포크 선택 부분에 투입되어 새로 제안된 블록에 대한 '투표'의 가중치를 매기는 데 사용됩니다.

WHAT ARE SMART CONTRACTS?

실제로 참가자는 EVM에서 연산을 요청할 때마다 새로운 코드를 작성하지 않습니다. 대신 애플리케이션 개발자가 프로그램(재사용 가능한 코드 조각)을 EVM 상태에 업로드하고, 사용자는 다양한 매개변수를 사용하여 이 코드 조각을 실행하도록 요청합니다. 네트워크에 업로드되고 실행되는 프로그램을 스마트 콘트랙트라고 부릅니다.

아주 기본적인 수준에서 스마트 컨트랙트를 일종의 자판기처럼 생각할 수 있습니다. 특정 매개변수로 호출하면 특정 조건이 충족되면 특정 작업이나 연산을 수행하는 스크립트입니다. 예를 들어, 간단한 벤더 스마트 컨트랙트는 호출자가 특정 수신자에게 이더리움을 보내면 디지털 자산의 소유권을 생성하고 할당할 수 있습니다.

모든 개발자는 블록체인을 데이터 레이어로 사용하여 스마트 컨트랙트를 생성하고 네트워크에 수수료를 지불하고 네트워크에 공개할 수 있습니다. 그러면 모든 사용자가 스마트 컨트랙트를 호출하여 코드를 실행할 수 있으며, 이 역시 네트워크에 수수료를 지불하면 됩니다.

따라서 개발자는 스마트 컨트랙트를 사용하여 마켓플레이스, 금융 상품, 게임 등과 같이 임의로 복잡한 사용자 대상 앱과 서비스를 구축하고 배포할 수 있습니다.

 

 

 

TERMINOLOGY

Blockchain

네트워크 역사상 이더리움 네트워크에 커밋된 모든 블록의 순서입니다. 각 블록에 이전 블록에 대한 참조가 포함되어 있어 모든 블록에 대한 순서(따라서 정확한 기록)를 유지하는 데 도움이 되기 때문에 그렇게 명명되었습니다.

ETH

이더(ETH)는 이더리움의 기본 암호화폐입니다. 사용자는 코드 실행 요청을 이행하기 위해 다른 사용자에게 이더를 지불합니다.

More on ETH

EVM

이더리움 가상 머신은 이더리움 네트워크의 모든 참여자가 상태를 저장하고 동의하는 글로벌 가상 컴퓨터입니다. 모든 참여자는 EVM에서 임의의 코드 실행을 요청할 수 있으며, 코드 실행은 EVM의 상태를 변경합니다.

More on the EVM

 

Nodes

EVM 상태를 저장하는 실제 머신입니다. 노드는 서로 통신하여 EVM 상태 및 새로운 상태 변경에 대한 정보를 전파합니다. 모든 사용자는 노드에서 코드 실행 요청을 브로드캐스트하여 코드 실행을 요청할 수도 있습니다. 이더리움 네트워크 자체는 모든 이더리움 노드와 그 통신의 집합체입니다.

 

More on nodes

 

Accounts

이더가 저장되는 상태다. 사용자는 계정을 초기화하고, 계정에 이더를 입금하고, 자신의 계정에서 다른 사용자에게 이더를 이체할 수 있습니다. 계정과 계정 잔액은 EVM의 큰 테이블에 저장되며, 이는 전체 EVM 상태의 일부입니다.

More on accounts

Transactions

"트랜잭션 요청"은 EVM에서 코드 실행을 요청하는 공식적인 용어이며, "트랜잭션"은 트랜잭션 요청이 완료되고 관련 EVM 상태가 변경되는 것을 의미합니다. 모든 사용자는 노드에서 네트워크에 트랜잭션 요청을 브로드캐스트할 수 있습니다. 트랜잭션 요청이 합의된 EVM 상태에 영향을 미치려면 다른 노드에서 트랜잭션 요청의 유효성을 검사하고 실행한 후 '네트워크에 커밋'해야 합니다. 코드가 실행되면 EVM의 상태가 변경되고, 커밋되면 이 상태 변경이 네트워크의 모든 노드에 브로드캐스트됩니다. 트랜잭션의 몇 가지 예시:

1. 내 계정에서 앨리스의 계정으로 X ETH를 전송합니다.
2. 스마트 컨트랙트 코드를 EVM 상태에 게시합니다.
3. 스마트 컨트랙트 코드를 EVM의 주소 X에서 인자 Y와 함께 실행합니다.

More on transactions

 

Blocks

트랜잭션의 양이 매우 많기 때문에 트랜잭션은 일괄 처리 또는 블록 단위로 "커밋"됩니다. 블록에는 일반적으로 수십에서 수백 개의 트랜잭션이 포함됩니다.

More on blocks

 

Smart contracts

개발자가 EVM 상태에 게시하는 재사용 가능한 코드 스니펫(프로그램)입니다. 누구나 트랜잭션 요청을 통해 스마트 컨트랙트 코드의 실행을 요청할 수 있습니다. 개발자는 스마트 컨트랙트를 게시하여 게임, 마켓플레이스, 금융 상품 등 임의의 실행 가능한 애플리케이션을 EVM에 작성할 수 있기 때문에 이를 디앱 또는 탈중앙화 앱이라고도 합니다.(dapps, or Decentralized Apps.) 

More on smart contracts

 

 

 

FURTHER READING

  • Ethereum Whitepaper (이더리움 백서)
  • 이더리움은 어떻게 작동하나요?(링크) - 프리티 카시레디(이 자료는 여전히 가치가 있지만, 더 머지 이전 자료이므로 여전히 이더리움의 작업 증명 메커니즘을 참조하고 있다는 점에 유의하세요. 이더리움은 실제로 지분 증명을 사용하여 보안이 유지됩니다.)
    >> 작업증명에서 현재는 지분증명(32 ETH를 예치해야 검증인에 참여할 수 잇는 POS 알고리즘이다.)으로 업데이트한 상태

 

 

 

 

'Blockchain > Ethereum' 카테고리의 다른 글

WEB2 VS WEB3  (0) 2023.05.12
INTRO TO ETHER  (2) 2023.05.06
Geth Command-line Options  (0) 2023.04.02
Ethereum Development with Go (2)  (0) 2023.03.30
Ethereum Development with Go (1)  (0) 2023.03.30

관련글 더보기