- vừa được xem lúc

Synchrony, Asynchrony và Partial Synchrony

0 0 15

Người đăng: Hiếu Võ

Theo Viblo Asia

Trong hệ thống phân tán, người ta thường phân mạng (network) thành 3 loại:

  • Synchronous network (mạng đồng bộ): Thời gian delay tối đa của một gói tin trong mạng phải là một giá trị Δ hữu hạn (xác định cụ thể).
  • Asynchronous network (mạng bất đồng bộ): Thời gian delay tối đa của một gói tin là hữu hạn nhưng không được xác định cụ thể. Gói tin phải được chuyển đến người nhận.
  • Partial synchrony (mạng bán đồng bộ): Mang tính chất trung gian giữa mạng đồng bộ và bất đồng bộ. Giả sử tồn tại một giá trị hữu hạn Δ và một sự kiện gọi là GST (Global Stabilization Time) sao cho:
    • Sau một thời gian delay nhất định (hữu hạn) thì sự kiện GST phải xảy ra.
    • Bất kỳ gói tin nào được gửi tại thời điểm x phải được chuyển đến người nhận trước thời điểm Δ+max(x,GST).

Như vậy, trong mạng bán đồng bộ (partial synchrony), hệ thống sẽ hoạt động như mạng bất đồng bộ (asynchrony) trước sự kiện GST và hoạt động như mạng đồng bộ sau sự kiện GST. Sự kiện GST có thể được delay trong một khoảng thời gian hữu hạn bất kỳ nên không có cách nào để phát hiện được sự kiện GST đã xảy ra chưa. Mặc dù mạng đồng bộ có vẻ đơn giản nhưng lại gặp một số vấn đề sau: Nếu giá trị Δ lớn (vd: 10 phút) thì hệ thống sẽ phải đợi timeout rất lâu trong khi các gói tin đã gửi đến đích. Nếu giá trị Δ nhỏ (vd 0.1 giây) thì lại không an toàn cho hệ thống vì có thể còn nhiều gói tin chưa đến đích. Ngay cả khi chọn được giá trị Δ rất tốt thì vẫn có nguy cơ mất an toàn trong thực tế. Vì vậy, mạng bất đồng bộ là một giải pháp có vẻ tốt hơn vì nó không phụ thuộc vào giá trị Δ để xác định biên cho độ trễ. Tuy nhiên, "FLP impossibility" nói rằng không có giao thức đồng thuận nào có thể chống lỗi Byzantine trong mạng bất đồng bộ ngay cả khi chỉ có một node bị lỗi. Khái niệm mạng bán đồng bộ được đề xuất vào năm 1988 bởi Dwork, Lynch, and Stockmeyer. Dựa trên khái niệm này, nhiều giao thức đồng thuận BFT ra đời như PBFT, Zyzzyva, .... PBFT đảm bảo tính chất safety thông qua mạng bất đồng bộ trong khi tính chất liveness lại được đảm bảo qua mạng đồng bộ.

Cũng theo mình tìm hiểu, một số giao thức như PoW, PoS, ... có thể hoạt động được trên mạng bất đồng bộ (như internet) (mặc dù có FLP impossibility) là vì PoW, PoS không hoàn toàn đảm bảo BFT (Byzantine Fault Tolerance). Ngoài ra, trên mạng bất đồng bộ, người ta vẫn có thể tạo ra các cơ chế đồng thuận BFT bằng cách sử dụng "các kĩ thuật ngẫu nhiên".

Nguồn: https://decentralizedthoughts.github.io/2019-06-01-2019.../

Bình luận

Bài viết tương tự

- vừa được xem lúc

[Blockchain] Road to Bitcoin

. Chắc mọi người hẳn đã không còn xa lạ gì với anh chàng tỷ phú đã ném vỡ cửa kính ô tô nhà mình cùng với siêu năng lực điều khiển vật giá chỉ bằng lời nói, người đã đẩy định giá Bitcoin trên thị trường vượt ngưỡng 50K dolar/coin với những bài twitter để đời . .

0 0 61

- vừa được xem lúc

Khi Ethereum có chi phí giao dịch quá đắt đỏ - Tương lai cho layer2 ?

Với sự phát triển như vũ bão của Blockchain, ETH dường như đang quá tải và hệ quả là chi phí Gas đã lên đến 1000Gwei, phí để tạo những transaction phức tạp đã xấp xỉ 500$ . Và một giải pháp cứu cánh cho các sản phẩm Defi trên ETH chính là Layer2, và trong nhiệm vụ lần này Matic đang thể hiện khả năn

0 0 88

- vừa được xem lúc

Blockchain với Java - Tại sao không?

Cuộc cách mạng công nghiệp 4.0 ra đời kéo theo nhiều sự thay đổi và xu hướng mới được hình thành. Riêng đối với lĩnh vực CNTT cũng không nằm ngoài vùng ảnh hưởng mạnh mẽ. Chính làn sóng 4.

0 0 91

- vừa được xem lúc

Phân loại và tầm quan trọng của các node trong mạng blockchain

Trước khi đi vào phân loại và nêu rõ được tầm quan trọng của các node trọng mạng blockchain thì mình xin được trích dẫn khái niệm về blockchain từ Wikipedia như sau:. .

0 1 65

- vừa được xem lúc

Code Smart Contract bằng Assembly ?

Introduction. Hồi còn học trong ghế nhà trường bộ môn lập trình tốn nhiều não nhất của mình là code assembly. Nôm na thì bất cứ ngôn ngữ bậc cao nào như C , Go, Java,... được sinh ra để người dễ hiểu và dễ code , tuy nhiên chúng đều sẽ được compiled down xuống assembly một ngôn ngữ bậc thấp để máy h

0 0 58

- vừa được xem lúc

Dextool - Công cụ phân tích Decentralized Exchange tuyệt vời

. Trend Defi mặc dù đã bớt nhiệt nhưng những sản phẩm nổi bật của làn sóng này mang lại thì vẫn rất được người dùng ưa chuộng. Đặc biệt là các nền tảng Decentralized Exchange, tiêu biểu là Uniswap, SushiSwap, 1inch Exchange, FalconSwap,... Nhưng khi đã sử dụng các nền tảng DEx này mà không biết đến

0 0 106