블록체인 기술은 마법같은 것입니다. 많은 기술 전문가들에게 이것은 단지 걸작일 뿐입니다. 이런 강력한 것에 대해, 블록체인의 원리가 무엇인지 아시나요? 아래에서는 블록체인의 원리가 비트코인의 중요한 개념이 무엇인지 분석해보겠습니다. 해당 통화는 칭화대학교 PBC 금융대학 인터넷 금융 연구소와 연결되어 있습니다. , 시나테크놀로지는 블록체인이 비트코인의 최하층임을 언급한 '2014~2016 글로벌 비트코인 개발 연구 보고서'를 발표했다. 기술과 인프라.
블록체인은 본질적으로 비트코인의 기반 기술이며 분산형 데이터베이스 시스템입니다. 블록체인은 암호화 기술을 사용하여 일련의 데이터 블록을 생성합니다. 각 데이터 블록에는 비트코인 네트워크의 거래에 대한 정보가 포함되어 있으며, 이는 거래의 유효성을 확인하고 다음 데이터 블록을 생성하는 데 사용됩니다.
그 원리는 무엇인가요?
블록체인에 대한 다양한 정의를 보면서 저는 이 개념에 대한 이전 해석이 항상 비트코인에 국한되어 있다는 것을 깨닫기 시작했습니다. 블록체인의 정의는 독특하고 명확하지 않습니다. 여기에서는 연구 논문을 기반으로 "블록체인"의 특성에 대한 개인적인 통찰력을 공유하고 싶습니다.
기본 데이터를 저장하기 위해 "해시 체인" 형태의 데이터 구조 사용(아래 설명)
다중 참여하는 노드 시스템 운영(분산)
기본 데이터의 일관성을 보장하기 위해 특정 프로토콜이나 알고리즘을 통해 합의(합의 프로토콜/알고리즘)에 도달합니다.
비트코인은 블록체인 기술에서 가장 대표적이고 영향력 있는 애플리케이션 중 하나입니다. 비트코인이 블록체인을 어떻게 활용하는지 이해함으로써 우리는 다른 종류의 블록체인 애플리케이션을 더 쉽게 이해할 수 있습니다.
앱에 대해 이야기하기 전에 가장 중요한 것은 앱의 기술적 특성을 이해하는 것입니다. 블록체인에 대한 모든 답변은 먼저 블록체인의 무형적 특성을 언급하므로 가장 먼저 이해해야 할 것은 그것이 어떻게 구현되는지입니다.
암호화 Hash() 함수의 필수 지식: Hash(x) = y입니다. x에 대해 y를 찾기가 어렵습니다.
해시 체인: 이제 데이터 블록 A, B, C가 순서대로 있는 경우. 그러면 다음과 같은 해시 값을 계산할 수 있습니다. "||" 접합에 유의하세요.
H0 = Hash(A)
H1 = Hash(B || h0)
H2 = Hash(C || h1) H2는 우리가 계산한 해시 헤더입니다. 이제 이것을 해시 체인이라고 부르는 이유는 h2의 값이 이전 데이터 계열의 내용과 계산 순서에 따라 달라지기 때문입니다. 지금 h2를 알고 있고 다른 사람이 A, B, C를 보유하고 있다면 A, B, C 중 하나를 수정하거나 A, B, C의 순서를 수정하더라도 올바른 h2를 다시 계산할 수 없습니다.
글쎄, 사실 블록체인의 개념은 여기서 약간 의미가 있습니다. "블록체인 단어"는 블록체인을 영어로 번역한 것 아닌가요? 문자 그대로 이해하면 체인으로 "구성된" 데이터 블록만으로도 기본 의미를 설명하기에 충분합니다. 비트코인 블록체인은 실제로 해시 체인의 변형입니다(비트코인은 작업 증명 합의 메커니즘을 구현하기 위해 아래에 설명된 임시값에 대한 규칙과 임시 요구사항을 추가했습니다). , 블록체인의 필수 기능이 아닌). 변경하는 방법은? 난수(Nonce) 추가
이제 순차적으로 생성된 데이터 블록 A, B, C가 있다고 가정합니다. 해시 헤더를 이렇게 계산해 보겠습니다. "||" 접합에 유의하세요.
H0 = Hash(A || Nonce0)
H1 = Hash(B || h0 || Nonce1)
H2 = Hash(C || h1 || Nonce2)
또한 h0, h1, h2는 모두 지정된 0 숫자로 시작해야 한다는 추가 요구 사항을 추가합니다. 예를 들어 각 해시 값은 5 0으로 시작해야 하고 h0, h1, h2는 (00000 ****와 같아야 합니다) ***************)
이 요구 사항을 추가하면 h0, h1, h2는 출력 형태에 따라 입력을 반전시킬 수 없기 때문에 계산하기가 쉽지 않습니다. A, B, C, Nonce를 지속적으로 변경하여 세부 계산을 수행한 다음 요구 사항을 충족하는 Nonce 값을 찾아 h0, h1, h2가 요구 사항을 충족할 수 있습니다.
소위 채굴자가 무엇을 하는지는 누구나 알고 있습니다. 즉, 데이터의 브로드캐스트 블록을 받아들인 다음 현재 해시 체인의 헤드를 계산하는 것입니다. 성공적인 해시가 계산되면 모든 사람에게 알림이 전송됩니다. 나는 그것을 직접 발견하고 다른 사람이 다음 해시 헤더를 계산하도록 했습니다. 사실 여기서도 블록체인의 성격은 거의 동일합니다. 네트워크의 모든 사람이 기본적으로 프로토콜을 사용하고 가장 긴 해시 체인 이후에만 새 헤더를 계산한다면 모든 것이 괜찮지만 누군가가 동일한 방식으로 수행하려면 더 많은 컴퓨팅 능력이 있어야 합니다. 정직한 사람들이 규칙을 따르면 일련의 포크를 계산할 수 있고 심지어 새로운 체인을 직접 계산할 수도 있으므로 누구나 인정할 수 있습니다.
이 어려움의 증명으로 Satoshi Nakamoto는 정직한 노드가 계산한 새로운 해시 헤더의 확률과 부정직한 노드가 계산한 새로운 해시 헤더의 확률 q를 가정하여 포아송 분포의 확률 모델을 확립했습니다. , N 값을 계산합니다.
이 N 값의 의미는 새 해시 헤더 h1을 계산한 후 N 헤더(h2, h3, h4....)를 추가한 후 네트워크가 새 헤더를 인식해야 한다는 것입니다. H1. 왜냐하면 이때 공격자가 공격을 성공적으로 시작하려면 길이가 N보다 큰 분기를 적어도 하나 이상 계산해야 하기 때문입니다. 공격자가 전체 네트워크 컴퓨팅 성능의 50%를 보유하지 않은 경우 이러한 가능성은 실현하기 어렵습니다.
여기서 블록체인은 암호화 도구를 영리하게 적용한 것이 분명합니다. 물론, 블록체인의 가능성은 제가 언급한 것뿐만이 아닙니다. 보험, 감사, 의료 등 다양한 업계의 거대 기업들이 블록체인이 가져올 수 있는 이점이 훨씬 클 것이라고 생각한다면 블록체인의 잠재력을 탐색하고 있습니다. 효과가 있으므로 시도해 볼 수 있습니다.
위 내용은 한 기사에서 블록체인 원리에 대해 자세히 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!