DAG 시스템 블록 크기 및 블록 생성 시간에 대한 인기 있는 분석 중 하나
Soteria
2020-03-06 10:58
本文约2529字,阅读全文需要约10分钟
블록 크기와 블록 생성 시간은 블록체인 시스템의 용량을 직접적으로 결정하는 한 쌍의 설계 변수입니다.

안녕하세요 여러분, 오늘은 블록 크기와 블록 생성 시간 문제에 대해 말씀드리도록 하겠습니다.

스케일링이 문제의 핵심

블록 크기와 블록 생성 시간은 블록체인 시스템의 용량을 직접적으로 결정하는 한 쌍의 설계 변수입니다. 비트코인 시스템을 예로 들어 보겠습니다.

비트코인 시스템은 대략 10분마다 1MB 블록을 채굴합니다. 그리고 각 트랜잭션은 평균 250바이트를 차지합니다. 따라서 블록은 4000개의 트랜잭션을 보유할 수 있습니다. 10분 동안 4000건의 트랜잭션이 발생하므로 초당 7건의 트랜잭션이라는 시스템 용량은 잘 알려진 수치입니다. 용량을 천 배로 확장하려면 이 두 매개변수를 조정할 수 있습니까? 예를 들어 블록 크기는 100MB가 되고 블록 생성 시간은 초당 1개가 되므로 새로운 시스템 용량 수치가 있습니다. 대답은 분명히 NO입니다. 그리고 문제는 스토리지가 아니라 네트워크 전송입니다.

네트워크 전송 및 보안 기본 사항

POW의 보안 기반은 개인 컴퓨팅 파워가 전체 네트워크 컴퓨팅 파워의 50%를 초과하지 않는다는 사실에 기반합니다. 근본적인 필요 조건은 모든 노드가 네트워크의 다른 노드와 공정하게 경쟁해야 한다는 것입니다. 모두가 함께 출발해야 ​​하는 경주와 같습니다. 블록체인 시스템은 비동기식 시스템이며 POW의 보안은 시스템 상태가 거의 동기화된 경우에만 보장될 수 있습니다. 실제로 POW 채굴 보상의 중요한 원칙은 채굴자들이 채굴한 블록을 가능한 한 빨리 방송하고 네트워크에서 수신하도록 보상하는 것과 동시에 네트워크에서 전송되는 다른 블록을 능동적으로 수신하는 것입니다. 기후 처리가 불가능한 체인(가장 긴 체인 원칙)에 컴퓨팅 성능 낭비. 이 입출력(TX/RX)의 본질은 네트워크의 동기화를 보장하기 위해 시스템 프레임워크에서 채굴자의 자연스러운 동작을 사용하는 것입니다.

시험지 발행부터 채굴까지

여기에는 두 가지 변수가 있습니다. 첫 번째는 서류를 통과하는 시간이고 두 번째는 질문을 하는 시간입니다. 두루마리는 한 장의 종이일 수도 있고 두꺼운 더미일 수도 있습니다. 교사가 종이를 인쇄할 때 각 페이지에 전체 학급의 양을 인쇄하기 때문에 종이를 하나씩 전달해야 한다고 가정합니다. 따라서 시험지는 30분 만에 합격할 수도 있고, 모두 발송하지 않고 10분 만에 합격할 수도 있습니다. 마찬가지로 주제도 어렵고 쉬운데 똑똑한 아이는 계산기로 10분 안에 끝낼 수 있고, 엄격한 아이는 입으로 완전히 할 수 있으며 마치는 데 2시간이 걸릴 수도 있습니다.

여기에는 두 가지 변수가 있습니다. 첫 번째는 서류를 통과하는 시간이고 두 번째는 질문을 하는 시간입니다. 두루마리는 한 장의 종이일 수도 있고 두꺼운 더미일 수도 있습니다. 교사가 종이를 인쇄할 때 각 페이지에 전체 학급의 양을 인쇄하기 때문에 종이를 하나씩 전달해야 한다고 가정합니다. 따라서 시험지는 30분 만에 합격할 수도 있고, 모두 발송하지 않고 10분 만에 합격할 수도 있습니다. 마찬가지로 주제도 어렵고 쉬운데 똑똑한 아이는 계산기로 10분 안에 끝낼 수 있고, 엄격한 아이는 입으로 완전히 할 수 있으며 마치는 데 2시간이 걸릴 수도 있습니다.

이제 내가 시험지가 발행될 것이라고 말한 이유를 이해하셨을 것입니다. 시험지는 블록 크기에 해당하고 문제의 난이도는 블록 생성 시간에 해당합니다. 작은 차이점은 블록 시스템에서는 모든 사람에게 "지금부터 시간 계산을 시작하십시오"라고 말하는 교사가 없으며 대신 아동용 신발이 시험지를 받자마자 시작한다는 것입니다. 특히, 새로 생성된 각 블록에 대해 네트워크 전파 시간이 30분(네트워크 브로드캐스트 반경)이라는 리듬이 있습니다. 각 광부는 새 블록을 수신하고 그것이 올바른지 확인한 후 채굴을 시작합니다. 새로운 블록은 새로운 시험지와 같으며 네트워크 전파는 시험지의 발행입니다. 그리고 이 종이가 모든 학생들에게 배포되는 데 최소 30분은 걸리지만 매 라운드마다 누군가는 항상 다른 사람보다 30분 먼저 종이를 받을 것입니다. 하지만 광부들은 상관없다고 생각합니다. 우선 문제가 상당히 어렵습니다. 시험 시간은 10분이고, 시험지를 30분 늦게 받아도 큰 영향이 없습니다. 둘째, 교실에서 하는 시험과 달리 , 모든 사람의 자리는 무작위이며 종종 교환에서 시험지를 먼저 받는 사람이 매번 다르기 때문에 문제가 없습니다. 일부 불운한 채굴자들은 TA가 새 블록을 발굴하는 30분 동안 네트워크 반대편에서 새 블록을 생성했으며 새 블록은 아직 그에게 전파되지 않았습니다. 그래서 그의 새로운 블록은 무자비하게 떨어졌습니다. 즉, 고아 블록이 되었습니다. TA의 작업은 무자비하게 낭비되었습니다. 그러나 이를 피할 방법은 없습니다. 디자인은 승자독식이지만 TA는 실제로 객관적으로 전체 네트워크의 보안에 기여했습니다(500단어의 게임 이론 분석은 여기에서 생략됨).

확장

확장하고 싶다면 블록 크기를 늘리거나 블록 생성 시간을 줄이거 나 둘 다 변경하는 것입니다. 블록 생성 속도를 10분에서 30분으로 변경해 봅시다. 이것은 엉망입니다. 시험지가 배포되기 전에 일부 어린이 신발이 완성되고 다음 시험지 세트를 받기 시작합니다. 그 결과 교실의 혼란스러운 상황은 한동안 걷잡을 수 없었다. 시험지의 절반은 바닥에 흩어져 있었고 모두가 새로운 시험지를 모으느라 바빴다. 이 매개변수를 조정하면 많은 수의 고아 블록과 포크가 발생합니다. 많은 양의 네트워크 컴퓨팅 성능이 낭비될 뿐만 아니라 더 중요한 것은 앞서 언급한 동기화로 인해 가져온 보안 모델도 사라집니다. 시험지가 아직 학급 전체에 배포되지 않았기 때문에 작은 아동용 신발 묶음이 만들어졌습니다. 따라서 다음 시험지를 재발행하십시오. 즉, 평균적으로 각 어린이의 신발은 질문을 완료하는 데 15초 밖에 걸리지 않으며 완료하거나 헛된 작업을 수행해야 합니다. 이것의 직접적인 결과는 컴퓨팅 파워의 절반만이 유용한 작업을 하고 있고 나머지 절반은 잘못된 시험지를 작성하고 있다는 것입니다. 네트워크 공격자의 관점에서 보면 아래 그림과 같이 실제로 TA는 컴퓨팅 파워의 절반만 가지고 싸우고 있습니다. 즉, 자신의 컴퓨팅 파워가 전체 네트워크의 33%를 차지하는 한 TA가 이길 수 있습니다. , 우리가 아닌 보통 말하는 것의 50%

그런 다음 블록 크기를 이전 크기의 20배로 늘리도록 합시다. 즉, 역시 10분이 됩니다. 마찬가지로 종이 한 묶음의 페이지 수가 늘어나면 종이를 발행하는 시간, 즉 전송하는 시간은 길어지지만 종이를 만드는 시간은 그대로, 즉 속도가 빨라진다. 블록 생산은 동일하게 유지되고 최종 교실은 여전히 ​​똑같은 혼란입니다. 여전히 많은 고아 블록과 포크가 있으며 유사한 컴퓨팅 성능 낭비가 있습니다. 따라서 전송 속도가 블록 생성 속도에 필적하는 한 초기에 시스템이 설계한 많은 기능, 특히 보안을 보장할 수 없음을 알 수 있습니다. 두 매개변수가 비교할 수 없을 때 괜찮습니까? 예를 들어, 블록 크기를 4배로 늘리는 것은 여전히 ​​20배와는 거리가 먼데, 가능할까요? 물론 아주 좋지는 않습니다. 블록의 크기가 바뀌었기 때문에 두 세트의 프로토콜로 작업하고 있다는 뜻이고, 내가 바뀌는 순간이 오기 전에 배포 등 여러 가지 소프트웨어 엔지니어링과 커뮤니티 문제를 생각하고 다루어야 할 부분이 많다. 호환성. 이것은 매우 험난한 길입니다. "StoteriaDAG 및 포크의 인기 분석"에서 신중한 과학 대중화를 할 수있는 기회를 찾으십시오. 어쨌든 이제 모든 사람은 용량 확장 문제가 실제로 상호 제약과 이 두 매개 변수의 상호 작용 간의 절충의 결과임을 이해해야 합니다. 이 문제는 DAG와 관련하여 훨씬 더 흥미롭습니다.

관용의 아름다움

BlockDAG를 할 때 중요한 목표 중 하나는 실제로 확장입니다. 이전 논의에서 용량 확장이 한 쌍의 상호 배타적인 매개변수에 의해 제한된다는 것이 분명합니다. 블록체인 시스템에서 그들이 그렇게 복잡한 이유는 결국 네트워크 동기화와 승자독식의 두 가지 원칙에 기인합니다. 뒷줄에 있는 아이들의 신발이 시험지를 받으면 앞줄에 있는 아이들의 신발이 완성되고 다음 시험지가 준비되더라도 그들은 여전히 ​​끝내기를 고집하고 원하는 점수를 얻습니다. 더 이상 라마에 대한 고아와 점수가 없습니다. 포크, 이것이 얼마나 멋진 일이겠습니까. BlockDAG는 이 문제를 해결합니다.채굴자는 병렬로 채굴할 수 있습니다.다른 사람이 새 블록을 채굴한 후 새 블록이 쓸모없게 될까봐 걱정할 필요가 없습니다.블록이 브로드캐스트됩니다. 다음 기사에서는 DAG 전제 하에서 이 두 매개변수가 어떻게 상호 작용하는지 자세히 설명합니다.

Soteria
作者文库