블록은 블록체인의 데이터 단위로, 트랜잭션 목록과 생성 시간을 표시하는 타임스탬프를 포함한 기타 정보를 포함합니다. 이러한 트랜잭션은 암호화되어 있으며 블록이 블록체인에 추가되기 전에 일반적으로 채굴자로 알려진 네트워크 참가자에 의해 검증되어야 합니다. 블록이 블록체인에 추가되면 암호화 보안 조치로 인해 사실상 변경할 수 없는 영구 기록이 됩니다. 후속 트랜잭션은 새 블록에 기록되어 주기가 다시 시작됩니다.[4][9]
모든 암호화폐에는 매일 엄청난 수의 트랜잭션이 발생합니다. 이러한 트랜잭션은 "블록"이라는 단위로 기록됩니다. 블록에는 최신 데이터가 포함되어 있으며 블록이 완료될 때마다 블록체인에 새 블록을 위한 공간이 확보됩니다. 완료된 블록은 이전 트랜잭션의 영구 기록이며 새 트랜잭션은 현재 블록에 기록됩니다. 결과적으로 전체 시스템은 모든 데이터를 영구적으로 저장하는 루프에 들어갑니다.
드문 경우를 제외하고 블록의 정확한 수와 기록에 대해 네트워크 참가자 간에 합의가 있습니다. 참가자들은 라이브 트랜잭션 요청을 다음 블록으로 그룹화하기 위해 공동으로 작업합니다. 이 협업적 접근 방식은 각 블록이 헤더에 이전 블록의 해시를 전달하여 블록을 함께 "체인"하는 메커니즘을 통해 촉진됩니다. 이 방법은 블록 순서를 보존하고 블록에 포함된 데이터의 불변성을 보장합니다.[2]
블록은 채굴자 또는 블록 검증자가 블록 헤더의 암호화된 정보를 성공적으로 검증할 때 생성되며, 이는 새 블록의 생성을 촉진합니다[5]. 블록은 다음 두 가지 주요 부분으로 구성됩니다. 헤더와 본문.
블록의 헤더에는 블록과 채굴자에 대한 정보가 포함되어 있습니다. 다음과 같이 더 세분화됩니다.
이것은 이전 블록의 해시입니다. 블록을 함께 연결하고 이전 블록의 데이터를 변경 불가능하게 만듭니다. 이전 블록의 데이터가 변경되면 해당 블록의 해시가 변경되어 블록체인의 연결이 끊어집니다.
이러한 필드는 다양한 블록체인의 다양한 요구 사항에 따라 다를 수 있습니다. 일반적인 필드는 다음과 같습니다.
블록 본문의 대부분은 특정 기간에 발생한 개별 트랜잭션 목록으로 구성됩니다.[3] 각 트랜잭션은 가치 이전(예: 암호화폐 이전, 스마트 계약 작업)을 기록하고 다음을 포함한 다양한 세부 정보를 포함합니다.
제네시스 블록은 블록체인의 첫 번째 블록입니다. 첫 번째 제네시스 블록은 사토시 나카모토가 비트코인을 만들면서 채굴했으며 2009년에 아이디어를 공개했습니다.
이 기본 블록을 통해 새로 형성된 블록을 이전 상태에 연결할 수 있습니다. 블록체인은 이 연결을 통해 불변성을 보장할 수 있습니다. 이는 머클 트리의 사용 때문입니다. 이를 통해 블록 기록을 해당 블록과 관련된 고유한 해시와 연결할 수 있습니다. 아무리 작은 변경이라도 머클 루트의 확인을 방해하여 시나리오에 따라 블록체인 기록의 일부 또는 전부를 무효화합니다. 제네시스 블록은 항상 기초 블록이므로 '블록 0'이라고도 합니다.
제네시스 블록을 통해 네트워크 노드를 동기화할 수 있습니다. 동기화는 두 노드의 데이터베이스가 동일한 제네시스 블록을 가질 때만 가능합니다. 이는 블록체인의 분산 트랜잭션 원장(DLT)이 모든 사람에게 동일하여 보안을 보장함을 보장합니다.
유효한 블록은 채굴되어 블록체인에 추가된 모든 블록입니다. 유효한 블록을 얻으려면 채굴된 각 블록은 네트워크 권한을 얻고 주어진 암호화 퍼즐을 해결한 블록으로 보고해야 합니다. 네트워크가 합의에 도달하면 블록이 블록체인에 추가되어 모든 노드에 배포됩니다. 결과적으로 네트워크의 모든 노드에는 새 블록이 있고 이를 위한 검증 지점 역할을 합니다. 모든 암호화폐에서 발생하는 모든 작업과 트랜잭션은 이러한 블록에서 허용됩니다.
각 유효한 블록에는 블록과 함께 검증된 트랜잭션 시퀀스가 포함되어 있습니다. 예를 들어 비트코인에서 각 합법적인 블록에는 평균 2100개의 트랜잭션이 포함되어 있습니다. 결과적으로 유효한 블록의 각 트랜잭션은 확인된 트랜잭션이 됩니다. 그 후 블록체인에 추가된 모든 유효한 블록은 이전 트랜잭션을 계속 확인합니다. 이를 통해 네트워크의 모든 트랜잭션과 블록이 완전히 안전하게 유지됩니다.
각 유효한 블록에는 이 사실을 확인할 수 있는 데이터 구조가 함께 제공됩니다. 블록의 해시, 머클 루트, 타임스탬프, 눈치오, 블록 트랜잭션 데이터 및 코인베이스가 모두 구조에 포함되어 있습니다. 이 모든 것이 설정되어 각 정보를 공개적으로 확인할 수 있습니다.
고아 블록은 블록체인 네트워크의 일부가 아닌 블록입니다. 이는 일반적으로 두 명의 채굴자가 거의 동시에 블록을 혼합하여 생성되지만 트랜잭션을 되돌리려는 의도로 충분한 계산 능력을 가진 공격자로 인해 발생할 수도 있습니다. 생성된 이러한 별도의 블록은 임시 포크를 만듭니다. 네트워크 합의 절차는 이 시점에서 어떤 블록이 검증되고 어떤 블록이 고아가 될지 결정하기 위해 호출됩니다. 일반적으로 가장 많은 양의 트랜잭션과 정보를 포함하는 가장 긴 블록체인이 일반적으로 결정되어 보안 프로세스가 매우 간단해집니다.
스캔 시 블록체인 네트워크는 원본 블록과 복제 블록 중 어떤 블록에 더 많은 정보가 있는지 감지하고 원본 블록을 선택하여 해커의 게임을 망칩니다. 따라서 선택되지 않은 블록은 고아 블록입니다. 네트워크의 합의 메커니즘은 시스템 네트워크를 이러한 해킹으로부터 안전하게 유지합니다. 블록 탐색기는 고아 블록을 추적할 수 있습니다. [8][11]