본문 바로가기

카테고리 없음

[Blockchain] 용어 및 개념정리 (1)

반응형

blockchain 관련 업무를 진행하게 되었는데, 해당 분야에 대해 일절 모르는 상태에서 업무 이해도를 위해 정리했던 용어와 개념을 간단히 정리하고, 정리한 내용을 바탕으로 다시 개념을 이해해보려 한다.

- Address
Blockchain Network에서의 "주소". 말 그대로 특정 데이터의 바이너리 주소값을 의미하는 듯 하다.
Blockchain 사용되는 모든 기술이나 거래에는 주소가 존재하며, 이는 개인 사용자의 "지갑(Account)" 부터 Token, Contract 등이 모두 고유한 Address를 가진다는 것 같다.

- ERC 20 (Ethereum Request for Comment 20)
Ethereum에서 관리하는 공식 Protocol 중 하나. 해당 Protocol을 사용하는 Token은 Ethereum과 교환이 가능하다.
(Coin과 같은 가상화폐에 주로 사용되는 Protocol인 듯 하다.)

- ERC 721
Ethereum에서 관리하는 공식 Protocol 중 하나. NFT에 사용되는 Protocol.

- NFT (Non-Fungible Token)
직역해서 대체 불가능 토큰. 특징이라 하면 해당 토큰에 대한 정보(가령 이름, 제작자, 소유자 등)가 블록체인에 저장되어 있으며 각 토큰이 고유한 존재. 대표적으로 일러스트 등 작품을 NFT화 하여 원본임을 인증함과 함께 해당 작품을 소유하고자 하는 소비자들을 통해 거래가 이루어지며 시장이 발달되었다고 한다.
NFT가 특정 작품이나 분야에 종속되는 것이 아닌 정보를 담은 인증서 역할을 함으로서 다양한 분야에 사용될 수 있다고 한다.

- EOA (Extarnal Owend Account)
개인 지갑 계정. 개인 키에 의해 의해 통제되는 계정 정보로, 사용자의 계정이라고 이해하면 쉬울 것 같다.
EOA의 경우 사용자에 의해 작동되므로, 자체적으로 Transaction을 생성하여 거래를 진행할 수 있다.

- CA (Contract Account)
Contract 코드에 의해 통제되는 계정 정보. 개인 키를 보유하고 있지 않다. Transaction을 생성하기 위해서는 전자 서명 정보가 필요하고,  전자 서명을 하기 위해서는 개인 키가 필요하기 때문에 CA자체적으로는 Transaction을 생성할 수 없다.
CA는 EOA 등 다른 계정으로부터 받은 메세지(Request)에 대한 응답(Response)으로 내부 Transaction을 실행시킬 수 있다.

- Contract
직역하여 "계약". Smart Contract 를 줄여서 그냥 Contract라고 명명하는 듯 하다.
간단하게는 미리 정해진 조건을 충족하는 경우에 실행되는 블록체인에 저장된 프로그램을 의미한다. 계약 자동화에 사용된다.
Contract Address는 말 그대로 Contract에 대한 주소로, 해당 주소로 Transaction을 발송하면 Contract에서 조건에 따라 실행여부를 결정하는 듯 하다.

- Token Contract
Explorer에서 일반 Contract와 Token Contract가 구분되어있어 차이에 대해 알아보았다.
Token Contract 라는 것은 결국 Ethereum Smart Contract와 같은 의미로, "Token을 보내는 것"은 결국 누군가 Blockchain Network에 작성하고 올려놓은(배포한) Smart Contract에 대한 method를 호출하는 것을 의미한다.

- TX (Transaction)
거래기록. 특정 지갑 주소에서 다른 지갑 주소로의 Token / 금액을 송금하는데에 사용하는 요청. Transaction에는 to(수신처), signature(발신처를 확인할 수 있는 서명), value(송금하는 value) 와 같은 암호화폐에서 표준처럼 사용되는 값과 gas-price, gas-limit과 같이 발생 수수료, 수수료의 최대 한도를 포함하며 추가로 data라는 선택 필드가 포함된다. data에는 contract 메세지를 담을 수 있다.

* 그렇다면 Contract내에는 method가 포함될 수 있는가? Contract 자체가 Blockchain에 등록된 >>Program<<을 의미한다고 했고, Program은 Process의 집합이기 때문에, 결국 Contract = Program이니 Contract 자체는 Process의 집합 즉, method가 포함될 수 있다는 것이 나의 결론이다.
이를 통해, CA(Contract Address)라는 것은 특정 Contract에 대한 주소를 의미하며, 해당 Contract를 실행하기 위한 정보라고 이해할 수 있을 것 같다!

용어는 차차 보강해가도록 해야겠다. 다음에는 Web3 library에 대해 정리해봐야겠다.
혹시라도 방문하신 분들 중 개념적인 부분 등에 대하여 지적이나 틀린 부분에 대해 피드백 남겨주시면 감사합니다.

 

[참고자료] (기억나는 사이트만 남김..)
Contract
https://www.ibm.com/topics/smart-contracts

 

What are smart contracts on blockchain? | IBM

Learn about smart contracts and how a blockchain network can automatically execute a contract when predetermined terms and conditions are met

www.ibm.com

EOA & CA (관련하여 잘 정리된 글이 많다)
https://steemit.com/kr/@yahweh87/eoa

 

이더리움 회원가입!? EOA 계정에 관한 개념정리. — Steemit

안녕하세요. 어미새입니다. 지난 포스팅에서는 DApp에 대한 개념정리와, 이더리움의 어카운트 정보에 관한 내용을 다뤘습니다. 이번 포스팅의 목표는 외부 소유 어카운트(EOA)와, 컨트랙트 어카운

steemit.com

 

반응형