ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프라이빗 블록체인 아키텍처
    개발 일지/Blockchain 2023. 8. 7. 10:58
    반응형

    출처: https://mlsdev.com/blog/156-how-to-build-your-own-blockchain-architecture

     

    Blockchain Architecture Explained: How It Works & How to Build

    Fundamentals of blockchain architecture. Learn about its components, types, work, benefits, and how to build your own blockchain architecture.

    mlsdev.com

     

    탈중앙화된 블록체인 애플리케이션은 다른 일반적인 소프트웨어 제품과 같이 디자인됩니다.

    기능적인 스펙, UX/UX 디자인, 그리고 아키텍처 설계가 요구됩니다.

    앱의 기능, 사용자 롤을 식별하고 시스템 흐름과 사용자와 정보 사이의 상호 작용에 대해 생각하는 것이 중요합니다.

     

    블록체인 아키텍처를 구축하기 위해서는 아래 2가지가 필수적으로 고려되어야 합니다.

    • 블록체인 네트워크 : 
      하나 또는 몇 개의 조직 내부의 특정 환경에 배치된 애플리케이션 인프라
    • 블록체인 코드 :
      해당 블록체인 솔루션이 수행하기 위해 개발된 태스크와 목표

     

    프라이빗 블록체인 아키텍처를 구현할 수 있는 몇가지 오픈 소스 솔루션이 있습니다.

     

    가장 유명한 것은 리눅스 재단의 Hyperledger 입니다. 이 프로젝트는 IBM과 유명한 기술 조직들에서 사용되고 있습니다. Hyperledger 컴포저는 블록체인 아키텍처를 구축하기 위한 툴세트를 제공합니다.

     

    이외에도 EthereumCorda 오픈소스가 있습니다.

     

    블록체인 네트워크

    조직 또는 몇몇이 블록체인 솔루션을 구현하기로 결정하면 이미 네트워크를 만들고 있는 것과 같습니다.

     

    좀더 구첵적으로 보면, '다이아몬드'를 예로 들어봅시다.

    다이아몬드와 관련된 위험과 과제는 다이아몬드 추출에서부터 최종 이익에 이르기까지 프로세스의 모든 부분에서 존재합니다. 

    소비자는 정상적이고 명확한 다이아몬드를 구매하고 있는지 확인하기를 원합니다. (다크마켓 및 가짜가 아닌)

    정부기관은 세금 및 수출 내역을 추적할 수 있기를 원합니다.

     

    블록체인 아키텍처는 이와같은 위험을 제거할 수 있습니다.

    이 네트워크의 참여자들은 다음과 같을 수 있습니다:

    • 다이아몬드 채굴업자
    • 정부 기관
    • 다이아몬드 수송업자
    • 다이아몬드 판매자

     

    블록체인 솔루션은 위에서 언급한 모든 위험을 제거하고 투명한 시스템을 구축하기 위해 이러한 조직들을 참여시킵니다.

    모든 구성원은 "공유되고 변경 불가능한 원장"의 동기화된 데이터에 접근할 수 있고, 다이아몬드 제조에서 최종 소비자로 이동하는 과정을 추적할 수 있습니다.

    (블록체인 원장은 다이아몬든 채굴, 정제 및 유통과 같이 발생하는 모든 작업의 순서를 보유합니다.)

     

    대부분의 경우 네트워크 내 각 조직은 규정된 프로토콜 및 블록체인 네트워크의 노드와 함께 동기화된 자체 사본을 보유합니다.

    또한 동시에 발생하는 몇 가지 프로세스를 설명하기 위해 "Ordering Service"가 있습니다.

    이는 블록체인 아키텍처 내에서 트랜잭션과 그 '순서'를 결정하는 모든 조직간에 공유됩니다.

    여러 사용자가 있는 경우 네트워크 내부의 특정 사용자에 대한 접근을 허용하는 MSP(Membership Services Provider)가 있습니다.

    결과적으로, 모든 트랜잭션은 총 게정원장에 보관됩니다. (다이아몬드 사진, 추출 장소, 색상, 시리얼 번호 등의 데이터)

     

    아래는 블록체인 아키텍처를 구성하는 하이퍼레저 아키텍처 도형입니다.

    블록체인 코드

    블록체인 네트워크가 구성되고 나면, 다음 단계는 블록체인 아키텍처 내에서 발생하는 비즈니스 트랜잭션 유형에 동의하는 것입니다. 

    실제로 이러한 규칙은 법적 계약으로 작성됩니다. 

    논리적으로 블록체인 코드 내에서 이것은 스마트 컨트랙트로 구현됩니다.

     

    실제 세계에서와 같이, 블록체인 컨트랙트에는 '참여자', '에셋', '트랜잭션'이 있습니다. 

    각 트랜잭션에 대해 트랜잭션 프로세서 기능(Transaction Processor Function)이 작성되고 트랜잭션이 생성되면 발생할 일을 기술합니다.

     

    블록체인 아키텍처를 구축하기 위해 필요한 기술

    블록체인 개발에는 다양한 기술과 복잡한 배경 지식이 필요한 까다로운 작업입니다.

    일반적으로 블록체인 아키텍처로 작업하려면, 컴퓨터 공학에 대한 강력한 배경이 요구됩니다.

    또한 합의 알고리즘, 데이터 구조, 분산 원장, 암호화 및 암호 화폐, 데이터 보안과 관련된 지식도 상당히 요구됩니다.

     

    최근 블록체인 개발은 Ethereum 및 기타 블록체인 소프트웨어의 도움으로 단순회되었습니다.

    이더리움은 블록체인 기술을 기반으로 하는 오픈 소스 소프트웨어 블랫폼으로 '분산 애플리케이션(Dapp)'을 구축하고 배포할 수 있습니다.

     

    블록체인 솔루션을 개발하는데 필요한 코딩 기술 측면으로는 특정 언어가 아닌 다양한 프로그래밍 언어에 익숙해져야 합니다.

    목표가 커스텀 블록체인 시스템을 구현하는 것이라면 C++, 파이썬, C, Java 및 Ruby와 같은 프로그래밍 언어가 필요하죠.

    또한 HTML, CSS, Node JS와 같은 웹 개발 기술도 필요합니다.

     

    Ethereum을 사용해 스마트 컨트랙트을 작성하려면 contract-based 프로그래밍 언어인 Solidity가 필요합니다.

     

    이러한 기술역량 외에도, 커스텀 소프트웨어 개발자는 비즈니스 요구사항 및 운영에 대한 이해력과 뛰어난 협업 및 커뮤니케이션 역량도 보유해야 합니다.

     


    블록체인 아키텍처의 주요 특징

    블록체인 아키텍처는 비즈니스에 있어 많은 이점을 가지고 있습니다.

    • Cryptography(암호화)
      블랙체인 트랜잭션은 관련 참여자간의 복잡한 계산 및 암호화 증명으로 인해 검증 및 신뢰할 수 있습니다.
    • Immutability(불변성)
      블록체인에 기록된 모든 기록은 변경하거나 삭제할 수 없습니다.
    • Provenance(기원)
      블록체인 원장 내부의 모든 트랜잭션의 출처를 추적할 수 있습니다.
    • Decentralization(탈중앙화)
      블록체인 구조의 각 구성원은 전체 분산 데이터베이스에 접근할 수 있습니다.
      중앙 집중 시스템과 달리 '합의 알고리즘'을 통해 네트워크를 제어할 수 있습니다.
    • Anonymity(익명)
      각 블록체인 네트워크 참여자는 사용자 ID가 아닌 생성된 주소를 가집니다. (이는 특히 퍼블릭 블록체인 구조에서 사용자의 익명성을 유지합니다.)
    • Transparency(투명성)
      블록체인 네트워크를 완전히 조작하려면 엄청난 컴퓨팅 성능이 필요하기 때문에 조작될 가능성이 극히 낮습니다.
    반응형
Designed by Tistory.