블록체인 프로그래밍

심우진·2021년 12월 29일

절차적 프로그래밍에서 구조적 프로그래밍, 함수형 프로그래밍, 객체지향 프로그래밍 등
프로그래머는 접근 방식, 아키텍처의 전환을 경험하게 된다.
마찬가지로 블록체인 프로그래밍도 또 하나의 패러다임 전환이다.

객체지향 프로그래밍을 하기 전에 클래스와 객체 개념을 이해하는 것처럼
다음과 같이 블록체인이 수행할 4가지 핵심 역할이 있다.

블록체인 인프라(decentralized infrastructure)

블록체인 프로토콜, 스마트 컨트랙트, 어플리케이션을 지원하는 특정한 컴퓨팅 하드웨어와
소프트웨어 스택.

분산 장부 기술(distributed ledger technologhy)

인프라 위에 장부가 있는데, 모든 참여자의 장부에 트랜잭션과 데이터를 동시에 기록한다.
장부는 모든 참여자가 동일한 사실을 저장하고 있기 때문에 분산되어 있다고 할 수 있다.
각 블록은 이전 블록의 서명과 연결되어 변조 방지가 되므로 변조 불가능하다.

탈중개 프로토콜(disintermediation protocol)

탈중앙화 시스템의 참여자들은 상호 간에 연결하고 통신하고 거래하기 위해
동일한 블록체인 프로토콜을 사용한다.
프로토콜은 모두가 따라야 할 규칙의 집합이다. (이더리움, 아이콘 등)

신뢰 확립자(trust enabler)

탈중앙화 참여자 시스템은 중앙화된 정부 기관이나 은행과 같은 중개자들이 없다.
그러므로 중개자 없이도 거버넌스, 검사, 준수 등에 대한 규칙을 구현하여 거의 자동으로 처리하는 인프라가 필요하다. 블록체인 소프트웨어는 신뢰 확립자의 역할을 맡는다.

  • 컴퓨팅 시스템은 분산되고 중앙화된 시스템으로부터 탈중앙화 시스템으로 변화하는 추세인데, 탈중앙화 시스템에서 참여자들은 P2P 트랜잭션을 하며 일상의 신뢰 경계를 넘어서서 활동하게 된다.

0개의 댓글