클레이튼 블록체인 강의(그라운드X)(7일차)

민식킴·2021년 3월 2일
0

블록체인 일지

목록 보기
3/9

블록체인

블록체인이란?

  • 정보를 블록단위로 체인형태로 묶은 기술

해쉬함수

X -> (해쉬함수) -> H(X) // eazy
H(X) -> (해쉬함수) -> X // hard

if (X == Y) than H(X) == H(Y)
if (X != Y) than H(X) != H(Y)
if H(X) == H(Y) than (X == Y)

결과값으로 0xwi9gaME3IRba43n... 와 같은 64자가 나옴. // 0x~로 시작하는 값은 거의 대부분 해쉬에서 뭐 해서 나온거네~라고 생각하면 된다.
그런데 16진수는 2자리씩 잡아먹으므로 32개의 16진수 -> 32byte(x8) = 256bit

블록체인 구성

  • 헤더와 바디로 크게 나뉘는데 헤더에는 다음 블록의 답을 찾는 퀴즈를 내고 바디에는 헤더를 어떻게 검증하고 검증을 위해 무엇이 필요한지를 설명하는 정보가 들어있다.(트랜잭션도)
  • 블록의 시작은 0.
  • 생성주기: 비트코인-10분, 이더리움-15초, 클레이튼-1초. (에 수렴)
  • 투명성과 불변성을 지님.

블록체인 합의

블록체인 마다 새로운 블록이 생성되면 이를 정규로 인정할지를 합의하는데 차이가 있다. 단순히

  • PoW (비트코인) : 퍼즐을 푸는 방식
  • PoS (이더리움FFG&CFG) : 토큰 많은 사람이 발언권을 가짐
  • BFT (클레이튼) : 정해진 노드끼리 합의(2/3 이상)

public과 private, permissioned과 permissionless

                           ^ public
                           |
           클레이튼         | 비트코인, 이더리움
                           |
      permissionedㅡㅡㅡㅡㅡ|ㅡㅡㅡㅡㅡㅡㅡ> permissionless
       (참여 제한)          |              (참여 제한 없음)
               리플        |
                           |
                           | private

암호

  • 카이사를 암호 : a->c b->d c->e ...와 같이 n칸 뒤의 알파벳으로 변환하는 단순한 암호

  • 비대칭 키암호 : 모든 사람에겐 공개키와 비밀키가 있다. 공개키는 모두에게 공개되어있다. 만약 A가 B에게 메세지를 보낸다면

    1. A의 메세지는 B의 공개키로 암호화된다.
    2. 인터넷에서 암호화된 메세지가 전송된다.
    3. B는 자신의 비밀키로 메세지를 해독한다.
  • 전자서명: 만약 G라는 사람이 B의 공개키로 악의적인 메세지로 보낸다면 어떨까? B는 누가 보냈는지 모르는 메세지를 받는다면 말이다. 이를 위해 전자서명을 추가하였는데

    1. A의 메세지는 B의 공개키로 암호화된다. 동시에 A의 비밀키로 암호화한 사인을 보낸다.
    2. 인터넷에서 암호화된 메세지와 사인이 전송된다.
    3. B는 자신의 비밀키로 메세지를 해독하기 전에 A의 공개키로 사인을 해독하여 true값이 나오면 A가 전송한 것을 알 수 있다.

    트랜잭션 예시

    {
    	nounce : 1, // 어카운트 기반에서 보인다. 몇번째 트랜잭션을 발행했는지를 나타내며 이중 결제를 막는다.
      from : '0xa3K2iEIM4~', // sender, 이더리움에는 이를 생략함
      to : '0xiem2mIsiJI~', // 받는 사람의 주소
      value : 10 // 10코인
    }

    클레이튼 :

    type: 'VALUE_TANSFER' // 이 트랜잭션이 무엇인지 설명
    nonce: '0x01',
    gasPrice: '0x05d21~',
    gas: '0x0493e0',
    value: '0x01',
    
    to: '0x ~',
    from: '0x ~',
    v: '0x07f6',
    r: '0x5f36aad~',
    s: '0x709ee~'
profile
우리의 꿈, 우리의 희망

0개의 댓글