

Tác giả: Jameson Lopp
Tác giả: Jameson Lopp
Biên dịch & Hiệu đính: Min Min & A Jian
Tranh cãi thường nảy sinh khi mọi người thảo luận về cơ chế đồng thuận của các loại tiền điện tử khác nhau, chủ yếu là do thiếu hiểu biết (định nghĩa) về các mô hình bảo mật mà các loại tiền điện tử này sử dụng để bảo vệ dữ liệu lịch sử của sổ cái. Mặc dù tất cả các mô hình đồng thuận được thiết kế để bảo vệ chống lại các cuộc tấn công lý thuyết khác nhau, nhưng điều quan trọng là phải hiểu mục đích của các mô hình này.
Mô hình bảo mật có thể được chia thành hai phần: giả định (assumption) và đảm bảo (guarantee). Nếu các giả định được sử dụng làm đầu vào đúng, thì các đảm bảo cho đầu ra của mô hình an toàn cũng phải đúng.
Hãy khám phá sâu mô hình bảo mật mà Bitcoin cung cấp cho các nhà khai thác nút đầy đủ của nó.
tìm kiếm sự thật
"Giảm thiểu nhu cầu tin tưởng giữa những người dùng là một trong những thế mạnh của Bitcoin. Cá nhân tôi thậm chí còn nghĩ rằng đây là thế mạnh lớn nhất của Bitcoin." — Pieter Wuille
Sổ cái phân tán được thiết kế để cung cấp một bản ghi các sự kiện được sắp xếp theo thứ tự, bởi vì trong một hệ thống phân tán, bạn không thể chỉ tin tưởng vào dấu thời gian.
Khi những người mới tham gia lần đầu tiên tham gia mạng chuỗi khối, họ sẽ tải xuống tất cả các khối có sẵn bắt đầu từ khối gốc được mã hóa cứng trong phần mềm, sau đó xác minh tính hợp lệ của toàn bộ chuỗi khối.
Một trong những giả định quan trọng nhất của mô hình bảo mật Bitcoin là đại đa số những người khai thác đều trung thực—họ đang làm việc chăm chỉ để giữ an toàn cho chuỗi khối chứ không cố gắng phá vỡ nó. Trên thực tế, trong suốt lịch sử phát triển của Bitcoin, nhờ cơ chế khuyến khích thợ đào hiệu quả, giả định này vẫn chưa bị phá vỡ cho đến nay, mặc dù một số người đã nghi ngờ liệu nó có thể duy trì lâu dài hay không.
Với giả định này làm tiền đề, các nhà khai thác nút đầy đủ có thể chắc chắn rằng:
Không ai ngoài những người khai thác có thể phát hành thêm bitcoin và nguồn cung bitcoin sẽ tăng theo đúng lịch trình phát hành.
Bitcoin tương ứng không thể được chi tiêu nếu không có khóa riêng.
Dưới sự đảm bảo mạnh mẽ của chuỗi khối Bitcoin, các nhà khai thác full-node cũng có thể chắc chắn về hai điểm sau:
Bất kỳ khối Bitcoin nào được tạo trong vòng khoảng hai giờ kể từ dấu thời gian của nó.
Về mặt kỹ thuật, các khối Bitcoin trải qua rất nhiều bước kiểm tra:
Tất cả các khối tuân theo quy tắc đồng thuận:
Mỗi khối được kết nối với khối mẹ của nó
Mỗi khối đạt đến giá trị độ khó mục tiêu và có đủ bằng chứng về công việc
Dấu thời gian của khối nằm trong cửa sổ thời gian từ khối mới nhất
Gốc Merkle khớp với giao dịch được ghi trong khối
Kích thước khối không vượt quá giới hạn trên
Giao dịch đầu tiên (và duy nhất đầu tiên) của mỗi khối là giao dịch coinbase
Sản lượng Coinbase không vượt quá phần thưởng khối
Các hoạt động chữ ký có trong khối không vượt quá phạm vi cho phép
Tất cả các giao dịch tuân theo các quy tắc đồng thuận:
Cả giá trị đầu vào và đầu ra đều hợp lý
Giao dịch chỉ chi tiêu đầu ra chưa được chi tiêu
Tất cả các đầu vào được chi tiêu có chữ ký hợp lệ
Trong vòng 100 khối sau khi giao dịch coinbase được tạo, không thể chi tiêu đầu ra của giao dịch coinbase
Khi một giao dịch vẫn còn trong cửa sổ xác nhận khối, đầu ra của nó không thể được sử dụng
Không ai có thể chi tiêu cùng một bitcoin hai lần.
Những gì họ đang đồng bộ hóa là lịch sử chuỗi khối "thực".
Không gian bị hạn chế và phần còn lại của các quy tắc sẽ không được lặp lại
an toàn nhiệt động lực học
Miễn là không có kẻ tấn công nào có hơn 50% sức mạnh tính toán của toàn bộ mạng và các nút trung thực có thể giao tiếp nhanh chóng, xác suất khôi phục giao dịch sẽ giảm theo cấp số nhân với số lượng xác nhận giao dịch. Các loại tấn công khác (ví dụ: khai thác ích kỷ) không có yêu cầu năng lượng cao như vậy, nhưng rất khó thực hiện.
Mô tả hình ảnh
hình ảnh
Mô tả hình ảnh
- Nguồn: http://bitcoin.sipa.be -
Hãy tính chi phí của một cuộc tấn công 51%:
10^26 hash * 0.1 J / 10^9 hash = 10^15 J
10^15 J = 2,777,777,778 kw/h * $0.10 kw/h = $277,777,Mức tiêu thụ năng lượng của Antminer S9 là 0,1 J/GH (10^9 hash).
778 (chi phí điện để viết lại toàn bộ chuỗi khối)
253,618,246,641 * 2^48 / 65535 = 1.09 * 10^21 hash
1.09 * 10^21 hash * 0.1 J / 10^9 hash = 1.09 * 10^11 J
1.09 * 10^11 J = 30,278 kw/h * $0.10 kw/h = $3,Khi viết bài này, một khối phải đạt được giá trị độ khó mục tiêu là 253.618.246.641, mất khoảng:
028 (chi phí điện cần thiết để tạo mỗi khối)
Do đó, chúng ta có thể nói rằng Bitcoin an toàn về mặt nhiệt động.
Bạn có thể điều chỉnh một số biến trong các tính toán ở trên để giảm chi phí, nhưng chúng tôi có thể chắc chắn rằng chỉ cần viết lại toàn bộ chuỗi khối sẽ cần hàng triệu đô la tiền điện. Tuy nhiên, trong trường hợp xấu nhất, kẻ tấn công có khả năng tính toán mạnh mẽ như vậy có thể lùi các giao dịch về năm 2014 - chúng tôi sẽ sớm tìm hiểu lý do tại sao.
Cũng lưu ý rằng chi phí cần thiết để mua và vận hành giàn khai thác không được tính đến.
Tấn công chống Sybil
Đây còn được gọi là tấn công chống Sybil, có nghĩa là kẻ tấn công không thể cung cấp thông tin sai lệch cho một nút ngang hàng nhất định bằng cách chạy nhiều nút ngang hàng không trung thực.
hình ảnh
Biểu đồ trên cho thấy một tình huống gần như tồi tệ nhất: nút của bạn phải chịu một cuộc tấn công Sybil quy mô lớn, nhưng vẫn được kết nối với một nút trung thực mà qua đó nút đó có thể kết nối với chuỗi khối thực. Miễn là có một người ngang hàng trung thực truyền dữ liệu chuỗi khối thực đến nút đầy đủ của bạn, nút của bạn sẽ nhìn thấu nỗ lực của Sybil để lừa bạn và bỏ qua chúng.
đồng thuận thời gian thực
Khi nút của bạn được đồng bộ hóa với đỉnh của chuỗi khối, bạn sẽ thấy rằng giao thức Bitcoin duy trì sự đồng thuận trên toàn mạng thông qua một số thuộc tính thú vị khác.
Các tác giả của "Research Perspectives and Challenges of Bitcoin and Other Cryptocurrencies" chỉ ra rằng các thuộc tính sau rất quan trọng đối với sự ổn định của tiền điện tử:
sự đồng thuận cuối cùng. Tại bất kỳ thời điểm nào, tất cả các nút tuân theo các quy tắc phải đạt được sự đồng thuận về khối mới nhất của chuỗi khối "hợp pháp" cuối cùng.
Hội tụ hàm mũ. Xác suất của một ngã ba ở độ sâu n là O(2−n). Điều này cho phép người dùng tin tưởng chắc chắn rằng các giao dịch của họ có thể được giải quyết vĩnh viễn sau "k xác nhận".
tích cực. Các khối mới được tạo liên tục và các giao dịch hợp lệ thanh toán phí giao dịch phù hợp được đóng gói trên chuỗi trong một khoảng thời gian hợp lý.
sự đúng đắn. Tất cả các giao dịch có trong các khối đều hợp lệ trên chuỗi với bằng chứng công việc tích lũy nhiều nhất.
công bằng. Một công cụ khai thác có X % tổng sức mạnh tính toán của toàn bộ mạng có thể khai thác khoảng X % khối.
Các tác giả chỉ ra rằng Bitcoin dường như có các thuộc tính trên, ít nhất là giả định rằng hầu hết các thợ đào đều trung thực. Đây là những gì phần thưởng khối và cơ chế bằng chứng công việc nhằm đạt được.
Có nhiều thuật toán khác có thể được sử dụng để duy trì sự đồng thuận trong các hệ thống phân tán, chẳng hạn như:
Bằng chứng cổ phần (PoS)
Bằng chứng về thời đại tiền xu
Bằng chứng đặt cọc
Bằng chứng của Burn
Bằng chứng về hoạt động
Bằng chứng về thời gian đã trôi qua
Đồng thuận liên kết
Các thuật toán trên tạo ra một mô hình bảo mật khác - sự khác biệt rõ ràng nhất so với Proof of Work là các hệ thống dựa trên các thuật toán này đều tiêu thụ tài nguyên nội bộ (tiền xu hoặc danh tiếng) hơn là tài nguyên bên ngoài (điện) để đạt được sự đồng thuận. Do đó, các hệ thống này khác nhau về các ưu đãi và nhu cầu tin cậy đối với các trình xác thực trong mạng, thay đổi đáng kể mô hình bảo mật.
Những hiểu lầm về mô hình bảo mật
Những hiểu lầm về mô hình bảo mật
Một quan niệm sai lầm phổ biến là Bitcoin có một mô hình bảo mật được xác định rõ ràng.
Trên thực tế, cả giao thức Bitcoin và hiện tại đều không có mô hình bảo mật hoặc thông số kỹ thuật được xác định chính thức. Điều tốt nhất chúng ta có thể làm là nghiên cứu động cơ và hành vi của những người tham gia hệ thống để hiểu rõ hơn và mô tả mô hình bảo mật của Bitcoin.
Mặc dù vậy, một số tính năng của giao thức Bitcoin thường bị hiểu sai.
Một số chuỗi khối dễ bị tổn thương nghiêm trọng vì các nhà phát triển thêm các điểm kiểm tra được ký tùy ý vào phần mềm nút, nói rằng "các nhà phát triển đã xác nhận rằng khối X nằm trên đúng chuỗi". Đây là một điểm duy nhất của vấn đề với sự tập trung cực đoan.
6,119,726,089 * 2^48 / 65535 = 2.62 * 10^19 hash
2.62 * 10^19 hash * 0.1 J / 10^9 hash = 2.62 * 10^9 J
Điều đáng nói là Bitcoin có 13 điểm kiểm tra được mã hóa cứng, nhưng các điểm kiểm tra này không thay đổi mô hình bảo mật nhiều như các điểm kiểm tra được đặt tùy ý. Điểm kiểm tra cuối cùng đã được thêm vào Bitcoin Core 0.9.3 ở độ cao khối 295000 (được tạo vào ngày 9 tháng 4 năm 2014). Giá trị độ khó của khối này là 6.119.726.089 và chi phí điện cần thiết xấp xỉ:
2,62 * 10^9 J = 728 kw/h * 0,10 kw/h = 73 USD (chi phí điện cần thiết để tạo ra khối này)
Vì vậy, nếu Sybil rào cản một nút mới tham gia (cần được đồng bộ hóa từ đầu), thì hầu như không mất gì để tạo một chuỗi khối ngắn hơn ở độ cao khối thấp hơn, nhưng không thể vượt quá điểm kiểm tra.
Nếu Sybil rẽ nhánh một nút từ một mạng đã đồng bộ hóa khối có chiều cao 295.000 trước đó, nó có thể bắt đầu phân phát các khối giả với chi phí 73 đô la cho mỗi khối, ít nhất là cho đến khi xảy ra điều chỉnh độ khó. Tuy nhiên, nút nạn nhân đồng bộ hóa với chuỗi càng dài thì kẻ tấn công càng tốn kém để tạo chuỗi có nhiều bằng chứng công việc tích lũy hơn.
Cả Greg Maxwell và Pieter Wuille đều cho biết họ hy vọng một ngày nào đó sẽ loại bỏ hoàn toàn các trạm kiểm soát. Wladimir van der Laan, trưởng bộ phận bảo trì tại Bitcoin Core, lưu ý rằng các trạm kiểm soát thường gây nhầm lẫn cho những người muốn hiểu mô hình bảo mật của Bitcoin.
Có thể cho rằng, điểm kiểm tra ở độ cao khối 295.000 có nghĩa là các nút đầy đủ "tin" rằng các nhà phát triển Bitcoin Core nói rằng các khối trước ngày 9 tháng 4 năm 2014 là hợp lệ. Tuy nhiên, nút đầy đủ vẫn sẽ kiểm tra giá trị băm Merkle trong mỗi tiêu đề khối, nghĩa là tính hợp lệ của lịch sử giao dịch vẫn được bảo vệ bởi bằng chứng công việc. Các điểm kiểm tra cũ này có thể cải thiện hiệu suất (bỏ qua xác minh chữ ký) khi đồng bộ hóa chuỗi khối lịch sử lần đầu tiên, mặc dù việc giới thiệu libsecp256k1 làm cho sự khác biệt về hiệu suất ít được chú ý hơn.
Điểm kiểm tra tồn tại cho ba mục đích chính:
Ngăn không cho bộ nhớ của nút bị đầy với các tiêu đề khối bằng chứng công việc hợp lệ nhưng thấp.
Bỏ qua chữ ký trong các khối trước đó (cải thiện hiệu suất).
hình ảnh
Mô tả hình ảnh
- Nguồn: Blockchain.info -
1.16 * 10^20 hash * 0.1 J / 10^9 hash = 1.16 * 10^10 J
1.16 * 10^10 J = 3,Khi giá trị độ khó là 27.000.000.000, việc khai thác cần tính toán khoảng 27.000.000.000 * 2^48/65535 = 1,16 * 10^20 hàm băm.
222 kw/h * 0,10 kw/h = 322 USD (chi phí điện trung bình cần thiết để tạo ra mỗi khối)
(chưa xong)
(chưa xong)
Liên kết gốc:
https://blog.lopp.net/bitcoins-security-model-a-deep-dive/
