본문 바로가기

Hyperledger Fabric/Document

[HYPERLEDGER FABRIC v1.0]Blockchain basics: Glossary and use cases

주요 블록체인 용어 및 다양한 응용 프로그램

블록 및 블록체인 네트워크

블록체인은 비즈니스 네트워크에서 공유되는 일종의 분산 원장[1]입니다. 비즈니스 트랜잭션은 장부에 첨부 된 순차적이고 추가만 가능하고 변조가 블가능한 블록에 영구적으로 기록이 됩니다. 유효성이 확인된 모든 트랜잭션 블록은 기원 블록에서 가장 최신 블록으로 해시(hash)[2]로 링크되어 있으므로 블록체인이라고 불리어 집니다.

따라서 블록체인은 네트워크에서 블록체인이 시작된 이후에 발생된 모든 트랜잭션에 대한 기록입니다. 블록체인은 네트워크의 단일소스의 역할을 합니다.

블록체인 네트워크는 권한이 있거나 권한이 없을 수 있습니다. 허가 받지 않은(Permissionless) 네트워크는 모든 참가자에게 개방되어 있으며 네트워크의 기존 규칙에 따라 트랜잭션이 확인 됩니다. 참가자가 익명인 경우에는 모든 참가자는 원장에서 거래를 볼 수 있습니다. 비트 코인[3]은 불필요하고 공개 된 블록체인 네트워크의 가장 친숙한 예제 입니다.

반면 허가된 네트워크(Permissioned networks)는 일반적으로 사적이며 주어진 비즈니스 네트워크 내의 참여자로 제한됩니다. 권한이 부여된 블록체인에서 참가자는 관련 블록만 볼 수 있습니다. Hyperledger는 Linux Foundation에서 주최하는 공동 작업으로 비즈니스를위한 허가 된 블록 체인 개발을 지원합니다.


분산원장(Distributed ledgers)

분산 원장은 네트워크 구성원 간에 공유, 복제 및 동기화되는 일종의 데이터베이스 또는 레코드 시스템입니다. 분산원장은 자산 또는 데이터 교환과 같은 거래를 네트워크 참여자간에 기록합니다. 이 공유 원장은 서로 다른 원장을 조정하는데 드는 시간과 비용을 없애 줍니다.

네트워크의 참가자는 원장의 기록 업데이트에 대한 합의에 따라 이를 통보하고 서로 동의 합니다. 은행이나 정부와 같은 중앙의 제 3자 중재자는 관여하지 않습니다.(중앙에서 관리하고 인증해 주는 주체가 없다는 의미) 분산 원장의 모든 레코드에는 타임 스탬프와 고유한 암호화 서명이 있어서 네트워크에서 모은 트팬잭션의 감사가 가능한 기록을 만듭니다.

여러 오픈 소스 프로젝트 중 Hyperledger Fabric 블록체인을 중심으로 이야기 해 나가겠습니다.


참가자(Participants)

비즈니스를 위한 블록체인 네트워크는 식별 가능하고 검증이 가능한 참가자 그룹이 운영하는 집단 소유의 P2P(peer to peer) 네트워크 입니다. 참여자는 예를 들어 비즈니스, 대학 또는 병원과 같은 개인 또는 기관일 수 있습니다.


자산, 거래, 채널(Assets, transactions, and channels)

가치를 창출하기 위해 소유 또는 통제 할 수 있는 것이 자산입니다. 자산은 유형자산(예 : 자동자, 농장에서 생산된 신선한 복숭아 등) 또는 무형 자산(예 : 모기지 [4]또는 특허 등) 일 수 있습니다. 거래는 장부에 또는 장부에서 자산을 양도 하는 것입니다. Hyperledger Fabric 블록체인에서 자산은 바이너리 또는 JSON 형식의 Key-value 형태의 모음입니다.

Hyperledger 패브릭 블록체인에서 채널은 비공개 및 기밀 트랜잭션을 수행하기 위해 둘 이상의 특정 네트워크 구성원간의 통신에 대한 개인 '서브넷[5]'입니다. 두명의 참가자가 채널을 구성하면 해당 참가자는 해당 채널에서 거래 하고 해당 채널에 대한 원장의 사본을 공유 할 수 있도록 인증 및 승인되어야 합니다.


합의(Consensus)

컨센서스는 블록체인 비즈니스 네트워크 회원들이 거래가 유효하다는데 동의하고 원장을 지속적으로 동기화 하기 위해 사용하는 협업 프로세스입니다. 컨센서스 메커니즘은 사기 거래의 위험을 낮추는데, 이는 장부에 추가된 거래에 대한 조작이 동시에 여러 장소에서 발생해야 하기 때문입니다.

합의에 도달하기 위해 참가자는 거래에 동의하고 원장에 영구적으로 기록되기 전에 이를 확인합니다. 참가자는 거래를 확인하기 위한 규칙을 설정할 수도 있습니다. 아무도 시스템 관리자조차도 원장에 추가 된 트랜잭션을 삭제 할 수 없습니다. 참가자들의 신뢰 할 수 있는 네트워크는 불필요한 합의 과정 및 비용을 줄여 줍니다.

비즈니스 블록체인에서는 다양한 합의 매커니즘(알고리즌)을 선택할 수 있습니다. 다만 신뢰도가 높으면 단순 투표로 충분 할 있고 네트워크가 보다 정교한 방법을 사용할 수 있습니다.

Hyperledger Fabric의 컨텍스트에서 스마트 계약은 체인 코드에 기록되며 용어는 본질적으로 동의어로 간주됩니다.

Hyperledger Fabric에서 chaincode는 네트워크 자산 및 자산 수정을위한 트랜잭션 지침 (비즈니스 로직)을 정의하는 Go언어로 작성된 코드 조각입니다. 적절하게 인증 된 구성원이 체인 코드를 설치하고 채널을 인스턴스화합니다. 해당 채널에서 트랜잭션이 호출되면 chaincode의 함수가 값을 읽고 원장에 값을 씁니다.


스마트계약 및 체인코드 (Smart contracts and chaincode)

스마트 계약은 원장과의 상호작용을 관리하며, 네트워크 참여자가 거래의 특정 측면을 자동으로 실행 할 수 있게 합니다. 예를 들어 스마트계약은 도착한 시점에 따라 변경되는 품목 운송비용을 규정 할 수 있습니다. 당사자가 동의하고 대장에 기록 된 조건에 따라 적절한 물품을 수령하면 자동으로 처리 되게 됩니다.


블록체인 애플리케이션(Blockchain applications)

블록체인 응용프로그램에는 상호 의존적인 세 가지 구성요소(사용자용 응용 프로그램, 스마트 계약, 원장)가 필요합니다. 회상위 계층은 네트워크 참여자의 요구를 충족시키는 사용자용 응용프로그램입니다. 이 응용프로그램을 사용면 비즈니스 네트워크에서 트랜잭션을 트리거하는 스마트 계약을 호출 할 수 있습니다. 스마트 계약은 네트워크의 비즈니스 논리인 자산, 소유권, 소유권 이전을 캡슐화 합니다. 스마트 계약을 호출할 때마다 네트워크에 트랜잭션이 생성되고 원장이 업데이트 됩니다. 원장은 스마트 계약 데이터의 현재 값을 보유하고 네트워크를 통해 분산 됩니다.


블록체인 유즈케이스(use case)

블록체인은 금융, 의료 및 정부와 같이 다양한 분야의 산업을 재구성하는데 도움을 주고 있습니다.

Internet of Things(사물 인터넷)

  • 화물 운송 : 여러 운송 회사와 함께 화물을 이동시켜 투명성과 적시 배달을 보장함
  • 구성품 추적 : 차량 유지 보수를 위한 원본 및 교체 부품의 출처 기록 및 저장
  • 운영 데이터 기록 : 비즈니스 파트너 간 공유 또는 규제 목적으로 운영 및 유지 관리 기록을 저장

Identity management(인증)

  • 디지털 인증 구축

Supply chain(공급망)

  • 식품 안전 네트워크의 추적, 투명, 효율성 향상

Financial services(금융 서비스)

  • 고객 이해 : 신뢰할 수 있는 최신 정보에 대한 접근은 금융기관의 고객 서비스 정확성을 향상 시킴
  • 결제 : 금융 기관 간 실시간 point-to-point 로 자금 이체의 결제
  • 신용장, 기업채무 및 채권, 거래 플랫폼, 지불 송금, 환매 계약 및 외환

Healthcare

  • 전자 의료 기록(EMR : Electronic medical records)
  • 바이러스 은행
  • 의사와 공급업체의 RFP 서비스 및 보증 계약
  • 블록체인 건강 연구 공유
  • 블록체인 건강 공증

Insurance(보험)

  • 클레임 처리 기록
  • P2P 보험
  • 보험 소유권
  • 보험 판매 및 인증

Government(정부)

  • 정보 보급(쿠폰등)
  • 투표
  • 세금

Gaming

Music


Conclusion

블록체인 용어를 이해 함으로써 이 기술이 어떻게 작동하는지와 여러 산업 분야에서 어떤 생산적인 용도로 적용이 가능한지를 평가 할 수 있다.


원본사이트: https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-glossary-bluemix-trs/index.html