Mục lục
- Hiểu về Blockchain
- Xử lý chi tiêu đôi
- Bằng chứng về công việc & 'Khai thác'
Một trong những mối quan tâm chính của bất kỳ nhà phát triển tiền điện tử nào là vấn đề chi tiêu gấp đôi. Điều này đề cập đến tỷ lệ một cá nhân chi tiêu số dư của tiền điện tử đó nhiều lần, tạo ra sự chênh lệch giữa hồ sơ chi tiêu và số lượng tiền điện tử đó có sẵn, cũng như cách thức phân phối.
Vấn đề chi tiêu gấp đôi là một vấn đề mà tiền mặt không có; nếu bạn trả tiền cho một chiếc bánh sandwich với hóa đơn 10 đô la, chuyển hóa đơn đó cho nhà sản xuất bánh sandwich, bạn không thể quay lại và chi 10 đô la đó ở nơi khác. Tuy nhiên, một giao dịch sử dụng một loại tiền kỹ thuật số như bitcoin, xảy ra hoàn toàn bằng kỹ thuật số. Điều này có nghĩa là có thể sao chép chi tiết giao dịch và phát lại nó sao cho cùng một BTC có thể được chi tiêu nhiều lần bởi một chủ sở hữu. Dưới đây, chúng tôi sẽ kiểm tra các nhà phát triển tiền điện tử đã bảo đảm rằng chi tiêu gấp đôi có thể xảy ra như thế nào.
Chìa khóa chính
- Một vấn đề kỹ thuật nảy sinh với khái niệm về tiền kỹ thuật số là khả năng ai đó nhân đôi tiền kỹ thuật số và chi tiêu đồng thời ở hai hoặc nhiều nơi. Vấn đề 'chi tiêu gấp đôi' này được ngăn chặn trong các loại tiền điện tử dựa trên blockchain như Bitcoin sử dụng một cơ chế đồng thuận được gọi là Proof-of-work (PoW). PoW này được thực hiện bởi một mạng lưới 'thợ mỏ' phi tập trung, những người không chỉ đảm bảo tính trung thực của các giao dịch trong quá khứ trên sổ cái của blockchain mà còn phát hiện và ngăn chặn chi tiêu gấp đôi.
Hiểu về Blockchain
Các blockchain bao gồm một loại tiền kỹ thuật số như bitcoin không thể tự ngăn chặn chi tiêu gấp đôi. Thay vào đó, tất cả các giao dịch khác nhau liên quan đến tiền điện tử có liên quan đều được đăng lên blockchain, nơi chúng được xác minh và bảo vệ riêng biệt bởi một quy trình xác nhận. Trong trường hợp bitcoin và nhiều loại tiền điện tử khác, các giao dịch đã được xác nhận theo cách này trở nên không thể đảo ngược; chúng được đăng công khai và duy trì vĩnh viễn.
Bitcoin là loại tiền kỹ thuật số lớn đầu tiên giải quyết vấn đề chi tiêu gấp đôi. Nó đã làm như vậy bằng cách thực hiện cơ chế xác nhận này và duy trì một hệ thống sổ cái chung, phổ biến. Theo cách này, blockchain bitcoin giữ lại các hồ sơ về các giao dịch được đóng dấu thời gian quay trở lại việc thành lập tiền điện tử vào năm 2009.
Theo thuật ngữ Bitcoin, "khối" là một tệp dữ liệu được ghi lại vĩnh viễn. Tất cả các giao dịch gần đây được viết thành các khối, giống như một sổ cái giao dịch chứng khoán trên một sàn giao dịch. Thông tin từ các khối được thêm vào sổ cái cứ sau vài phút; tất cả các nút trên mạng duy trì một bản sao của sổ cái blockchain. Người dùng có thể điều hướng blockchain cho bitcoin và chỉ xem xét các giao dịch về số lượng. Chi tiết về danh tính của người mua và người bán trong bất kỳ giao dịch nào đều được bảo vệ bằng mã hóa cấp cao, điều này cũng bảo vệ sổ cái khỏi bị giả mạo bởi các nguồn bên ngoài. Khi sổ cái blockchain được cập nhật, tất cả các ví bitcoin cũng vậy.
Xử lý chi tiêu đôi
Hãy tưởng tượng rằng bạn có 1 BTC và bạn cố gắng chi tiêu hai lần trong hai giao dịch riêng biệt. Bạn có thể cố gắng làm điều này bằng cách gửi cùng một BTC đến hai địa chỉ ví bitcoin riêng biệt. Cả hai giao dịch này sau đó sẽ đi vào nhóm các giao dịch chưa được xác nhận. Giao dịch đầu tiên sẽ được phê duyệt thông qua cơ chế xác nhận và sau đó được xác minh vào khối tiếp theo. Tuy nhiên, giao dịch thứ hai sẽ được công nhận là không hợp lệ bởi quy trình xác nhận và sẽ không được xác minh. Nếu cả hai giao dịch được kéo từ nhóm để xác nhận đồng thời, giao dịch có số xác nhận cao nhất sẽ được đưa vào blockchain, trong khi giao dịch còn lại sẽ bị loại bỏ.
Mặc dù điều này giải quyết hiệu quả vấn đề chi tiêu gấp đôi, nhưng không phải không có vấn đề. Ví dụ: người nhận dự định của giao dịch thứ hai (thất bại) sẽ không có phần nào trong chính giao dịch bị lỗi và người đó sẽ không nhận được bitcoin mà họ dự đoán. Nhiều thương nhân chờ đợi ít nhất 6 xác nhận giao dịch (có nghĩa là 6 khối giao dịch tiếp theo đã được thêm vào blockchain sau khi giao dịch được đề cập). Tại thời điểm này, người bán có thể cho rằng giao dịch là hợp lệ.
Vẫn còn các lỗ hổng khác trong hệ thống này có thể cho phép các cuộc tấn công chi tiêu kép diễn ra. Ví dụ, nếu kẻ tấn công bằng cách nào đó có thể kiểm soát ít nhất 51% sức mạnh của mạng, anh ta hoặc cô ta có thể cam kết chi tiêu gấp đôi. Nếu kẻ tấn công bằng cách nào đó có thể có được quyền kiểm soát sức mạnh tính toán nhiều này, anh ta hoặc cô ta có thể đảo ngược các giao dịch và tạo ra một blockchain riêng, riêng. Tuy nhiên, sự tăng trưởng nhanh chóng của bitcoin hầu như được bảo đảm rằng loại tấn công này là không thể. (Để biết thêm, hãy xem Cảnh giác với năm trò lừa đảo Bitcoin này)
Bằng chứng về công việc & 'Khai thác' Giải thích
Bây giờ chúng ta hãy có thêm một chút kỹ thuật. Cách mà người dùng phát hiện giả mạo như cố gắng chi tiêu gấp đôi trong thực tế là thông qua băm, chuỗi số dài đóng vai trò là bằng chứng công việc (PoW). Đặt một tập hợp dữ liệu nhất định thông qua hàm băm (bitcoin sử dụng SHA-256) và nó sẽ chỉ tạo ra một hàm băm. Do "hiệu ứng tuyết lở", tuy nhiên, ngay cả một thay đổi nhỏ đối với bất kỳ phần nào của dữ liệu gốc sẽ dẫn đến một hàm băm hoàn toàn không thể nhận ra. Dù kích thước của tập dữ liệu gốc là bao nhiêu, hàm băm được tạo bởi một hàm đã cho sẽ có cùng độ dài. Hàm băm là hàm một chiều: nó không thể được sử dụng để lấy dữ liệu gốc, chỉ để kiểm tra xem dữ liệu đã tạo ra hàm băm có khớp với dữ liệu gốc không.
Tạo ra bất kỳ hàm băm nào cho một tập hợp các giao dịch bitcoin sẽ là chuyện nhỏ đối với một máy tính hiện đại, vì vậy để biến quá trình này thành "công việc", mạng bitcoin đặt ra một mức độ "khó khăn" nhất định. Cài đặt này được điều chỉnh sao cho một khối mới được "khai thác" - được thêm vào blockchain bằng cách tạo ra một hàm băm hợp lệ - khoảng 10 phút một lần. Việc thiết lập độ khó được thực hiện bằng cách thiết lập "mục tiêu" cho hàm băm: mục tiêu càng thấp, tập băm hợp lệ càng nhỏ và càng khó tạo ra một mục tiêu. Trong thực tế, điều này có nghĩa là một hàm băm bắt đầu bằng một chuỗi số không dài: ví dụ, hàm băm cho khối # 429818 là 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Khối đó chứa 2.012 giao dịch chỉ liên quan đến hơn 1.000 bitcoin, cũng như tiêu đề của khối trước đó. Nếu người dùng thay đổi một số tiền giao dịch bằng 0, 0001 bitcoin, hàm băm kết quả sẽ không thể nhận ra và mạng sẽ từ chối gian lận.
Vì một tập hợp dữ liệu nhất định chỉ có thể tạo một hàm băm, làm thế nào để những người khai thác đảm bảo họ tạo ra một hàm băm dưới mục tiêu? Họ thay đổi đầu vào bằng cách thêm một số nguyên, được gọi là nonce ("số được sử dụng một lần"). Khi tìm thấy hàm băm hợp lệ, nó sẽ được phát lên mạng và khối được thêm vào blockchain.
Khai thác là một quá trình cạnh tranh, nhưng nó là một cuộc xổ số nhiều hơn là một cuộc đua. Trung bình, một người nào đó sẽ tạo ra bằng chứng công việc chấp nhận được cứ sau mười phút, nhưng đó sẽ là ai đó là phỏng đoán của bất kỳ ai. Các công cụ khai thác gộp lại với nhau để tăng cơ hội khai thác các khối, tạo ra phí giao dịch và trong một thời gian giới hạn, phần thưởng của bitcoin mới được tạo.
Bằng chứng công việc khiến việc thay đổi bất kỳ khía cạnh nào của blockchain trở nên vô cùng khó khăn, vì một sự thay đổi như vậy sẽ yêu cầu khai thác lại tất cả các khối tiếp theo. Điều này cũng gây khó khăn cho người dùng hoặc nhóm người dùng trong việc độc quyền hóa sức mạnh tính toán của mạng, vì máy móc và năng lượng cần thiết để hoàn thành các hàm băm rất tốn kém.
