서로 다른 블록체인 프로토콜을 사용하는 플랫폼들간의 차이점이 궁금합니다.

조회수 1236회

개발자들이 서로 다른 네트워크 프로토콜을 갖은 Hyperledger, multichain, Ethereum, Corda 등 다양한 블록체인을 사용한다고 알고있습니다.

개발자 분들이나 블록체인에 지식이 많은 분들은 위의 다양한 블록체인들의 차이점에 대해서 설명해주시면 감사하겠습니다.

출처: https://stackoverflow.com/questions/41690983/difference-between-various-blockchain-protocols 이 질문은 저작자표시-동일조건변경허락(https://creativecommons.org/licenses/by-sa/3.0/deed.ko) 라이센스로 이용할 수 있습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • 대답하기 쉽지는 않지만 좋은 질문입니다.

    스택오버플로우 커뮤니티의 Mat0님이 언급하셨듯이 각각의 차이점중 하나는 합의 알고리즘입니다. 일부는 proof of work (PoW) 방식을 사용하고 또 다른 플랫폼들은 비잔티움 장군 문제를 해결하기 위해 다른 방식들을 사용합니다(PBFT, SBFT, PAXOS derivative 등). 다른 예로 Hyperledger Sawtooth Lake는 기존과 차별화된 혁신적인 알고리즘인 Proof of Elapsed Time (PoET)를 개발했습니다. 또 다른 예로 Hyperledger Fabric과 같은 프레임웍은 합의 알고리즘을 플러그인 방식으로 지원하기도 합니다.

    또 다른 차이점은 데이터와 거래를 처리하는 방식입니다. UTXO 프로토콜을 이용하여 한정된 방식의 거래만 처리하는 플랫폼이 있는가 하면 Hyperledger Fabric, Hyperledger Sawtooth Lake, Corda, Ethereum 등 처럼 스마트 컨트렉트를 이용하여 복잡한 거래까지 처리할 수 있는 플랫폼들도 있습니다.

    또한 특정한 usecase에 맞춰 제작된 플랫폼이 있는가 하면 다양한 목적으로 사용되도록 만들어진 플랫폼들도 있습니다.

    마지막으로 신뢰할 수 없는 네트워크 환경(참여자들이 인증되지 않은 환경)을 위해 만들어진 플랫폼이 있고 반대로 신뢰할 수 있는 네트워크 환경(참여자들이 인증된 환경)을 위해 만들어진 플랫폼이 있습니다.

    Hyperledger는 기업에서 사용되기 위해 만들어진 플랫폼입니다. 이 플랫폼은 기업들이 서로 같이 혹은 경쟁하면서 개발하는 것이 상호 운용성을 높여주고 점진적으로 통합을 시켜줄 것을 기대하며 발전중에 있습니다.

    플랫폼을 결정하기 위해서는 많은 연구가 필요하고, 자신의 프로젝트의 use case와 요구사항에 대한 분명한 이해가 필요하며, 충분한 실험이 필요합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 답변이 채택된 글에 대부분 동의하지만 좀더 UTXO에 관해 추가 설명을 해보겠습니다.

    R3의 CTO인 저의 관점에서 볼 때는 블록체인 플랫폼끼리의 가장 큰 차별성은 그들이 어떤 "복제된 가상 머신"(글쓴이가 만든 은유적 표현입니다)을 사용하는지, 혹은 거래 결과를 기반으로 하는 UTXO 모델을 사용하는지에 있습니다.

    Mike Hearn님이 Corda의 설계에 대해 글을 작성하면서 이것에 대해 언급한 것이 있습니다 : https://www.corda.net/2016/12/09/rationale-tradeoffs-adopting-utxo-style-model/

    제가 만들고 싶었던것의 핵심은 UTXO 모델입니다 - 적어도 Corda 에서 구현된 것 처럼 어떠한 어떠한 연산도 제한시키지 않고 모든 함수코드를 돌릴수 있게 하는 것입니다.

    그 차이는 플랫폼의 비 기능적인 특성의 맥락에서 더 잘 나타납니다.

    채택된 답변자가 말했던것 처럼 플랫폼은 use case에 맞게 정해져야합니다 : 우리가 Corda에서 사용한 UTXO모델은 다양한 금융 서비스에 잘 맞을 것으로 생각됩니다(우리가 그렇게 설계했으닌깐요!). 하지만 어디에나 잘 맞는 플랫폼은 존재하지 않습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)