티스토리 뷰

반응형

해당 글은 Hyperledger Fabric 페이지의 게시글을 번역 및 정리한 자료입니다.

원본 사이트 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/blockchain.html


소개

Hyperledger Fabric은 높은 수준의 비밀성, 회복력, 유연성과 확장성을 가진 모듈러한 아키텍쳐가 기반이 된 분산 원장 플랫폼입니다.

각기 다른 요소의 추가 기능과 경제 생태계 속에 존재하는 복잡함에 적응하기 위해서 디자인 되었습니다.

Hyperledger Fabric은 다른 블록체인 솔루션과 차별화 되는 독특하게 유연하고 확장 가능한 아키텍쳐를 사용자에게 전달합니다.

기업 블록체인의 미래를 위한 계획에서 필요한 것은 완벽하게 확인가능하고 오픈소스 아키텍쳐로 만들어지는 것입니다.

이러한 부분에서 Hyperledger Fabric은 사용자의 시작 지점입니다.

Hyperledger Fabric은 처음 사용자에게 남은 소개 섹션을 훑어보며 특정 요소나 특징에 블록체인이 어떻게 작동하는 가에 대해서 숙지하는 것을 추천압니다.

이미 이해하고 있거나 이해하셨다면 Getting Started로 이동하셔서 데모, 기술적 특징, API와 같은 것을 찾으시길 바랍니다.


블록체인이란 무엇인가?

분산원장

블록체인 네트워크의 핵심은 네트워크에서 발생하는 모든 트랜잭션을 기록하는 분산원장 시스템입니다.

블록체인 원장은 분권화된 시스템으로 표현되기도 합니다. 이는 많은 네트워크 참여자 사이에서 시스템 안에서 유지보수하며 쌓인 데이터를 복제하기 때문입니다.

아래의 사진은 분권과 공동 작업이 실제 기업환경에서 거래되는 재화와 서비스를 보여줄 수 있는 강력한 특징임을 보여줍니다.


분권과 공동 작업에 더하여, 블록체인 내의 데이터는 읽기 전용입니다. 한 번 발생한 트랜잭션을 원장에 기입하면 절때 수정될 수 없다는 점을 보장하기 위해서 암호화 기법을 사용합니다.

이러한 불변성은 정보의 출처를 증명하는 것을 쉽게 만듭니다. 이는 유저가 트랜잭션 발생 이후 데이터가 조작 또는 변동되지 않았다는 것을 증명할 수 있기 때문입니다.

이것이 블록체인이 증명의 시스템으로 표현되는 이유입니다.


스마트 컨트랙트

일관된 데이터 업데이트를 지원하는 것과 모든 원장 기능의 호스팅을 가능하게 하기 위해서 블록체인 네트워크는 원장으로의 접근을 조절할 수 있도록 하는 스마트 컨트랙트를 사용합니다.


스마트 컨트랙트는 정보 보호의 핵심 메커니즘과 네트워크에 간단히 보관할 수 있을 뿐만 아니라 사용자가 특정 관점의 트랜잭션을 자동으로 발생 시킬 수 있도록 합니다.

예를 들자면, 스마트 컨트랙트는 도착 시간에 따라서 배송 비용이 달라지는 규정으로 쓰일 수 있습니다.

두 이해관계 집단이 약관에 동의하고 원장에 쓰여진 후부턴 일정 금액이 상품이 도착하는 순간 전송됩니다.


합의

트랜잭션이 블록체인 참여자로부터 승인 되었을 떄만 원장을 업데이트 하는 것과 원장 스스로 업데이트 하는 것을 보장하기 위해서,

네트워크의 원장들이 일치되도록하는 프로세스를 합의라고 합니다.


이후 스마트 컨트랙트와 합의 알고리즘에 대해서 더욱 많이 배울 예정입니다. 지금은 블록체인이 공유되고 복제된 트랜잭션 시스템이라는 것을 아는 것으로 충분합니다.

이 시스템은 스마트 컨트랙트에 의해 업데이트 되고, 합의라는 협력 프로세스를 통해서 일관되게 일치함을 유지합니다.


왜 블록체인이 유용한가요?

오늘날의 기록 시스템

오늘날의 거래 네트워크는 이전 기업환경에서 유지해온 기록 네트워크에서 근소하게 업데이트된 버젼입니다.

비즈니즈 네트워크의 구성원은 서로 거래를 합니다. 하지만 거래 기록을 각자 나누어 가지고 있습니다.

그리고 거래가 되는 모든 것들은 팔리는 순간에 출처를 기록해야만 합니다.

이를 위해 상품을 판 비즈니스 측에서 제품의 소유권을 확인할 수 있도록 항목들의 묶음을 보유하고 있어야 합니다.

이러한 비즈니스 네트워크는 아래와 같습니다.


현대 기술은 이러한 종이 기록과 돌 기록을 하드 드라이브와 클라우드 플랫폼으로 가져왔습니다.

네트워크 참여자들의 신원을 관리하기 위한 통합 시스템은 더 이상 존재하지 않습니다.

출처를 만드는 것 자체가 많은 노동력을 요구하고 거래 신뢰성을 명확히 하는 것에 오래 걸립니다.

거래를 직접 손으로 사인하고 거래를 진행하고, 모든 데이터베이스가 다른 정보를 가지고 있는 것이 결국 모든 것이 잘못되는 점으로 귀결됩니다.

가시성과 신뢰가 확실함에도, 비즈니스 네트워크에 걸치는 기록 시스템을 만드는 프로세스와 정보는 오늘날의 균열있는 접근 방식으로는 불가능합니다.


Hyperledger Fabric이란 무엇입니까?

Linux Foundation이 산업 전용 블록체인 기술로 2015년에 Hyperledger를 만들어 내었습니다.

하나의 블록체인 기준이라기 보다, 오랜 시간동안 오픈 개발과 핵심 기준 적용을 장려하는 지적 재산권을 가진 공동체 프로세스를 향한 블록체인 기술을 개발하는 방향으로 진행되고 있습니다.

Hyperledger Fabric은 Hyperledger 안에 블록체인 프로젝트 중 하나입니다. 다른 블록체인 기술과 마찬가지로 원장을 가지고 있습니다.

이 원장을 통해서 스마트 컨트랙트를 사용합니다.

이렇듯 Hyperledger는 사용자가 그들의 트랜잭션을 관리하는 시스템입니다.

Hyperledger가 다른 블록체인과 가지고 있는 차별점은 Private하고 허가가 필요하다는 점입니다.

알려지지 않은 미상의 사용자들에게 허가가 없는 작업 증명같은 트랜잭션을 유효화하고 네트워크 신뢰도를 유지하기 위한 프로토콜을 요구하는 네트워크 보다는,

Hyperledger Fabric의 사용자는 MSP(Membership Service Provider)를 통해서 사용자 등록을 해야합니다.

Hyperledger Fabric은 또한 다양한 추가 옵션을 제공합니다. 원장의 데이터가 다양한 형식으로 보관되고, 합의 메커니즘을 교환 할 수 있습니다.

또한 다른 방식의 MSP도 지원됩니다.

Hyperledger Fabric은 채널을 만들 수 있습니다. 채널은 트랜잭션별 각기 다른 분산 원장을 만들 수 있도록 합니다.

이는 특히 몇몇 사용자가 경쟁 관계고 트랜잭션 발생을 다른 사용자가 알기를 원하지 않는 네트워크에서 중요한 옵션입니다.

한 예로 특정 사용자에게만 할인을 제시하는 경우를 들 수 있습니다.

만약 채널로부터 두명의 사용자를 형성한다면, 해당 채널을 위한 원장이 복제됩니다.


원장 공유

Hyperledger Fabric은 다음의 두 가지 하부 구성요소를 포함하고 있습니다.

이는 World State트랜잭션 로그 입니다.

각각의 사용자들은 그들이 속한 Hyperledger Fabric 네트워크의 모든 원장의 복사본을 가지고 있습니다.

World State는 주어진 원장의 상태로 표현됩니다. 이는 원장의 데이터 베이스라고도 볼 수 있습니다.

트랜잭션 로그는 현재 World State의 값을 만들어낸 모든 요소들을 기록하고 있습니다. 이는 World State의 히스토리 업데이트라고 볼 수 있습니다.

원장은 이렇듯 World State와 트랜잭션 로그 히스토리로 구성되어 있습니다.

원장은 World State를 위한 대체 가능한 데이터를 가지고 있습니다. 기본적으로 LevelDB의 Key-Value 보관 데이터베이스 라고 불립니다.

트랜잭션 로그는 추가될 필요가 없습니다. 단순히 이는 블록체인 내 원장 데이터베이스의 변경 이전과 이후 기록을 가지고 있습니다.


스마트 컨트랙트

Hyperledger Fabric 스마트 컨트랙트는 chaincode로 작성되어 있고 어플리케이션에 의해서 원장-어플리케이션 간 상호작용이 필요할 때 블록체인 외부에서 실행됩니다.

대부분의 경우에 chaincode는 원장의 데이터베이스 요소와 상호작용을 합니다.

여기서 원장의 데이터베이스란 World state를 의미합니다. 또한 트랜잭션 로그에는 적용되지 않습니다.

Chaincode는 다양한 프로그래밍 언어로 구현될 수 있습니다. 현재는 Go언어와 Java를 지원하고 차후에 더욱 많은 언어를 지원할 계획입니다.


프라이버시

네트워크에 요구에 따라선 B2B 네트워크 내 사용자에겐 그들이 공유하는 정보량에 매우 민감할 것입니다.

그렇기 때문에 다른 네트워크에선 프라이버시가 최우선 고려사항 입니다.

Hyperledger Fabric은 상대적으로 열려있는 네트워크뿐만 아니라 채널을 이용한 프라이버시가 가장 핵심 기능 요구사항인 네트워크 또한 지원합니다.


합의

비록 사용자들의 조합으로 네트워크 속에서 만들어져 있더라도, 트랜잭션은 반드시 발생 순서에 맞추어 기록되어야 할 것입니다.

이것이 가능하도록 하기 위해서, 트랜잭션의 순서는 네트워크 내부 원장에 에러를 발생시키거나 악의적인 문제를 발생시키는 것을 막아내도록 만들어져야만 합니다.

이는 컴퓨터 공학에서 전체적으로 연구가 된 분야입니다. 따라서 이를 달성하기 위한 각자 다른 협정을 가진 다양한 방법도 가지고 있습니다.

예를 들자면, PBFT(Practical Byzantium Fault Tolerance)는 파일들이 문제 발생마저도 서로 확인하여 일치하도록 하는 복제 메커니즘을 가지고 있습니다.

대안으로서 비트코인에서는 순서를 채굴이라는 프로세스로 발생합니다. 컴퓨터 간에 암호 문제를 풀도록 경쟁하여 풀어내는 순서대로 프로세스 순서를 정합니다.

Hyperledger Fabric은 네트워크 구성자가 사용자 간에 관계를 가장 대표할 수 있는 합의 메커니즘을 선택할 수 있도록 제작되었습니다.

프라이버시와 함께, 관계 안에서 고도로 설계된 네트워크에서부터 더욱 Peer-to-Peer한 네트워크까지 포함하는 스펙트럼이 있습니다.

우리는 Hyperledger Fabric 합의 매커니즘에 대해서 더욱 많은 것을 배울 것입니다.

앞으로 SOLO,Kafka, 그리고 SBFT(Simplified Byzantium Fault Tolerance)까지 다른 문서에서 배우실 수 있을 것입니다.



어디서 더 배울 수 있을까요?

Getting Started

우리는 블록체인 안에서 가장 핵심적인 요소들을 소개할 다양한 튜토리얼을 제공합니다.

이를 통해서 어떻게 다른 유저와 상호작용 하는지 배우고, 또한 실제 코드를 사용해 구현해보면서 블록체인 네트워크 안에서 간단한 트랜잭션을 구동시켜 볼 것입니다.

또한 Hyperledger Fabric을 이용하여 블록체인 네트워크 구동에 관한 생각을 가지고 있는 사람들에게 해당되는 튜토리얼도 제공합니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함