Tiền mã hóa: Bài toán chống tiêu tiền hai lần ?
Có nhiều thách thức và tranh cãi xung quanh tiền mã hóa: làm sao ngăn chặn tính biến động cực đoan và sự đầu cơ liều lĩnh; làm sao điều chỉnh các hệ thống trao đổi giữa tiền mã hóa và tiền truyền thống; và làm sao đảm bảo chúng được sử dụng cho những mục đích hợp pháp chứ không phải cho rửa tiền, khiêu dâm trẻ em, phần mềm tống tiền, hay các hoạt động tội phạm khác. Nhưng trong bài viết này, tôi chỉ đề cập đến một vấn đề cố hữu của tiền mã hóa: bài toán chống tiêu tiền hai lần.
1. Tiêu tiền hai lần
Khác với một tờ USD, một đơn vị tiền mã hóa không tồn tại dưới dạng vật chất. Về cơ bản, nó chỉ là một con số, giống như số xê-ri tiền mà không có tờ tiền. Một câu hỏi cơ bản được đặt ra: Làm thế nào để ngăn một ai đó đưa cùng một con số (tức là đưa cùng một “đồng” tiền mã hóa) cho hai người bán hàng khác nhau? Đây là vấn đề kỹ thuật trọng tâm trong việc phát triển tiền mã hóa.
Một cách giải quyết cơ bản cho vấn đề này là lưu lại một dãy các thời điểm giao dịch, qua đó mọi khối giao dịch mới cần được đối chiếu với cuốn “sổ cái” này, tức là giao dịch mới cần được kiểm tra để đảm bảo không dùng những đồng tiền mã hóa đã được tiêu trước đó. Khi một khối giao dịch mới được phê chuẩn, nó được thêm vào chuỗi các khối theo thứ tự thời gian – đây là nguồn gốc của từ “chuỗi khối” (blockchain), chỉ lịch sử giao dịch.
Vì tiền mã hóa thường được phi tập trung hóa, chúng không thể dựa vào một cơ quan cấp phép trung ương như ngân hàng hay chính phủ. Thay vào đó, việc phê chuẩn các khối giao dịch được thực hiện bởi cộng đồng người dùng. Đây là một mô hình trao đổi ngang hàng (peer-to-peer), và hai kỹ thuật kiểm tra phổ biến nhất là “bằng chứng công việc” (proof-of-work) và “bằng chứng sở hữu” (proof-of-stake).
2. Bằng chứng công việc
Nguyên liệu cơ bản của bằng chứng công việc là một “hàm băm” (hash function). Một hàm băm nhận đầu vào là một dãy nhị phân có độ dài bất kỳ và cho kết quả là một dãy nhị phân có độ dài cố định, chẳng hạn 128 bit. Hàm băm được công khai và là một hàm xác định, nghĩa là nếu hai người dùng hai đầu vào giống nhau, họ sẽ nhận được hai kết quả giống nhau. Tuy nhiên, kết quả của hàm băm trông hoàn toàn ngẫu nhiên, và trong thực tế không thể tính được hàm ngược (nghĩa là tìm đầu vào x để được kết quả y) và không thể tìm được hai đầu vào khác nhau cho ra cùng một kết quả.
Trong mấy trăm loại tiền mã hóa đã được phát triển, hầu hết dùng bằng chứng công việc để ngăn việc tiêu hai lần. Tuy nhiên, bằng chứng công việc có hai nhược điểm lớn là khó mở rộng quy mô và lãng phí năng lượng khổng lồ.
Những người được gọi là “thợ đào tiền” phê chuẩn khối giao dịch mới nhất như sau. Trước khi thêm một giao dịch vào một khối, họ kiểm tra rằng những đồng tiền dùng trong giao dịch đó chưa được tiêu. Sau đó, họ thêm dãy nhị phân định danh của giao dịch đó vào một dãy tổng. Sau khi đã làm như vậy với tất cả các giao dịch mới, họ thêm vào một dãy nhị phân (gọi là “nonce”) và đưa cả dãy nhị phân dài vào hàm băm. Họ hy vọng đầu ra của hàm băm có nhiều, chẳng hạn N = 40, số 0 ở đầu. Xác suất để điều đó xảy ra là một phần triệu triệu. Nếu đầu ra không có N số 0 dẫn đầu, họ chọn một nonce khác và lại tính hàm băm. Xác suất một phần triệu triệu nghe có vẻ rất nhỏ, nhưng nếu hàng nghìn thợ đào tiền cùng làm việc một lúc, và mỗi người mỗi giây có thể tính được vài nghìn giá trị của hàm băm, thì chẳng mấy chốc sẽ có người thành công.
Khi một thợ đào tiền tìm được một kết quả hàm băm có N số 0 dẫn đầu, khối của họ trở thành khối chính thức tiếp theo của chuỗi khối. Phần thưởng cho công việc của họ là: (1) một phần cố định trong những đồng tiền mới được tạo ra; và (2) tổng phí giao dịch của tất cả các giao dịch trong khối mới. (Tổng các phí này là đáng kể, mặc dù phí của từng giao dịch đơn lẻ thì bé hơn nhiều so với một giao dịch thẻ tín dụng tương đương).
Thí dụ với Bitcoin, giá trị của N được điều chỉnh theo thời gian sao cho cứ khoảng 10 phút thì một khối giao dịch được phê chuẩn. Như vậy, mỗi khối thường chứa tất cả các giao dịch hợp lệ trong một khoảng thời gian 10 phút.
Trong mấy trăm loại tiền mã hóa đã được phát triển, hầu hết dùng bằng chứng công việc để ngăn việc tiêu hai lần. Tuy nhiên, bằng chứng công việc có hai nhược điểm lớn.
Thứ nhất là nó khó mở rộng quy mô. Nó không quá nặng khi lượng giao dịch ở vào cỡ vài trăm giao dịch mỗi giờ. Nhưng nếu một loại tiền mã hóa có vai trò quan trọng trong giao dịch tài chính của toàn thế giới, có thể có đến hàng chục triệu giao dịch trong mỗi khoảng thời gian 10 phút, và sự phê chuẩn bằng bằng chứng công việc sẽ trở nên cực kỳ khó khăn.
Hơn nữa, quá trình “đào” tiền – hiện được thực hiện ở các “trang trại” chứa hàng nghìn mạch tích hợp chuyên dụng (ASIC) ở những nước như Trung Quốc, nơi giá điện rẻ – là một sự lãng phí năng lượng khổng lồ và kinh khủng cho môi trường. Cuối tháng Giêng vừa qua, phó chủ tịch Cơ quan Chứng khoán và Thị trường châu Âu (European Securities and Market Authority) kêu gọi Liên minh châu Âu cấm việc đào các loại tiền bằng chứng công việc vì sự lãng phí điện năng ngày càng lớn. Nếu được thông qua, lệnh cấm này tất nhiên sẽ có hiệu lực với cả Bitcoin.
Năm ngoái, bang Washington (Mỹ), trong đó có Seattle1, thông qua một luật “đền bù carbon”2, theo đó các công ty gây ô nhiễm phải bù lại những hậu quả ô nhiễm môi trường bằng cách mua “tín dụng carbon” từ chủ sở hữu các khu rừng hấp thụ khí CO2. Mục tiêu là khuyến khích những nỗ lực làm giảm ô nhiễm công nghiệp, đồng thời có thêm tiền cho bảo tồn rừng.
Ngày 3/6 vừa qua Regen Network Development, một công ty phần mềm chuỗi khối, tuyên bố đã bỏ ra 1 triệu USD mua tín dụng carbon của một khu rừng rộng 19 héc-ta ở gần Seattle. Đây là thỏa thuận mua tín dụng rừng đô thị lớn nhất trong lịch sử nước Mỹ. Một số công ty chuỗi khối hoạt động ở bang Washington và gây nhiều lãng phí năng lượng bởi bằng chứng công việc giờ đây phải đền bù thiệt hại môi trường bằng cách đóng góp cho bảo tồn rừng.
Trái với bằng chứng công việc, bằng chứng sở hữu không gặp cả vấn đề quy mô lẫn vấn đề lãng phí năng lượng. Nhưng trước khi thảo luận về bằng chứng sở hữu, tôi muốn nói về một giải pháp tiềm năng cho vấn đề lãng phí năng lượng, mà tôi đã theo đuổi nhưng không thành công.
3. Tính toán tình nguyện cho khoa học
Năm 2014, tôi là một trong những cố vấn của Ethereum trong vòng vài tháng, trước khi nó được công bố. Ý tưởng khi đó của tôi để giải quyết vấn đề lãng phí năng lượng không phải là từ bỏ bằng chứng công việc, mà là thay thế việc tính toán hàm băm bằng cách khiến cho thợ đào tiền đóng góp vào một dự án tính toán khoa học.
Ý tưởng sử dụng sức mạnh tính toán của một số lượng lớn máy tính cá nhân của các tình nguyện viên có từ năm 1996, khi Đại dự án Tìm kiếm Số nguyên tố Mersenne trên Internet (Great Internet Mersenne Prime Search) bắt đầu. Ba năm sau, SETI@home (tìm kiếm tín hiệu vô tuyến của trí tuệ ngoài Trái đất) và Folding@home (gấp protein để tìm kiếm thuốc điều trị mới cho nhiều bệnh khác nhau) được khởi động, mỗi dự án thu hút hàng trăm nghìn người tình nguyện.
Tôi đề xuất với Vitalik Buterin, người sáng lập Ethereum, rằng sẽ tốt hơn nếu thay thế việc tính toán hàm băm bằng tính toán khoa học hữu ích. Tôi cũng nói chuyện với một đồng nghiệp ở khoa Thiên văn học. Nhưng hóa ra tôi đã thiếu thực tế. Cả tôi và những người khác đều không thể nghĩ ra cách nào để chuyển những tính chất ngẫu nhiên đẹp đẽ của hàm băm – những tính chất đảm bảo công bằng cho tất cả thợ đào tiền – sang cho việc tìm kiếm các hiện tượng thiên văn bất thường hay những ứng dụng thực tế khác. Ý tưởng của tôi bị bỏ vào thùng rác chứa những ý tưởng tồi.
4. Bằng chứng sở hữu
Ở dạng đơn giản nhất, bằng chứng sở hữu hoạt động như sau. Giả sử một loại tiền mã hóa Stakecoin có M đơn vị (hay “đồng”) đang được lưu hành. Mỗi chủ nhân của một ví tiền mã hóa được gán cho một số từ 1 đến M cho mỗi đồng StakeCoin mình sở hữu. Khi một khối giao dịch mới cần được phê chuẩn và thêm vào chuỗi, một số ngẫu nhiên từ 1 đến M được chọn, và chủ nhân của đồng Stakecoin tương ứng được phê chuẩn khối và nhận phần thưởng. Nói cách khác, khả năng được phê chuẩn và nhận thưởng tỷ lệ với phần sở hữu trong hệ thống. Cách này tốn rất ít năng lượng và dễ tăng quy mô hơn rất nhiều so với bằng chứng công việc.
Tuy nhiên, như đã nói ở trên, có khá ít tiền mã hóa sử dụng bằng chứng sở hữu. Ethereum (có thị phần lớn thứ hai, sau Bitcoin) đã tuyên bố sẽ sớm chuyển từ bằng chứng công việc sang bằng chứng sở hữu, nhưng những tuyên bố tương tự trước đó về sau đều bị hoãn.
Nhược điểm chính của bằng chứng sở hữu là dễ dàng tìm ra nhiều cách để kẻ gian đánh lừa hệ thống. Những phiên bản cải tiến với nhiều tính năng bổ sung có thể ngăn chặn một số tấn công, nhưng ngay cả khi đó, không có gì đảm bảo rằng chúng ngăn được mọi kiểu tấn công. Tiền mã hóa dựa trên bằng chứng sở hữu được nhận định rộng rãi là kém bảo mật hơn tiền dựa trên bằng chứng công việc.
Thí dụ, giả sử rằng, không như Bitcoin (tổng giá trị của Bitcoin hiện vào khoảng 500 tỷ USD), tổng giá trị của tiền mã hóa Stakecoin của chúng ta vẫn ở vào cỡ triệu USD. Một người dùng giàu có và đồi bại tên là Tronald Dump đi vay một tỷ lệ lớn các đồng Stakecoin đang lưu hành và giữ chúng trong nhiều ví thuộc nhiều tài khoản khác nhau để tránh bị nghi ngờ. Hắn phải trả nợ bằng Stakecoin sau một tháng với lãi suất cao.
Những hacker được Tronald thuê đã nghiên cứu hệ thống bằng chứng sở hữu của Stakecoin. Sau khi có được một tỷ lệ lớn của toàn bộ các đồng Stakecoin, Tronald liên tiếp thực hiện nhiều giao dịch sử dụng cùng một số đồng tiền, và vì có phần sở hữu lớn, hắn được chọn để phê chuẩn chúng cho những khối mới của chuỗi.
Ngay sau đó, Tronald đổi số Stakecoin còn lại của mình sang USD. Khi có tin hệ thống đã bị tấn công và việc tiêu nhiều lần đã xảy ra trên quy mô lớn, lòng tin đối với Stakecoin suy sụp, và giá trị của nó rơi đột ngột. Tronald mua số Stakecoin cần thiết để trả nợ, với giá chỉ bằng một phần nhỏ giá của chúng vài hôm trước. Hắn thu được một khoản lợi khổng lồ nhờ gian lận, gồm phần lớn số USD đổi từ Stakecoin, cùng với những thứ hắn mua được bằng cách tiêu tiền nhiều lần.
Khi một kịch bản tấn công kiểu này được đưa ra, các nhà phát triển tiền mã hóa có thể sửa đổi để ngăn chặn nó. Nhưng đối thủ luôn trả lời bằng cách thay đổi cách tấn công hoặc nghĩ ra một cách tấn công hoàn toàn khác, mà các nhà phát triển không lường trước.
5. Kết luận
Nếu Ethereum theo đúng kế hoạch chuyển từ bằng chứng công việc sang bằng chứng sở hữu, đó sẽ là một phép thử lớn đầu tiên cho khái niệm bằng chứng sở hữu, vì Ethereum sẽ là hệ thống tiền mã hóa lớn* đầu tiên thực hiện sự thay đổi đó. Các nhà nghiên cứu của Ethereum đã và đang làm việc cật lực để dự đoán những điểm yếu và thiết lập các hệ thống bảo vệ hy vọng sẽ ngăn chặn được các cuộc tấn công. Tuy nhiên, thực hiện một thay đổi lớn trong cấu trúc cơ sở của một công nghệ đang được sử dụng rộng rãi luôn là điều mạo hiểm. Chúng ta chỉ có thể hy vọng rằng việc chuyển sang bằng chứng sở hữu diễn ra suôn sẻ. Đó sẽ là một bước tiến lớn, hướng tới gỡ bỏ sự phản đối tiền mã hóa vì lý do môi trường.□
Nguyễn Hoàng Thạch dịch
——
Chú thích
1. Thành phố nổi tiếng với nhiều công ty công nghệ và có Đại học Washington, nơi tác giả là giáo sư – ND.
2. Climate Commiment Act (đạo luật Cam kết Khí hậu), 2021 – ND.
* Đính chính: Bản báo in số 12 ra ngày 20/6/2022 viết là “Ethereum sẽ là hệ thống tiền mã hóa đầu tiên thực hiện sự thay đổi đó“. Chúng tôi chỉnh sửa lại: “Ethereum sẽ là hệ thống tiền mã hóa lớn đầu tiên thực hiện sự thay đổi đó” đúng với bản gốc của GS. Koblitz.