* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다.

상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : ) 

https://hyperledger-fabric.readthedocs.io/en/latest/index.html

 

A Blockchain Platform for the Enterprise — hyperledger-fabricdocs master documentation

Docs » A Blockchain Platform for the Enterprise Edit on GitHub Built with Sphinx using a theme provided by Read the Docs.

hyperledger-fabric.readthedocs.io

스마트 컨트랙트 혹은 Fabric에서 "체인코드"라고 부르는 것은 신뢰할 수 있는 분산 애플리케이션으로 기능하여 동료 간 블록체인 및 기본 합의로부터 보안성/신뢰성을 획득합니다. 이는 블록체인 애플리케이션의 비즈니스 로직입니다.

 

특히 플랫폼에 적용할 때 스마트 컨트랙트에 적용되는 세 가지 주요 사항은 다음과 같습니다.

  • 많은 스마트 컨트랙트는 네트워크에서 동시에 실행됩니다.
  • 이들은 동적으로 배포될 수 있습니다. (많은 경우에 누구든지)
  • 응용 프로그램의 코드는 신뢰할 수 없고, 잠재적 악성일 가능성을 가지고 있습니다.

대부분 현존하는 스마트 컨트랙트가 가능한 블록체인 플랫폼은 합의 프로토콜인 order-execute 구조를 따릅니다.

  • 유효성을 검사하고 주문하는 트랜잭션은 모든 피어 노드에 트랜잭션을 전달합니다.
  • 각 피어는 트랜잭션을 순차적으로 실행합니다.

order-execute 구조는 Ethereum (PoW 기반 합의 방식) 과 같은 public/무허가형 플랫폼에서부터 Tendermint, Chain, Quorum과 같은 허가형 플랫폼에 이르기까지 사실상 모든 기존 블록체인 시스템에서 찾을 수 있습니다. 

 

블록체인 내에서 order-execute 구조로 동작하는 스마트 컨트랙트는 결정적이어야 합니다. 그렇지 않으면 합의에 도달하지 못할 수도 있습니다. 비결정적인 문제를 해결하기 위해 많은 플랫폼에서는 스마트 컨트랙트를 비표준 또는 도메인 특정 언어 (예, Solidity)로 작성하여 비결정적 작업을 제거할 것을 요구합니다. 이는 개발자가 새로운 계약을 통해 새로운 언어를 배우고 프로그래밍 오류를 유발할 수 있기 때문에 널리 채택될 수 없습니다.

 

또한, 모든 트랜잭션은 모든 노드에 의해 순차적으로 실행되므로 성능 및 규모가 제한됩니다. 시스템의 모든 노드에서 스마트 컨트랙트 코드가 실행된다는 사실은 전체 시스템의 탄력성을 보장하기 위해 잠재적인 악의적 계약으로부터 전체 시스템을 보호하기 위해 복잡한 조치가 취해지도록 요구합니다.

 

'● STUDY ● > Hyperledger' 카테고리의 다른 글

Composer Introduction  (0) 2019.07.08
Fabric New Approach  (0) 2019.07.07
Fabric Permissioned vs Permissionless Blockchains  (0) 2019.07.05
Fabric Modularity  (0) 2019.07.04
Hyperledger Fabric이란  (0) 2019.07.03

+ Recent posts