기술개발/블록체인
블록체인 기초(비트코인, 이더리움)
한승욱
2022. 2. 11. 01:28
반응형
비트코인
- 블록체인의 시발점
- 분산원장
- 탈중앙화 시스템
- 작동원리 : 블록 + 체인
- 이전 블록의 정보와 다음 블록의 정보가 잘 연결되어 있음
- 그래서 중간 블록에는 주작질 못함
- 포인터, 링크드리스트 느낌
→ 이를 통해 온라인 상의 이중 지불
문제를 해결
- 잔액 보다 더 큰 거래가 발생하면 블록안에 저장 안함
- 각각의 트랜잭션들이 충돌하지 않게끔 채굴자가 보증함
- 모두가 신뢰할만한 블록에 담길 수 있음
채굴과 합의 알고리즘
- WHY?
- 블록체인 네트워크 상의 요청을 받아서
- 이가 정당한 요청인지 검사하고
- 기록을 추가하여
- 이것에 대한 보상을 받는 것!
- 블록체인 네트워크 상의 요청을 받아서
- 하지만 아무나 하면 어떻게 될까?
- 한번에 서로 다른 원장을 만들면 동시에 다른 원장이 생기는 것 → 통일성이 없어짐
- 그래서 Sync를 맞추기 위해서 채굴을 위한 조건을 빡세게 만듦
- 즉 계산을 많이 할수록 확률 Up (Proof of Work) - 비트코인
- 지분을 많이 들고 있을수록 확률 Up (Proof of Stake)
- 등등...
- 한번에 서로 다른 원장을 만들면 동시에 다른 원장이 생기는 것 → 통일성이 없어짐
- 문제점: 51% 문제
- 비트코인은 이거에 대한 문제점을 해결했음!
- 하지만 그럼에도 레이턴시 문제 생김!
Fork
- 그래서 마지막 블록은 어떻게 막음?
- 블록체인 전파의 조건 활용
- 높이가 내가 더 높으면 상대는 무조건 내꺼 복사
- 높이가 같으면 어쩔 수 없음
- 전파 속도에 비해 채굴이 너무 쉽게 되면 문제가 생길 수 있음
- 블록체인 전파의 조건 활용
→ 일차적으로는 채굴 난이도가 점점 올라가게 설계되어 있음
→ 그럼에도 만약 일부 노드와 다른 노드가 충돌할때는?
- 이때는 서로 전파를 못함!
- 결국엔 빨강이의 승리!
→ 내가 만든 체인에 위로(뒤로) 쌓이면 쌓일수록(비트코인 기준 17개 - 18개, 이더리움 5개) 신뢰성을 보장!
정답을 맞추는 것 보다, 정답을 전파시키는 것이 빠름
그래서 즉 위의 상황에서 결국 빨강이가 다 먹었다고 하면, 파란색은 보상에 대해 인정 못 받게 됨
→ 그래서 거래소같은데서 현금화도 해당 신뢰성(높이)를 파악하고 시켜줄 것!
이더리움
- 2세대 블록체인
- 그렇다면 달라진 점은?
- 스마트 컨트랙트
- 계약서 계정을 추가!
- 채굴자 입장에서는 이를 어떻게 처리하느냐?
- 원래 비트코인이라면
- 잔액이 부족한가? 등 몇가지 검토할게 없었는데,
- 이더리움에서는
- 위 뿐 아닌, 실행에 권한이 있나? 등
- 생각해줄게 너무 많음
- 그래서 EVM(JVM 같은)을 제공해줌
- 이것을 실행시켜서 나온 실행결과를 블록체인에 반영!
- 만약 에러가 발생한다면 → 실패한 콜백주며 안 받아주기
- 검사를 하지 않고 에러의 유무에 따라 받아주고 안 받아줌
- 원래 비트코인이라면
반응형