2022. 3. 12. 14:44ㆍ개발 잡부/블록체인
솔직히 말해서 다른 공부부터 하고 나중에 하려고 했는데,
이직 기회가 잡혀서 우선순위를 급하게 조정하게 되었다.
이 글을 면접관님이 보신다면 좋아요과 구독 알림설정까지 부탁드립니다
블록체인의 정의
Investopedia에서는 블록체인을 다음과 같이 정의하고 있다.
블록체인은
컴퓨터 네트워크간에 공유되는
분산 데이터베이스이다.
라고 하는데, 설명하면 다음과 같다.
이렇게 여러명의 사람이 있다고 생각해보자.
이중에 한명이 A라는 작업을 했다고 알려준다.
이제 모든 사람이 A라는 작업에 대해 알게 된다.
또다른 사람이 B라는 작업을 했다고 해보자.
그리고 마지막 작업이었던 A에 뒤에 연결했다.
이제 다른 사람들도 B에대해 알게 되었고,
A에 뒤에 B를 연결해 둔다.
블록체인이란
같은 정보를 모두가 동일하게 알게 되는 것
이라고 볼 수 있다.
빠르게 용어정리
아래의 설명을 이어가기에 앞서
위의 예시에서 각각의 요소는 용어로 알아보자.
사람 -> 노드 (Node)
작업 -> 트랜젝션 (Transaction)
연결 -> 이전 해쉬값 참조
블록체인의 효과
솔직히 처음들었을 때 완전 비효율적이라고 생각했다.
왜냐하면 n개의 노드가 있고 m개의 작업이 있다면
총 n x m의 용량이 필요한 것 아닌가?
그래서 다소 소모적인 요소가 많은 기술이라고 생각했다.
하지만 그로인해 생기는 효과도 분명히 있다.
1. 신뢰도가 높음
예를들어 내가 A 다음에 C라는 작업을 했다고 우겨보도록 하자.
그렇다. 어림도 없다.
지금은 3명이니까 별것 아닌것 같아보이지만,
수천, 수만명이 같이 하게된다면 그 많은 사람들과 대조를 하면서
사실관계를 확인할 수 있다.
그렇게 해서 51%와 대조하여 참이 아니라고 판명이 난다면,
합의가 되지 않아 파기된다.
한마리도 위조가 안 된다.
2. 모두가 조회 가능함 (투명성)
예를 들어 이런 거래가 있다고 생각해보자
하지만 여기는 블록체인의 세계다
모든 사람에게 정보가 전달되어 다른 사람도 알수 있게 된다.
그렇기 때문에 추적이 가능해서
출처를 파악할 수 있게 된다.
3. 백업, 어디서든 공유
사실 데이터베이스가 날아가는 것만큼 끔찍한 일이 없을 것이다.
이런 문제를 방지하고자 정기적으로 DB를 백업하기는 하지만,
한계가 있다.
또한 데이터베이스를 어딘가에 업로드 하기도 쉽지 않다.
(클라우드라면 모를까)
하지만 블록체인에서는 간단하다
아무한테나
"나 장부좀 줘"
하면 준다.
4. 스마트 컨트랙트
내가 제일 공부하고 싶은 분야다.
이거는 따로 얘기를 하는게 좋아보인다.
스마트 컨트랙트
스마트 컨트랙트는
미리 지정된 조건이 충족되면
다음 단계가 자동으로 실행
되는 계약이다.
예를 들어 이런 계약을 생각해보자
1 이더리움을 예치하면 100클레이튼을 10% 이율로 대여해준다.
1년 이내에 110 클레이튼을 갚지 않으면 예치한 1 이더리움은 대여자의 소유가 된다.
이런 간단한(?) 대출 계약이 있다.
이걸 순서대로 분석해보자
A가 대여자 (빌려준 사람), B가 차용자 (빌린 사람)이다.
1. A는 100 클레이튼 이상을 소지하고 있다.
2. B가 1 이더리움을 예치한다
3. A의 100 클레이튼을 B에게 주고, B의 1이더리움을 보관한다.
4. (1년 이내에) B가 110 클레이튼을 A에게 준다. 보관중이던 1 이더리움을 B에게 준다
5. (1년 뒤) B가 110 클레이튼을 A에게 주지 않았다면, 자동으로 보관중이던 1 이더리움을 A에게 준다.
이렇게 절차대로 진행이 되는걸 스마트 컨트랙트라고 한다.
나는 이 계약을 설계하는 분야가 굉장히 커질거라고 생각한다.
그래서 스마트 컨트랙트 컨설턴트 회사를 만드는 것도 좋아보인다.
왜냐면 기업에서 비트코인을 거래하고 싶다면
거의 필수에 가까워 보이기 때문이다.
일반 거래로도 처리할 수 있겠지만,
그거는 함수 없이 코드를 짜겠다는것과 같아보인다.
보상금을 수령하거나,
자동이체를 하거나,
대출을 하는 등의 업무를 자동적으로 처리가 가능한 것이다.
또한, 이 계약은 기존의 현실에서의 계약과 성격이 다르다.
현실에서는 때가되면 잘 해결이 되겠지라는 마음으로 한다.
예를 들어 전세로 집을 들어갔는데, 집주인이 전세금으로 투자를 했다고 생각해보자.
그런데 투자금을 전세 만기날짜에 빼지 못한다면?
세입자는 울며 겨자먹기를 돈 받을 때까지 하는 수밖에 없다.
이러한 문제점들이 우리 사회에서 대두되었던 이유는
계약의 실행이 불완전했기 때문이다.
하지만 완전한 실행이 가능한 계약은 구조가 다르다.
실행이 보장되기 위해서 필요한 전제조건들을 파악하고,
기존의 계약 조항들을 코드로 옮기는데에는 새로운 지식이 필요하다.
그래서 그걸 사업화해보면 어떨지.
아직은 때가 아닌 것 같다.
하지만 미리 준비한다면 때가 되었을 때 이룰 수 있을 것 같다.
친구에게 한번 대강 설명을 들어서 알고는 있었지만,
직접 검색을 해보고 찾아보니 이 분야에 대한 관심이 더 높아진 것 같다.
다음 시간에는 간단한 구현을 해보자.
'개발 잡부 > 블록체인' 카테고리의 다른 글
크립토 좀비 1-2. 좀비가 희생물을 공격하다. (0) | 2022.03.30 |
---|---|
블록체인 Footprint (0) | 2022.03.30 |
크립토 좀비 1-1. 좀비 공장 만들기 (0) | 2022.03.30 |
클레이튼 Klaytn Count BApp 따라하기 (0) | 2022.03.12 |
클레이튼 Klaytn countbapp 설치 오류 (0) | 2022.03.12 |