오피스타 공식 웹사이트는 무엇입니까?

  학습 비디오: 베이징대학교 쇼젠 선생님’ 블록체인 기술 및 응용’

  노트 참고: 베이징대학교 쇼젠 선생님’ 블록체인 기술 및 응용’ 공개 수업 시리즈 노트-카탈로그 내비게이션 페이지

  에테르에는 상태 트리, 영수증 트리, 거래 트리 등 세 그루의 나무가 있습니다세계 랭킹 1 위오피스타공식 홈페이지 장소. 이 세 그루의 나무를 이해하면 에테르의 기본 데이터 구조 설계를 알 수 있다.

  구현할 기능: 주소 대 상태 매핑

  ETH 의 계정 주소는 160 비트이며 일반적으로 40 개의 16 진수로 표시됩니다

  상태는 잔액, 거래 수, 계약 계정, 코드 및 저장 등 외부 계정과 계약 계정의 상태입니다.

  시각적으로 주소 대 상태 매핑은 해시 테이블로 저장하는 것이 더 간단합니다. 해시 테이블로 저장하는 것이 왜 필요하지 않습니까?

  해시 테이블을 사용하여 Merkle Proof 를 제공하는 방법은 무엇입니까? 해시 테이블 내용을 비트코인처럼 Merkle Proof 를 제공하는 Merkle tree 로 구성합니다. 하지만 새 블록이 게시되면 해시 테이블 내용이 변경되므로 다시 새로운 청크가 생성될 때마다 Merkle Tree 로 구성해야 합니다 (ETH 의 새 청크 생성 시간은 약 10s)

  Bitcoin 시스템에는 계정 개념이 없고, 거래는 블록으로 관리되며, 블록에는 최대 4000 개의 거래가 포함되어 있으며, 한 번에 한 블록씩 새로운 Merkle tree 에 해당하며, 일단 발표되면 변경되지 않으므로 Merkle Tree 는 무한히 커지지 않습니다. ETH 에서 Merkle tree 는 계정 정보를 구성하는 데 사용되며, 모든 Etherbank 계정을 하나의 Merkle tree 로 만드는 것입니다. 이 숫자는 BTC 의 Merkle Tree 보다 몇 배나 더 많을 것입니다.

  실제로, 변화의 일부분은 극히 일부에 불과하며, 우리는 매번 Merkle Tree 를 재구성할 때마다 비용이 많이 든다.

  해시 테이블을 사용하지 않고 직접 Merkle tree 를 사용하여 변경할 때 Merkle tree 에서 직접 변경할 수 있습니까?

  Merkle tree 는 효율적인 찾기 및 업데이트 방법을 제공하지 않습니다. 모든 노드의 일관성과 검색 속도를 보장하려면 순서를 지정해야 합니다. 에테르가 정렬하지 않으면 각 노드마다 유지 관리되는 계정 순서가 다르면 계산된 Merkle tree 의 루트 해시도 다릅니다. 비트코인 시스템에서는 순서가 지정되지 않았지만 거래 순서는 게시 블록의 노드에 의해 결정되며 순서는 고유합니다. 에테르가 실현하려면 모든 계좌의 상태도 블록에 게시해야 하는데, 규모급이 큰 것은 불가능하다.

  정렬된 Merkle tree 를 사용하면 어떤 문제가 생길까요?

  계좌를 넣으면 비용이 많이 든다

  요약하면, 위의 두 가지 간단한 데이터 구조는 실현 가능하지 않습니다. 실제 종이 항공기 공식 홈페이지는 어느 시점에서 에테르가 채택한 데이터 구조는 MPT 입니다.

  Trie: 사전 트리, 가장자리는 문자를 나타내고, 루트 매듭에서 트리의 한 노드까지의 경로는 문자열을 나타냅니다

  그림 설명을 여기에 삽입하십시오

  특징:

  노드당 분기 수는 키 값에 있는 각 요소의 값 범위에 따라 달라집니다

  범례의 분기 수는 27 (최대 26 자의 소문자 영문자+1 개의 끝 플래그 비트) 입니다. 에테르의 주소는 40 개의 16 진수이므로 분기 수가 17(16 개의 16 진수+1 개의 끝 표시자) 인 조회 효율성은 키 값의 길이에 따라 달라집니다. 에테르의 모든 키 값은 길이가 같고 모두 40 자리 16 진수입니다

  Ps: 비트코인과 에테르의 주소는 일반적이지 않습니다세계 랭킹 1 위오피스타입구의 방법은 무엇입니까?. 형식 길이가 다릅니다. 이더넷방의 주소는 공개키 해시입니다. 앞에서 한 단락 (160bit) 을 가로채서 얻은 해시 테이블 저장은 이론적으로 해시 충돌이 발생할 수 있습니다. trie 는 충돌이 발생하지 않는 지정된 입력 세트의 trie 가 동일합니다. 순서와 상관없이 업데이트되는 지역성이 좋습니다. 요소만 변경하면 됩니다.

  단점:

  스토리지 낭비, 많은 중간 노드에 하위 노드가 하나만 있어 통합할 수 있다면 스토리지 오버헤드를 줄이고 검색 효율성을 높일 수 있습니다. 그래서 이 문제를 해결하기 위해 우리는 Patricia tree/Patricia trie 를 도입했습니다.

  경로 압축을 거친 접두사 트리

  그림 설명을 여기에 삽입하십시오

  단어를 새로 삽입하면 원래 압축된 패스를 확장해야 할 수 있습니다.

  경로 압축은 어떤 경우에 더 효과적입니까? 키 값 분포가 비교적 희소합니다

  Trie:

  그림 설명을 여기에 삽입하십시오

  Patricia tree:

  그림 설명을 여기에 삽입하십시오

  에테르의 주소는 160bit 로 총 2160 종으로 매우 희소하여 충돌을 피할 수 있습니다. 이것이 중앙화 시스템을 제거하여 충돌을 방지하는 유일한 방법입니다.

  Merkle tree 와 binary tree 의 차이점: 일반 포인터를 해시 포인터로 변환

  Merkle Patricia tree: 모든 계정을 Patricia tree 로 구성하고 경로 압축을 통해 효율성을 높인 다음 일반 포인터를 해시 포인터로 바꾸면 루트 해시 값을 계산할 수 있습니다. (비트코인의 block header 에는 블록에 포함된 거래로 구성된 Merkle tree 의 루트 해시 값인 하나의 루트 해시 값만 있습니다. (에테르방 중 세 개)

  이 루트 해시 값의 역할:

  변조 방지 Merkle proof, 계정 잔액 증명 계정이 존재하지 않습니다. 존재할 경우 어느 분기에 있어야 하는지, 이 분기를 Merkle proof 로 보내면 존재하지 않음을 증명할 수 있습니다

  그림 설명을 여기에 삽입하십시오

  새 청크가 게시될 때마다 상태 트리의 일부 노드 상태가 변경됩니다. * * 그러나 변경은 제자리에서 수정되는 것이 아니라 일부 분기를 새로 만들어 원래 상태를 유지합니다. * * 다음 그림에서는 새로 변경된 노드만 수정해야 하고 수정되지 않은 다른 노드는 이전 블록의 해당 노드를 직접 가리킵니다.

  계약 계정의 저장도 MPT 형식으로 저장되고, MPT 한 그루로, 에테르의 구조는 큰 MPT 에 작은 MPT 가 많이 들어 있고, 각 계약 계정의 저장은 작은 MPT 입니다.

  그림 설명을 여기에 삽입하십시오

  따라서 시스템의 전체 노드는 MPT 한 그루를 유지하는 것이 아니라 새 블록이 게시될 때마다 새 MPT 를 만들어야 합니다. 대부분의 노드가 공유할 뿐입니다.

  왜 역사 상태를 유지해야 합니까?

  시스템에 분기점이 생기기도 하고, 출블록 시간이 10 여 초로 떨어지기도 하는데, 일시적인 분기점은 매우 보편적이다.

  롤백을 용이하게 하기 위해 과거 상태를 유지합니다.

  아래 그림 1 에서 분기점이 생성되고 위쪽 노드가 승리하여 2 중 상태가 됩니다. 다음 노드의 상태 수정은 롤백이 필요하고, 이 노드의 상태를 취소하고, 이전 블록으로 돌아간 다음, 이전 체인을 따라 뒤로 밀어야 합니다.

  따라서 이러한 기록을 유지 관리해야 합니다.

  그림 설명을 여기에 삽입하십시오

  비트코인의 거래는 간단한 역거래를 통해 이전 상태로 되돌아갈 수 있지만, 에테르에는 스마트계약이 있어 일단 집행이 끝나면 이전 상태를 추정할 수 없기 때문에 롤백하려면 역사적 상태를 보존해야 한다.

  블록 헤드의 구조:

  그림 설명을 여기에 삽입하십시오

  블록의 구조:

  그림 설명을 여기에 삽입하십시오

  청크가 실제로 인터넷에 게시되었을 때의 정보:

  그림 설명을 여기에 삽입하십시오

  상태 트리에는 (키, 값) 이 저장됩니다

  키는 주소이고, value 는 RLP(Recursive telegram 공식 중국어 버전 다운로드 URL 은 얼마나 많은 Length Prefix) 인코딩으로 직렬화되어 저장됩니다

  RLP 특징: 단순함, 단 하나의 유형-nested array of bytes 만 지원

seo

Related Posts

오피스타 공식 홈페이지의 입구 홈페이지는 무엇입니까

Bitcoin Plus (xbc), bitcoinplus (bitcoinplus) 는 P2P 네트워크에서 실행되며, xbc 허위화 프로젝트의 회사오피스타공식 웹 사이트의 입구 방법은 어디에 있습니까?와 개발팀은 이 네트워크를 바꿀 능력이 없다. XBC 화폐는 네트워크의 모든 참가자가 변화에 동의하全球排名第一오피스타공식 홈페이지 입구 방법은 어떻게 찾나요지 않는 한,

오피스타 입구가 뭐예요

종이비행기의 공식 다운로드 주소는 무엇입니까? telegram 의 공오피스타 공식 홈페이지의 입구 홈페이지는 무엇입니까식 다운로드 주소는 무엇입니까? 종이비행기의 다운로드 방법은 무엇입니까?비트디지털화세계 랭킹 1 위오피스타어디예요폐는 블록체인 디지털화폐로서 디지털통화산업의 발전을 이끌었다. 구현은 비트코全球排名第一오피스타 공식 홈페이지 포털 사이트 주소는 어떻게 되나요