지난 모듈에서는 트랜잭션 및 블록 검증을 위한 공개키 암호 및 해시 사용에 대해 공부했습니다. 이 모듈을 마친 후에는 블록체인에 대한 신뢰 요소, 보안, 검증, 컨센서스를 정의하고, 새로운 블록을 추가하고 체인을 보호하기 위한 알고리즘 접근 방식인 컨센서스 프로토콜에 대해 논의하며, 메인 체인의 신뢰와 견고성을 설명하고, 하드 포크 같은 예외적인 상황을 관리하는 데 대한 신뢰를 설명할 수 있습니다. 공항 시스템과 같은 중앙 집중식 시스템에서 일상적인 공통 시나리오를 사용하여 신뢰를 이해합니다. 버팔로 공항에서 날아가고 싶은 거잖아요 공항 당국은 사람들이 도착하고 출발할 수 있는 안전한 환경을 미리 마련했을 것입니다. 기본 트러스트를 설정합니다. 그러면 일단 입장하시고 여권과 여행서류 확인하시고 수하물 검사를 받으시면 추가 신뢰가 있습니다. 항공사 직원이 탑승구에서 탑승권을 확인하고 비행기를 타기 위해 항공기에 탑승할 때 당신에 대한 더 많은 신뢰가 형성됩니다. 이제, 분산형 시스템을 생각해보겠습니다. 당신의 자격 증명을 확인하고 당신이 신뢰할 수 있다고 인증하는 사람은 아무도 없습니다. 그럼, 어떻게 해요? 마지막 모듈에서 설명한 알고리즘과 기술을 사용하여 수행합니다. 이러한 것들이 블록체인의 신뢰 문제를 해결하는 데 어떻게 도움이 되는지 알아보겠습니다. 우리의 공항 시나리오와 마찬가지로 탈중앙화 블록체인에 대한 신뢰 역시 거래 실행에 필요한 자원을 확보하고 검증하고 확보하는데 있습니다. 이는 특정 프로토콜을 사용하여 체인을 보호하고, 트랜잭션 및 블록의 변조 여부를 검증하며, 트랜잭션에 대한 리소스 가용성을 확인하고, 트랜잭션을 실행하고 확인하는 방식으로 이루어집니다. Trust Trail은 트랜잭션 유효성 확인, 가스 및 리소스 확인, 트랜잭션 수집, 트랜잭션 실행으로 새로운 상태 획득, 블록 형성, 합의 작업, 입찰자에 의한 블록 확정, 모든 사람이 자신의 체인에 블록을 추가하고 트랜잭션을 확인합니다. 우리는 각각의 단계를 검토할 것입니다. 1단계와 2단계는 거래 확인 및 리소스 확인입니다. 비트코인의 경우 이더리움 거래의 경우와 마찬가지로 모듈1에서 논의한 것처럼 거래가 검증되기 전에 확인해야 할 기준이 20여 가지에 달합니다. 구문, 트랜잭션 서명, 타임스탬프, nonce, gas limit 및 보낸 사람 계정 잔액이 실행 전에 검증됩니다. 스마트 계약 실행에 사용할 수 있는 연료, 가스 지점 및 기타 자원도 검증됩니다. 트랜잭션 서명 및 해시도 검증됩니다. 세 번째 단계는 트랜잭션 실행입니다. 검증된 트랜잭션의 Merkle 트리 해시가 계산되었습니다. 이건 이더리움입니다. 블록 헤더의 트랜잭션 루트입니다. 모든 마이너는 스마트 계약을 실행하기 위해서뿐만 아니라 양도를 위해서도 트랜잭션을 실행합니다. 트랜잭션 실행에 따른 상태는 블록 헤더의 상태 루트인 상태의 Merkle 트리 해시를 계산하는 데 사용됩니다. 블록 헤더의 수신 루트도 계산됩니다. 다음 수업에서는 신뢰 추적의 다음 단계인 합의 과정에 대해 계속 이야기하겠습니다.
Consensus Protocol
보안 체인은 정합성 보장 상태의 단일 기본 체인으로, 이 체인에 추가된 모든 유효한 블록이 체인의 신뢰 수준에 추가됩니다. 광부들은 서로 경쟁하고 있고, 그들 블록을 사슬에 더하기 위해 경쟁하고 있다. 모두가 후보 블록을 체인에 추가하고 싶다면? 각 후보 블록은 경쟁적인 광부입니다. 체인에 추가할 다음 블록은 무엇입니까? 그들은 다음 블록에 동의합니까? 다음 블록을 선택할 수 있는 메서드나 프로토콜이 있습니까? 네, 있습니다.그것은 '일의 증거'라고 불린다. Proof of Work는 해싱을 사용합니다. 여기 해싱 응용이 하나 더 있습니다. 여러분은 이제 얼마나 다재다능한 해시가 되는지 알고 있나요? 이제 비트코인이나 에테륨에 사용된 Proof of Work에 대해 논의하겠습니다. 이것은 광부의 관점에서 본 것입니다. 먼저 고정 값인 블록 헤더 요소의 해시를 계산하고, 변수인 nonce를 계산합니다. 해시 값이 비트코인의 경우 2par 128보다 작거나 에테마의 경우 문제가 해결되었습니다. 해결되지 않은 경우 nonce 값을 변경한 후 프로세스를 반복합니다. 이 문제가 해결되면, 다른 광부들의 검증을 받는 과정을 방송할 것이다. 당사가 아닌 광부자 노드는 새 블록을 체인의 로컬 복사본에 추가하고 다음 블록에서 작업하도록 이동합니다. 우승자는 그 블록을 만들기 위한 보상을 받습니다. 작업 증명은 비트 코인 블록 체인과 현재 버전의 etherum에서 사용되는 합의 프로토콜입니다. 프로토콜은 동일할 수 있으며, 이 두 블록 체인의 구현은 다릅니다. Proof of Needes, Proof Elapsed Time과 같은 많은 다른 접근 방법이 제안되었습니다. 이곳은 블록체인 개발자들 사이에서 뜨거운 논쟁을 벌이고 있습니다. 여러분은 그것에 기여할 수 있습니다.
'블록체인' 카테고리의 다른 글
Why Smart Contracts? : 읽기자료 (0) | 2021.12.12 |
---|---|
Blockchain Basics: Key Takeaways 정리 (0) | 2021.12.09 |
Forks 읽기자료 (0) | 2021.12.09 |
Robustness 읽기자료 (0) | 2021.12.09 |
Consensus Protocol 읽기자료 (0) | 2021.12.09 |