IBC protocol overview

Jay Soh·2022년 2월 16일
0

dev

목록 보기
2/3

스터디에서 최근에 코스모스의 IBC protocol에 대해 다뤘는데요,

IBC protocol 구조에 대해 제가 이해한 바를 공유합니다.

전반적인 구조는 위의 hyperledger 구조와 유사하고,

  • Client: 상대 ledger의 consensus를 검증하고 finality를 부여하는 abstraction
  • Connections: IBC protocol에서 패킷간의 교환 전 승인을 내리는 abstraction
    • 양 ledgers에 있는 각각의 connection ends는 각각의 client와 associate 되어 packet-relay 전 승인을 내리는 절차
  • Channel: 패킷이 delivery가 되는 abstraction
    ordering, exactly-once delivery, module permissiong을 부여.
    - ordering: 패킷이 정해진 순서대로 전달됨(in ordered-channel)
    - exactly-once delivery: 패킷은 딱 한번만 전송됨. (중복x)
    - module permissioning: 해당 channel에 associate된 port를 소유한 module만 channel 사용 가능.
    -> Connection과 Channel이 각각 패킷의 authorisation과 ordering 을 부여

위 관념은 블록체인 layer에서의 packet(transaction) 전달과 관련된 것이고, 인터넷과는 상관 없음.

  • Relayer: IBC의 ‘physical’ connection layer.
    • 위 블록체인 layer와 인터넷 네트워크 layer(TCP/IP 등) 를 연결해주는 역할.
    • 블록체인 위에서의 원장의 verification, consensus 등과는 관련이 없고, 오로지 network와의 communication과만 연관됨.
    • 각각의 원장이 현재 통신가능한 상태인지 등을 체크하여 릴레이할 datagram (packet)을 calculate.
profile
Interested in connecting multi-chains

0개의 댓글