Bitcoin dưới dạng Blockchain
Hình dung blockchain một cách đơn giản.
Bạn đặt một số giao dịch trong một khối, sau đó kết nối các khối để tạo một chuỗi.
Thoạt nhìn, các khối xuất hiện là các nhóm giao dịch tùy ý. Khái niệm về một “khối” trong một blockchain cho bạn biết rất ít về mục đích thực sự của các khối.
Vậy, tại sao lại đặt giao dịch trong các khối?
Các yêu cầu cơ bản nhất của bất kỳ sổ kế toán, blockchain hoặc một thứ nào đó, là khả năng ghi lại đầu vào và đầu ra xảy ra trong một số ngày và thời gian cụ thể. Nhưng khi chúng ta xem xét kỹ hơn blockchain Bitcoin, chúng ta thấy rằng các giao dịch trong một khối không có dấu hiệu thời gian riêng biệt.
Bạn nghĩ một giao dịch nên theo trình tự:
Dấu hiệu thời gian/Giá trị đầu vào/Giá trị đầu ra
Và, bạn cho rằng một giao dịch thực sự sẽ:
Chỉ số/Giá trị đầu vào/Giá trị đầu ra
Thay vào đó, các giao dịch được đánh số với chỉ số từ 0 đến 10,000. Quan trọng hơn thời gian và ngày chính xác là lệnh giao dịch. Các giao dịch xảy ra trong một cửa sổ thời gian nhỏ được tập hợp lại với nhau và dấu hiệu thời gian được áp dụng cho toàn bộ khối thay vì mỗi giao dịch. Nhưng tại sao lại thế?
Phải mất thời gian cho dữ liệu di chuyển từ một máy chủ ở một phần của thế giới đến một máy chủ ở một phần khác. Trong mạng Bitcoin, các máy chủ này được gọi là các nút. Các nút được điều hành độc lập bởi người dùng Bitcoin trên toàn thế giới. Mỗi nút xác thực mỗi giao dịch một cách độc lập và mỗi giao dịch phải đi đến mọi nút trong mạng. Khả năng này cho phép blockchain chất lượng phân tán.
Một nút đầy đủ của Bitcoin là một máy chủ mà có thể: truyền tải các giao dịch trong mạng
Mỗi giao dịch Bitcoin bắt nguồn từ một trong các nút Bitcoin trong mạng. Nếu bạn đang sử dụng ví di động, bạn đang tin tưởng vào nút mà họ đang kết nối với bạn. Hoặc bạn có thể tự chạy và sử dụng nút đầy đủ của mình như một chiếc ví.
Nếu một vài người trên khắp thế giới thực hiện giao dịch tại cùng một thời điểm, các nút gần nhau hơn sẽ thấy các giao dịch bắt nguồn từ khu vực địa phương của họ trước khi họ thấy các giao dịch xảy ra ở nơi khác trên thế giới. Điều này thường đúng bởi vì phải mất nhiều thời gian để di chuyển xa hơn, trên các liên lạc xuyên lục địa hoặc cáp dưới biển. Các giao dịch không thể được tiếp nhận bởi tất cả các nút trong mạng tại cùng một thời điểm.
Mỗi nút nhận và xác nhận một bản ghi đầy đủ của mỗi giao dịch, nhưng mỗi nút thực hiện nó ở các thời điểm hơi khác nhau. Trong một mạng phi tập trung, chúng ta không thể biết được thời gian thực tế của mỗi giao dịch.
Nếu A, B, và C trên bản đồ là các nút và mỗi nút truyền giao dịch một cách độc lập cùng một lúc, C và B sẽ nhận được tín hiệu của các giao dịch sớm hơn so với thấy giao dịch từ A. Nếu các giao dịch có dấu hiệu thời gian của riêng nó, B và C sẽ thiết lập giao dịch trước khi giao dịch bắt nguồn từ A, bởi vì chúng gần nhau hơn.
Trong một mạng phân cấp, dữ liệu được gửi và nhận tại địa phương xảy ra “đầu tiên”. Sau đây là bảng phân tích về thứ tự giao dịch rõ ràng từ góc nhìn của mỗi nút từ bản đồ:
Chúng tôi không thể biết chính xác thứ tự giao dịch trên blockchain trong thời gian thực vì không có thứ tự giao dịch chính xác cho đến khi khối của chúng được xác nhận bằng sự đồng thuận (PoW và các miner).
Do độ trễ mạng — các giao dịch không bao giờ có thể được xử lý bởi tất cả mọi người trong mạng cùng một lúc. Các sổ cái phân cấp yêu cầu các giao dịch được nhóm lại với nhau thành các “khối”. Vì vậy, dấu hiệu thời gian có thể được áp dụng cho các giao dịch xảy ra trong cùng một khung thời gian chung thay vì cho từng giao dịch riêng lẻ.
Thay vì nhìn thấy khối giao dịch tùy ý trên blockchain, bây giờ chúng ta có thể thấy cách các khối trên sổ kế toán được sử dụng để giữ trật tự giao dịch và thời gian.
Bitcoin dưới dạng một Timechain
Các thuật ngữ “blockchain” và “timechain” không bao giờ được sử dụng trong whitepaper Bitcoin, mặc dù Satoshi mô tả blockchain như một máy đếm thời gian kết hợp các giao dịch có dấu hiệu thời gian. Nhưng thuật ngữ “timechain” được đề cập chính xác một lần dưới dạng một bình luận, trong mã nguồn Bitcoin ban đầu.
Ý tưởng về timechain không gợi lên hình ảnh rõ ràng như một blockchain, nhưng nó phục vụ để làm nổi bật chức năng cụ thể của hệ thống Bitcoin.
Tại sao Bitcoin cần một nguồn thời gian nội bộ?
1) Các bitcoin mới cần phải được phát hành theo lịch trình thời gian hợp lý.
2) Người bán cần một số cam kết rằng các khoản thanh toán hợp lệ trong một cửa sổ thời gian.
3) Và các giao dịch cần phải được xử lý theo thời gian.
Để thực hiện điều này một cách đáng tin cậy, không cần dựa vào nguồn thời gian bên ngoài, Bitcoin cần một nguồn thời gian nội bộ.
Tạo đồng hồ phân cấp
Đồng hồ blockchain giữ thời gian với các khối được tạo ra trong một vòng điều khiển trong bằng chứng làm việc, bằng cách điều chỉnh động các khó khăn được thiết lập trên khai thác mỏ.
Hashrate tạo vòng điều khiển:
Hashrate mạng là tổng công suất CPU của tất cả các trình khai thác trong mạng. Khó khăn ảnh hưởng đến cách tính toán năng lượng tiêu hao cần thiết để tìm một giải pháp cho hash block. Blocktime là thời gian trung bình cần để tìm mỗi khối.
o Khi hashrate tăng, độ khó tăng lên để làm chậm blocktime trung bình.
o Khi hashrate giảm, độ khó giảm xuống để tăng tốc blocktime trung bình.
Cả ba biến biến số này luôn thay đổi. Tổng hashrate thay đổi khi miner tham gia hoặc thoát khỏi mạng. Dựa trên tổng hashrate đó, độ khó được điều chỉnh bởi các nút để đạt được mục tiêu block time mười phút.
Khi một khối mới được tìm thấy, nó được đánh dấu thời gian bởi miner tìm thấy nó. Mỗi nút tính toán thời gian mạng từ mức trung bình của 11 khối trước đó, từ chối bất kỳ khối đã lỗi thời nào được đánh dấu cũ hơn thời gian mạng hoặc hơn hai giờ vượt quá thời gian mạng hiện tại. Tính trung bình này tạo ra một giới hạn trên và dưới ràng buộc tự động của các dấu hiệu thời gian được chấp nhận để xác nhận các khối mới.
Mỗi nút độc lập tính toán và đặt lại độ khó PoW mỗi khi đạt 2,016 khối hoặc khoảng hai tuần một lần. Giới hạn bảo mật kiểm soát độ khó có thể di chuyển theo một trong hai hướng.
o Nếu độ khó giảm xuống quá thấp, các khối được tìm thấy nhanh hơn và khó khăn được điều chỉnh trong vòng hai tuần.
o Nếu độ khó tăng quá cao, các khối sẽ bị phát hiện chậm hơn và khó khăn sẽ mất nhiều thời gian hơn để điều chỉnh.
Vòng điều khiển của nó tạo ra một đồng hồ phân cấp. Ngay bây giờ, hầu hết các đồng hồ nút Bitcoin khá chính xác, nhưng việc giữ thời gian qua các khối không nhất định phản ánh thời gian thực – bởi vì hệ thống không yêu cầu thời gian phải chính xác hoàn toàn. Chỉ cần các khối đó được đặt theo quy tắc thứ tự đối với các giao dịch Bitcoin.
PoW của Bitcoin chỉ cung cấp một thời gian tương đối so với các khối trước đó trong chuỗi riêng của mình mà không tương ứng với bất kỳ thời gian thực nào khi các giao dịch xảy ra. Vòng điều khiển bảo vệ chống lại siêu lạm phát, nó đảm bảo coin được phát hành theo một lịch trình đáng tin cậy và các giao dịch được xử lý trong khoảng khối mười phút. Kết quả là các khối được sinh ra bởi PoW tạo ra một nguồn thời gian nội bộ, một máy chủ đánh dấu thời gian không tin cậy, với các khối phục vụ như “thiết bị đánh dấu” của một đồng hồ rộng lớn, phi tập trung.
Theo TapchiBitcoin.vn/Kiararobles