
Xin chào các bạn, lần trước chúng ta đã chia sẻ về mối quan hệ giữa kích thước khối và thời gian tạo khối và mở rộng, chúng ta đã giải thích cụ thể cách hai biến này tương tác và hạn chế trong hệ thống blockchain. Hôm nay chúng ta sẽ thảo luận chi tiết về mối quan hệ giữa hai biến này trong hệ thống DAG và cách chúng ta giải quyết vấn đề này trong thiết kế của Soteria DAG.
quan hệ cha-con đồng thời
Như chúng tôi đã đề cập trong bài viết trước, dưới nền tảng của sơ đồ khối BlockDAG, do không có giới hạn người thắng được tất cả, nên những người khai thác có thể khai thác song song và phát các khối đã khai thác một cách kịp thời. Việc truyền mạng gây ra sự chậm trễ, do đó, chương trình phát sóng của những người khai thác khác mà chúng tôi có thể nghe thấy ở bất kỳ phần nào của mạng cũng có thể khác. Nhưng không thành vấn đề, đối với các khối chúng tôi nhận được, chúng tôi cố gắng hết sức để đưa chúng vào biểu đồ khối của mình. Và khối mới tiếp theo mà chúng tôi muốn đào phải tham chiếu đến mọi khối không được tham chiếu (nghĩa là nút lá) trong biểu đồ khối của chúng tôi. Burning Goose, bạn sẽ thấy rằng chúng tôi có thể nhận được một số khối như hình bên dưới, các tham chiếu của chúng là khác nhau và chúng đều là các khối hợp pháp được đào bởi các nút trung thực. Những gì đang xảy ra ở đây? Điều này là do kích thước khối, thời gian chuyển và thời gian tạo khối mà chúng tôi đã đề cập trước đó.
Giả sử rằng trạng thái trên là trạng thái được quan sát bởi nút B trong hình bên dưới. Sau đó, lý do tại sao liên kết gốc của mỗi khối nhận được lại khác nhau là do thông tin cần thời gian khác nhau để truyền trên mạng: Giả sử mạng được chia thành ba khu vực truyền do liên kết địa lý hoặc logic và vùng màu xanh lá cây được kẹp giữa màu đỏ. Giữa vùng màu xanh lam và vùng màu xanh lam, có một độ trễ nhất định trong việc truyền thông tin từ vùng màu xanh lá cây sang vùng màu đỏ hoặc màu xanh lam và thông tin được truyền giữa vùng màu xanh lam và màu đỏ phải đi qua vùng màu xanh lá cây , do đó độ trễ lớn hơn. Để đơn giản, chúng tôi coi độ trễ giữa các vùng này gấp đôi độ trễ giữa các vùng. Nút A, Nút B và Nút C đã tạo khối a, khối b và khối c tương ứng (liên kết chính của các khối này tạm thời không được thảo luận) và chúng ngay lập tức phát khối tới mọi hướng của mạng. Nút D trong khu vực màu đỏ và các nút E và F trong khu vực màu xanh sẽ nhận được các khối này vào các thời điểm khác nhau. Do vị trí mạng, băng thông và độ trễ của nút ABC so với nút D và nút E/F là khác nhau trên mạng nên thời gian để chúng nhận được khối abc hoàn chỉnh cũng khác nhau. Như vậy tại một thời điểm nhất định, nút D chỉ nhận được khối a và khối b trong khi khối c vẫn đang được triển khai; nút E/F chỉ nhận được khối b và khối c, còn khối a vẫn đang được triển khai. Nút B là nút gần nhất với nút tạo khối, ngoại trừ khối b do chính nó tạo ra, tất cả các khối khác cũng đã được nhận.
Khi các nút D, E và F bắt đầu đào khối tiếp theo, theo nguyên tắc "bao dung", chúng sẽ khóa liên kết mẹ của khối mới trên các khối vừa nhận được, rồi phát ngay lập tức. Tức là, nút D tạo ra một khối d được liên kết với khối a và khối b, nút B tạo ra một khối b' được liên kết với các khối a, b và c, và nút E và nút F tương ứng là khối e và khối f được liên kết với các khối b và c được tạo ra. Đây chính xác là trạng thái của BlockDAG mà chúng ta đã thấy trước đó. Rõ ràng là giữa các khối a, b', e và f không thể có bất kỳ mối liên hệ nào, nghĩa là chúng cùng thế hệ, hoặc đều là anh chị em với nhau. So với chính sách "một con" trong cấu trúc chuỗi khối trước đó, trong môi trường sơ đồ khối, sẽ xảy ra tình trạng "càng nhiều con, càng nhiều phúc". Chúng tôi đã không điều chỉnh kích thước khối và tốc độ sản xuất khối, vì vậy chúng tôi đã tự động mở rộng công suất. Số lượng anh chị em phản ánh khả năng mở rộng quy mô của chúng tôi. Bây giờ hãy gọi nó là K. Để mô tả K một cách khoa học, ta đưa ra biểu thức sau: Với một nút bất kỳ, khi nó tạo ra một khối b tại thời điểm t và độ trễ đường truyền tối đa của mạng tới khối là Dmax, tức là giữa hai nút bất kỳ theo thời gian. cần thiết để hoàn thành việc truyền một khối có kích thước tiêu chuẩn; sau đó trong khoảng thời gian sau:
[t-Dmax, t+Dmax]
Các khối được tạo ra trong toàn hệ thống phải là anh chị em của khối B. Điều này rất dễ hiểu: tại thời điểm t, do truyền mạng nên tất cả các khối được tạo trong khoảng thời gian [t-Dmax,t] chưa được truyền đến nút này, vì vậy các khối này sẽ không được xem xét khi B được tạo. Nút cha được sử dụng để liên kết. Tương tự, các nút bắt đầu khai thác trong khoảng thời gian [t, t+Dmax] chưa nghe thấy khối B do độ trễ đường truyền nên các khối do các nút đó tạo ra không thể coi B là nút cha. Sau đó, nếu tốc độ tạo khối của hệ thống là r, thì tính trung bình, giới hạn trên của số khối được tạo trong khoảng thời gian này là:
(t+Dmax) - (t-Dmax)
——————————
r
đó là
2Dmax
———
r
Do đó, việc mở rộng dung lượng vẫn bị hạn chế bởi độ trễ truyền mạng và tốc độ tạo khối, nhưng lần này, không có hạn chế nào trước đây. Có thực sự không có hạn chế như vậy? Dĩ nhiên là không. Trước hết, mô tả ở trên là một kết quả rất gần đúng, để có kết quả nghiêm ngặt hơn, bạn có thể tham khảo Chương 4 của bài báo của Phamtom, quan trọng hơn, ngay cả những kết quả nghiêm ngặt cũng sẽ có nhiều hạn chế hơn trong môi trường thực hiện kỹ thuật. thời gian xử lý khối nhận được, thời gian liên kết biểu đồ khối và thời gian xác minh khối. Những thời điểm này ảnh hưởng trực tiếp đến đặc tính liên kết của biểu đồ khối trong hoạt động thực tế. Do đó, các tham số mở rộng đồng thời thực sự có thể được vận hành có thể nhỏ hơn một bậc so với giá trị lý thuyết. Từ quan điểm kỹ thuật, chúng tôi đã áp dụng phương pháp đảo ngược K theo kịch bản ứng dụng: trước tiên xác định phạm vi thông lượng cần thiết, sau đó xác định Dmax theo phạm vi hiệu suất truyền mạng của môi trường vận hành hệ thống, sau đó xem xét nó dựa trên Dmax Thêm một số độ trễ phần mềm và cuối cùng chạy các tham số trên nhiều lần trong hệ thống mô phỏng để có được hệ số tối ưu hóa.

