본문 바로가기
블록체인 공부/블록체인 개념

[블록체인 개념-6] Web3 , 비트코인 vs 이더리움 , 주소와 키 쌍 , 컨트랙트와 외부 계정

by 으노으뇨 2023. 1. 25.
728x90
반응형
SMALL

블록체인 개발 시 자주 사용되는 개념입니다. 

다른 백서나 글에서 자세히 나오지만 간단하게 이해만 하고 지나가고 싶으신 분들에게는 도움될 수 있을것같아서 정리했습니다.


1. Web3

블록체인 기술을 초기에 채택한 많은 사람은 인터넷의 새로운 시대, 웹 3.0을 열 수 있는 가능성에 모두 흥분했었습니다.

웹 1.0

웹 1.0은 인터넷의 초기 단계를 가리키는 용어로, 당시의 인터넷은 주로 상품을 판매하고, 정보를 게시하는 데 사용하는 플랫폼이었습니다.

웹 2.0

웹 2.0은 소셜 네트워크와 인터넷 공동 작업을 도입했습니다.

페이스푹, 플리커, 인스타그램 등의 사이트는 사용자가 제작한 콘텐츠를 중앙 서버에 담고 프런트 엔드로 게시했습니다.

웹 3.0

웹 3.0은 더 이상 중앙 권력이 검열을 수행하거나 사용자 데이터를 제어할 권한을 가지고 있지 않은,

새로운 탈중앙화 웹을 가리키는 말입니다.

DARPA는 원래 중앙 권력을 공격함으로써 무너뜨릴 수 없는 탈 중앙화된 통신 네트워크로 인터넷을 설계했습니다.

지난 기간동안 웹이 점점 커지면서 중앙 집중화의 정도 또한 증가되었습니다.

새로운 사이트가 트래픽을 얻으려면 구글 검색 알고리즘에서 좋은 점수를 얻는 것이 필수 입니다.

페이스북은 자체 데이터망 내부에 사용자가 생성한 데이터와 콘텐츠의 상당 부분을 제어합니다.

넷플릭스와 유투브는 인터넷 트래픽의 약 3분의 1을 차지합니다.

중국과 터키와 같은 국가들은 자신의 검열 규칙에 동의하지 않은 사이트에는 자국민이 접속하지 못하게 합니다.

웹 3.0의 목표중 하나는 웹을 탈 중앙화에 검열과 통제를 어렵게 만드는 것입니다.

이더리움은 웹 3.0 애호가에게 흥미진진한 플랫폼입니다. 

그 위에 구축된 모든 애플리케이션이 자동으로 탈중앙화 되기 때문입니다.

이더리움의 응용 프로그램을 일반적으로 분산 응용 프로그램 또는 DAPP(댑, 디앱)이라고 부릅니다.

댑은 기존 인터넷 애플리케이션과 달리 호스팅 및 데이터 저장을 하는 서버가 필요 없습니다.

이더리움 네트워크는 인증, 컨트랙트 데이터 저장, API를 포함해 기존 서버의 모든 의무를 처리하게 됩니다.

즉, 댑은 기존의 웹사이트처럼 검열될 수 없습니다.

댑을 검열하려면 이더리움 네트워크의 모든 노드를 블랙리스트에 등록해야합니다. 

Web3라는 용어는 이더리움 공동체에서 두 가지 뜻으로 쓰이기에는 약간 애매할 수 있습니다.

초기에 웹 3.0은 하나의 개념이었지만, 이제는 이더리움의 클라이언트 라이브러리인 web3.js를 가리키기도 합니다.


2. 비트코인 vs  이더리움

많은 사람이 비트코인으로 블록체인과 암호화폐를 처음 접합니다.

비트코인은 최초의 암호화폐이며 여전히 가장 큰 규모로 가장 많이 사용됩니다.

비트코인 덕에 사용자는 은행이나 페이팔과 같은 제 3의 중개자를 거치지 않고 전 세계 어디에든 송금할 수 있게 됐습니다.

인터넷 상에서 일종의 위조 방지 지폐를 만들어낸 셈입니다.

이더리움이 비트코인을 넘어선 혁신점은 블록체인 위에 신뢰할 수 있는 컴퓨터 프레임워크를 추가했다는 점입니다.

이더리움 노드는 있는 그 상태로써 서로를 신뢰하지 않지만,

최종적으로는 네트워크가 스마트 컨트랙트의 코드를 실행할 것이라고 모두 신뢰할 수 있기 때문입니다.

또한 비트코인에서 지원하지 않은 다양할 기능을 사용할 수 있습니다.

비트코인은 해시 타임락 컨트랙트를 제외하면 조건부 경로를 지원하지 않습니다.

비트코인 네트워크의 돈은 송금하거나, 송금하지 않거나 둘중 하나로만 취급할 수 있으며,

그 트랜잭션은 시스템의 내부 상태에 의존하지 않습니다. 이는 그저 조건문을 못쓰는 작은 제약으로만 보일 수 있습니다.

하지만 네트워크가 조건부 경로를 지원할 수 있으면 개발자가 조건문을 설정하거나 프로그램의 개별 행이 실행되는 순서나 코드를 지정할 수 있게됩니다.

조건 실행의 대표적인 예로, 양 당사자의 참여를 조건으로 하는 에스크로 지불, 외부 이벤트를 바탕으로 지불이 이루어지는 베팅 등을 들 수 있습니다.

사용자는 서로 신뢰하지 않더라도, 스마트 컨트랙트의 로직이 의도된 대로 실행된다는 것을 신뢰할 수 있습니다.

이더리움은 임의의 로직을 기반으로 프로그래밍 가능한 가치 이전을 제공하므로, 상상을 넘어서는 미래의 다양한 블록체인 관련 솔루션 구축을 가능하게 합니다.

현재 이더리움의 가장 큰 사례는 크라우드펀딩이지만, 그 외에도 에팅, 에스크로 탈중화된 거래소, 예측시장, 탈중화된 백과사전, 사용자 제어 스마트 데이터 등을 위한 다양한 실험과 애플리케이션 개발이 진행되고 있습니다.


3. 주소와 키 쌍

이더리움은 비트코인과 동일한 비대칭 키 암호화 방법을 사용해

트랜잭션을 인증하고 보안을 유지합니다.

공개키와 개인키 쌍이 생성되고 , 개인키로 서명된 메시지는 해당 공개키로만 디코딩 될 수 있습니다.

반대의 경우도 마찬가지 입니다.

이더리움 주소는 공개키의 Keccak256 해시값의 마지막 20byte에 해당합니다. 

 Keccak256은 이더리움에서 사용하는 표준 해시 함수입니다.

주소에 연결된 이더 잔고는 해당 주소 개인키의 소유권을 증명할 수 있는 사용자에게만 권한이 주어집니다.

이를 위해 모든 이더리움 트랜잭션은 보내는 사람의 개인키로 암호화 됩니다.

사용자의 공개키를 사용해 브로드캐스트 메시지를 유효한 트랜잭션으로 해석할 수 있다면, 트랜잭션을 발생시킨다면

이는 사용자가 올바른 개인키를 소유하고 있는겁니다.


4. 컨트랙트와 외부 계정

이더리움에는 외부 계정과 컨트랙트, 두 가지 유형의 계정이 있다.

외부계정은 사용자가 제어 하지만 컨트랙트는 블록체인상 개체로, 함수 호출에 의해 트리거가 될 수 있으며,

부분적으로 자율성을 가지고 있습니다.

모든 계정은 갂가의 잔고와 논스를 가지고 있으며, 논스는 트랙잭션 마다 증가해서 중복 트랜잭션을 방지합니다.

컨트랙트에는 이 두 필드 외에도 컨트랙트 코드에 지정된 대로 추가 데이터 필드를 저장하는 저장 공간에 대한 접근 권한이 있습니다.

728x90
반응형
LIST

댓글