블록체인 기초(비트코인, 이더리움)

반응형

비트코인

  • 블록체인의 시발점
    • 분산원장
    • 탈중앙화 시스템
    • 작동원리 : 블록 + 체인
      • 이전 블록의 정보와 다음 블록의 정보가 잘 연결되어 있음
      • 그래서 중간 블록에는 주작질 못함
      • 포인터, 링크드리스트 느낌

→ 이를 통해 온라인 상의 이중 지불 문제를 해결

  • 잔액 보다 더 큰 거래가 발생하면 블록안에 저장 안함
  • 각각의 트랜잭션들이 충돌하지 않게끔 채굴자가 보증함
  • 모두가 신뢰할만한 블록에 담길 수 있음

채굴과 합의 알고리즘

  • WHY?
    • 블록체인 네트워크 상의 요청을 받아서
      • 이가 정당한 요청인지 검사하고
      • 기록을 추가하여
      • 이것에 대한 보상을 받는 것!
  • 하지만 아무나 하면 어떻게 될까?
    • 한번에 서로 다른 원장을 만들면 동시에 다른 원장이 생기는 것 → 통일성이 없어짐
      • 그래서 Sync를 맞추기 위해서 채굴을 위한 조건을 빡세게 만듦
      • 즉 계산을 많이 할수록 확률 Up (Proof of Work) - 비트코인
      • 지분을 많이 들고 있을수록 확률 Up (Proof of Stake)
      • 등등...
  • 문제점: 51% 문제
  • 비트코인은 이거에 대한 문제점을 해결했음!
    • 하지만 그럼에도 레이턴시 문제 생김!

Fork

  • 그래서 마지막 블록은 어떻게 막음?
    • 블록체인 전파의 조건 활용
      • 높이가 내가 더 높으면 상대는 무조건 내꺼 복사
      • 높이가 같으면 어쩔 수 없음
    • 전파 속도에 비해 채굴이 너무 쉽게 되면 문제가 생길 수 있음

→ 일차적으로는 채굴 난이도가 점점 올라가게 설계되어 있음

→ 그럼에도 만약 일부 노드와 다른 노드가 충돌할때는?

  • 이때는 서로 전파를 못함!

  • 결국엔 빨강이의 승리!

→ 내가 만든 체인에 위로(뒤로) 쌓이면 쌓일수록(비트코인 기준 17개 - 18개, 이더리움 5개) 신뢰성을 보장!

정답을 맞추는 것 보다, 정답을 전파시키는 것이 빠름

그래서 즉 위의 상황에서 결국 빨강이가 다 먹었다고 하면, 파란색은 보상에 대해 인정 못 받게 됨

→ 그래서 거래소같은데서 현금화도 해당 신뢰성(높이)를 파악하고 시켜줄 것!


이더리움

  • 2세대 블록체인
  • 그렇다면 달라진 점은?
    • 스마트 컨트랙트
    • 계약서 계정을 추가!
  • 채굴자 입장에서는 이를 어떻게 처리하느냐?
    • 원래 비트코인이라면
      • 잔액이 부족한가? 등 몇가지 검토할게 없었는데,
    • 이더리움에서는
      • 위 뿐 아닌, 실행에 권한이 있나? 등
      • 생각해줄게 너무 많음
    • 그래서 EVM(JVM 같은)을 제공해줌
      • 이것을 실행시켜서 나온 실행결과를 블록체인에 반영!
      • 만약 에러가 발생한다면 → 실패한 콜백주며 안 받아주기
      • 검사를 하지 않고 에러의 유무에 따라 받아주고 안 받아줌

반응형