분산 기술 원리 및 실습 45 강의--05 강의 05: 합의 문제: 블록체인은 회계 권리를 어떻게 확인합니까?

본 수업에서는 "합의 문제: 블록체인은 회계권리를 어떻게 확인하는가?"를 주로 설명합니다.

블록체인은 최근 가장 핫한 기술 분야 중 하나라고 할 수 있습니다.블록체인은 나카모토 사토시(Satoshi Nakamoto)의 비트코인(Bitcoin)에서 유래되었습니다.비트코인의 근간이 되는 기술로서 본질적으로 분산형 데이터베이스로서 중앙화, 개방성, 투명성의 탈중앙화를 특징으로 합니다. 분산 원장 기술로서 각 노드는 데이터베이스 기록에 참여할 수 있습니다.

블록체인은 효율성보다 보안과 신뢰성에 중점을 둔 기술로, 인터넷 기술이 의사소통 문제를 해결한다면 블록체인 기술은 신뢰 문제를 해결한다.

오늘 우리는 블록체인의 핵심 문제에 초점을 맞춥니다. 분산 원장으로서 각 참가자는 데이터 사본을 유지하는데, 회계 권한을 어떻게 확인하고 최종 원장은 누가 될까요?

블록체인 합의

블록체인은 분산형 분산 원장 시스템으로, 블록체인의 합의 문제는 실제로 분산 시스템의 일관성 문제에서 비롯됩니다.

이름에서 알 수 있듯이 합의는 일반적인 이해입니다. 합의 문제는 일반적으로 투표와 같이 여러 구성원이 합의에 도달하는 방법을 연구합니다.

합의 메커니즘은 블록체인에서 핵심적인 역할을 하며, 합의 메커니즘은 계정을 유지할 권리가 있는 사람을 결정하고, 계정을 유지할 권리의 선택 프로세스와 이유를 결정합니다. 다양한 가상 화폐는 서로 다른 합의 메커니즘을 채택하며, 일반적인 합의 메커니즘에는 POW, POS, DPOS 등이 포함됩니다.

앞서 CAP의 C가 일관성이라고 언급했는데, 일관성과 합의의 차이점은 무엇인가요?

일관성(Consistency)은 내용의 시간순서에 따른 일관성과 통일성에 초점을 두고 있는 반면, 합의(Consensus)는 특정 내용에 대해 많은 참여자들이 도달하는 합의를 의미하므로 일반적으로 일관성(Consistency)은 '일관성(consistency)'으로, 합의(Consensus)는 '합의(consensus)'로 번역된다.

비잔틴 장군 문제

이전 과정에서 우리는 몇 가지 고전적인 합의 알고리즘을 공유했습니다.합의 메커니즘이 분산 시스템으로 확장되면 시스템은 메인 프로세스에 의해 조정되어야 하며 시스템의 모든 결정은 일관성을 달성하기 위해 메인 프로세스에 의해 이루어집니다.

블록체인에서는 블록체인이 분산형 분산 시스템이기 때문에 분산 시스템에는 팀의 리더나 마스터 역할이 없으므로 일종의 역할이 필요하며 시스템 일관성을 보장하기 위한 합의 메커니즘이 필요합니다.

일반적으로 네트워크 통신에서는 노드 장애, 즉 채널을 신뢰할 수 없는 상황을 "비잔틴 오류"라 하고, 악의적인 응답, 즉 시스템이 공격을 받아 오류 메시지가 전송되는 것을 "비잔틴 오류"라고 합니다. "비잔틴 오류."

왜 비잔틴 오류라고 불리는가? 실제로 이는 스토리 모델에서 나온 것입니다.

비잔틴 제국은 중세의 터키 제국으로 막대한 부를 가졌고 오랫동안 주변 10개국에 둘러싸여 있었지만, 비잔틴 제국은 높은 성벽을 갖고 있었고 어떤 이웃 나라도 침공할 수 없을 정도로 난공불락이었다. 성공적으로 침입합니다. 단일 이웃의 침입은 실패하며, 다른 9개의 이웃의 침입도 가능합니다.
비잔틴 제국의 방어력은 너무 강해서 이웃 10개국 중 적어도 절반이 동시에 공격해야만 돌파할 수 있었습니다. 그러나 이웃 중 하나 또는 여러 명이 함께 공격하기로 합의했지만 실제 과정에서 배신이 발생하면 침략자들이 모두 전멸 될 수 있습니다.
그래서 각 당은 조심스럽게 행동했고 감히 이웃을 쉽게 믿지 못했는데, 이것이 바로 비잔틴 장군 문제였습니다.

( 위키피디아의 이미지 )

비잔틴 문제에서 이웃 국가들에게 가장 중요한 것은 어떻게 모든 장군들이 비잔틴 제국을 공격하기로 합의할 수 있는가이다. 비잔틴 장군 문제의 핵심 설명은 군대에 반역자가 있을 수 있지만 공격은 일관되어야 한다는 것이며, 이는 컴퓨터 분야로 확장되어 내결함성 이론으로 발전했습니다.

한 무리의 장군들이 일제히 공격하거나 일제히 후퇴하는 등 특정 목표를 달성하려면 단독으로는 불가능하며, 협력하고 합의를 이끌어내야 하며, 반역자들이 존재하기 때문에 장군들은 어떻게 해야 할지 모릅니다. 합의를 이루다.

사실, 앞서 언급한 비잔틴 장군 문제와 Paxos 알고리즘 및 논리 시계는 모두 Leslie Lamport가 제안한 것이었습니다.

Lamport는 분산 시스템의 창시자 중 한 명이라고 할 수 있으며, 분산 분야에 대한 일련의 공헌으로 Lamport는 2013년 Turing Award를 수상했습니다.

오늘 논의할 비잔틴 장군 문제와 회계권은 어떤 연관이 있나요?

회계권의 소유권에 있어서는 비잔틴 장군의 반역자를 처리하는 방법과 마찬가지로 악의적인 합의, 즉 잘못된 회계가 출현하지 않도록 하는 것이 핵심이다.

비트코인은 블록체인 기술의 가장 널리 사용되는 응용 프로그램입니다.비트코인의 회계권을 어떻게 결정합니까? 그 답은 POW 메커니즘입니다.다음으로 POW 작업량 증명 메커니즘을 분석합니다.

POW 작업 증명

PoW(Proof of Work)는 지금까지 검증된 가장 안전한 비잔틴 솔루션으로 꼽히며, 스팸 방지를 위해 처음으로 사용되었으며, 대표적인 예로 구글 메일박스(Google Mailbox)의 스팸 방지 시스템을 들 수 있습니다.

Google Mailbox에서는 Google 서버에 이메일을 보내는 모든 발신자가 먼저 일정량의 계산 작업을 완료해야 하므로 1초 정도의 지연 등 짧은 시간의 지연이 발생합니다. 일반적인 이메일 전송의 경우 이 시간은 광고성 이메일 발신자라면 많은 양의 전송 작업이 필요하고 이러한 무의미한 계산은 용납될 수 없기 때문입니다.

채굴의 유래

채굴은 비트코인 ​​시스템의 시각적 표현인데, 채굴은 어디서 오는 걸까요?

비트코인 채굴은 비트코인 ​​시스템에서 일정 시간 내에 발생하는 거래를 확인하고 이를 블록체인에 기록하여 새로운 블록을 형성하는 과정으로, 회계권을 놓고 경쟁해야 하기 때문에 컴퓨터를 사용하여 해시값을 계산하고, 무작위 충돌을 통해 문제를 해결하는 과정이 바로 마이닝입니다.

즉, 비트코인 ​​시스템은 수학적 문제를 제기하고 모두가 최적의 솔루션에 답하기 위해 달려갑니다. 채굴은 회계 프로세스이고, 채굴자는 장부 기록원이며, 블록체인은 원장입니다.

비트코인의 POW 구현

비트코인의 POW 구현은 지정된 해시 문제를 해결하기 위해 계산을 통해 값(Nonce)을 추측하는 것입니다. 다음은 비트코인의 블록 구조입니다. 블록 헤더에 Nonce 값인 난수 필드가 있음을 알 수 있습니다.

Satoshi Nakamoto는 Nonce의 값을 지속적으로 조정하여 블록 헤더의 해시를 계산하기 위해 Bitcoin 시스템에 질문을 설정했으며, 계산된 Hash 값이 특정 고정 값을 충족하도록 Nonce 값을 찾아야 합니다.

특정 해시 방법은 일반적으로 SHA256 알고리즘을 사용합니다. 이 작은 도구를 확인하여 https://tool.oschina.net/encrypt?type=2 를 테스트할 수 있습니다 .

계산 과정을 단순화하여 100번째 블록에 주어진 블록 값이 다음 문자열이라고 가정하면, 이 문자열을 먼저 계산하는 노드는 비트코인을 얻을 수 있습니다.

f7684590e9c732fb3cf4bf0b8e0f5ea9511e8bbaacb589892634ae7938e5700cHash
알고리즘은 비가역적 알고리즘이므로 특정 Hash 값에서 원본 텍스트를 추론할 수 없습니다. 이와 같이 각 노드는 a, b, c로 시작하는 다양한 문자열을 선택하는 포괄적인 방법만 사용할 수 있습니다. , 1, 2, 3,..., 계속 시도해 보세요.

비트코인 시스템 자체가 문제를 해결하기 위해 난이도를 조정하고 시간을 제어합니다. 일반적으로 약 10분마다 블록을 발굴합니다. 이 10분 동안 컴퓨터는 계속해서 계산하고 다양한 문자열을 시도할 수 있습니다.

이 과정은 실제로 각 노드의 서버 성능, 즉 컴퓨팅 파워를 테스트한다. 매우 강력한 컴퓨팅 파워를 가지고 있고 수만 대의 서버를 보유하고 있다면 정답인 Nonce 값인 lagou를 빠르게 얻을 수 있으며, 해당 Hash 값은 질문 요구 사항과 일치합니다.

다음으로 Nonce 값을 구조에 넣고 P2P 네트워크를 통해 브로드캐스팅할 수 있으며, 다른 시스템 노드가 이를 수신한 후 Nonce 값이 합법적이고 요구 사항을 충족할 수 있음을 확인하면 채굴이 성공한 것으로 간주됩니다.

문제 해결의 결과로 귀하는 시스템에 해당하는 비트코인 ​​보상과 이 블록의 모든 거래에서 발생하는 처리 수수료를 받게 됩니다. 다른 노드가 누군가 이미 계산한 것을 발견하면 계산을 포기하고 다음 블록 주제를 열어 다음 블록 헤더의 Nonce 값을 찾습니다.

비트코인의 블록정보는 국내 최대 블록체인 시스템이 구현되면서 동적으로 생성됐다. 아래 스크린샷은 비트코인의 최신 블록 정보를 기록하고 있습니다. 블록 정보는 https://www.blockchain.com/ 에서 가져옵니다 . 링크를 클릭하면 최신 블록 높이를 볼 수도 있습니다.

블록체인 포크와 51% 공격

해시 문제는 되돌릴 수 없으며 주로 무차별 대입 계산에 의존합니다. 컴퓨팅 능력이 더 높은 사람이 문제를 먼저 해결할 확률이 더 높습니다. 전체 네트워크 컴퓨팅 파워의 절반 이상을 통제하게 되면 네트워크 내 체인의 방향을 통제할 수 있게 되는데, 이것이 소위 51% 공격의 근원이기도 하다.

앞서 말했듯이 블록체인의 모든 노드는 회계에 참여할 수 있기 때문에 시스템 내에서 체인 포크(Fork)가 발생할 수 있으며, 결국 하나의 체인이 가장 긴 체인이 될 것입니다.

그러나 모든 당사자의 막대한 이해관계가 개입된 현실 사회에서는 컴퓨팅 파워 간의 게임이 그렇게 간단하지 않은 경우가 많습니다. 비트코인을 예로 들면 BCH(비트코인 캐시)와 BTG(비트코인 골드)로 나누어져 있습니다. ) 및 기타 포크 동전.

POW 메커니즘의 장점과 단점

POW에는 많은 장점이 있습니다. POW는 분산형 합의 알고리즘을 완전히 구현한 최초의 노드이며 노드가 자유롭게 출입할 수 있어 구현이 쉽습니다. 컴퓨팅 성능에 대한 요구 사항이 높기 때문에 시스템을 파괴하는 데 드는 비용도 엄청납니다.

POW 메커니즘의 단점도 뚜렷합니다.가장 큰 것은 에너지 낭비이며, 끝없는 채굴 활동에 막대한 컴퓨팅 파워가 낭비되고 그 자체로는 아무런 가치도 생성되지 않습니다.

많은 사람들이 블록체인에 대해 비판하는 부분이기도 합니다. 많은 에너지를 낭비하고 쓸모없는 데이터 저장소만 얻게 됩니다. 다른 각도에서 생각해보면 이는 분산형 시나리오에서 신뢰를 얻는 것이 중요하다는 것을 보여줍니다. 얼마나 어려운가.

한편, 지역의 값싼 전력자원을 활용해 남서부 산간지대에 디지털화폐광산을 대거 건설하거나, 발전소를 이용해 직접 건설하는 경우도 볼 수 있다.

기타 합의 방법

POW 메커니즘 외에도 일반적으로 POS 및 DPOS와 같은 다른 합의 방법이 있습니다.

POS 지분 증명

POS(지분증명)는 실생활의 주주총회 메커니즘과 유사하며, 주식을 많이 보유할수록 의결권도 많아지고, 회계권도 획득하기 쉬워집니다.

POS는 예치금을 이용해 합법적인 블록이 새로운 블록이 되도록 배팅하고, 수입은 모기지 자본에 대한 이자 및 거래 서비스 수수료입니다. 예금증명을 많이 제공할수록 장부권을 획득할 확률이 높아지고, 합법적인 장부가 이익을 얻을 수 있습니다. 유명한 디지털 통화인 ETH(이더리움)는 합의 알고리즘에서 POS 메커니즘을 사용합니다.

DPOS 위임 지분 증명

DPOS(Delegated Proof of Stake, Delegated Proof of Stake) 메커니즘을 채택한 대표적인 대표자는 EOS인데, POS가 누가 가장 많은 주식을 보유했는지 비교하는 주주총회와 유사하다면 DPOS는 회사의 이사회 제도와 유사하다. DPOS 합의 시스템 하에서는 일정 수의 대표자가 블록 생산을 담당하도록 선택됩니다.

요약하다

블록체인은 분산 시스템의 가장 널리 적용되는 응용 중 하나라고 할 수 있습니다.오늘은 블록체인 합의 문제의 근원, 비잔틴 장군 문제, 전형적인 POW 해결 메커니즘을 소개합니다.

블록체인은 매우 광범위한 주제입니다. 비잔틴 장군 문제를 예로 들면, 블록체인 이전에는 구두 합의와 서면 합의라는 두 가지 해결책이 있었습니다. 칼럼의 내용은 주로 분산 시스템에 관한 것이며, 다음 장에서는 블록체인 관련 주제에 대한 논의를 계속하지 않을 것입니다.블록체인 기술 및 응용 프로그램에 대해 더 알고 싶다면 아래에 몇 가지 관련 정보를 첨부합니다.

추천

출처blog.csdn.net/g_z_q_/article/details/129151620