Mecodata 2023. 4. 5. 08:44

SHA256

- 블록체인에서 주로 사용되는 해쉬 알고리즘으로 어떤 값을 입력해도 16진수를 사용하여 256비트의 고정된 64자리 결과값을 출력

- 단방향 알고리즘 (암호화하면 복호화 불가능) 

- 0~9, A~F(10~15)까지 사용 => 1A = 16 + 10 = 26 (10진수 기준)

- 16진수 기준으로 아스키 코드로 A = 41, a = 61

 

블록체인 기술 구조

- 블록체인은 P2P 네트워크에서 일정 시간마다 새로운 거래내역을 담은 신규 블록이 형성되어 기존 블록에 계속 연결되는 DB 구조를 가짐 => 원천적으로 이중지불을 방지하고 이체 불가역성을 가짐

- 거래서비스 요청시 많은 자원을 소모하는 작업을 함께 수행할 것을 요구 (PoW) => 네트워크에 대한 공격 예방 및 거래 위변조 방지

- 블록체인은 거래가 발생할 떄마다 해당 거래기록의 블록이 생성되어 체인으로 연결되며 네트워크 내 모든 참여자들에게 저장

 

비잔틴 장군 문제와 PoW

- 비잔틴 장군 문제(Byzantine Generals Problem) = 비잔틴 제국에 두 명 이상의 장군들이 적군을 무찌르기 위해 동시에 공격하는 상황에서 발생하는 상황(배신)에 대한 시나리오를 분산 시스템에 대비해 제시한 문제

(50% 이상의 장군들이 공격을 해야 승리)

- 비잔틴 장군 문제에 블록체인과 PoW(작업 증명를 통한 검증)를 도입하여 해결 가능 => 배신자를 판별할 수 있고 판별에 실패해도 전쟁에서의 승리를 보장

- 해결 시나리오 참고 => https://goodjoon.tistory.com/256

 

PoW 를 통한 비잔틴 오류 허용 (비잔틴 장군 문제) 해결 과정

블록체인에 대한 개념과 사토시 나카모토에 대한 이야기를 할 때 빠지지 않는 코스로 잠깐이라도 비잔틴 장군 문제 혹은 비잔티움 장군 문제, 비잔틴 오류 허용 에 대해 이야기가 나오곤 한다.

goodjoon.tistory.com