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