Blockchain và giao dịch tiền mật mã: Cơ sở khoa học an toàn mật mã

14:40 | 07/08/2018

Với đặc điểm không cần bất cứ quốc gia nào phát hành, cũng không cần đến các ngân hàng làm trung gian tiến hành giao dịch và ngăn cản việc cùng một giao dịch có thể thực hiện lặp lại nhiều lần… tiền mật mã trở thành xu hướng trong thời gian gần đây. Bài viết giới thiệu tổng quan về tiền mật mã và hoạt động giao dịch tiền mật mã với công nghệ Blockchain, đồng thời thảo luận về cơ sở an toàn mật mã trong hoạt động giao dịch của tiền mật mã dựa trên công nghệ Blockchain.

1. Tiền truyền thống và giao dịch tiền truyền thống

Tiền truyền thống và giao dịch tiền truyền thống (kể cả tiền đã được điện tử hóa) là các hoạt động xảy ra thường xuyên trong đời sống xã hội và không thể thiếu đối với tất cả mọi người. Nguyên tắc hoạt động của tiền truyền thống và giao dịch tiền truyền thống đòi hỏi đồng tiền phải do các quốc gia ban hành, quản lý và điều phối các hoạt động chi tiêu. Các giao dịch tiền truyền thống phải thông qua các ngân hàng làm trung gian. Người tiêu dùng có thể trả tiền cho người cung cấp hàng hóa hoặc dịch vụ thông qua các tài khoản ngân hàng, miễn là tài khoản người tiêu dùng có đủ số lượng tiền cần chi trả cho người cung cấp hàng hóa hoặc dịch vụ.

Trước đây, hoạt động giao dịch cần phải trực tiếp đến ngân hàng, bởi người tiêu dùng và quá trình giao dịch xảy ra chủ yếu theo cách thức thủ công truyền thống vừa tốn kém thời gian, công sức đi lại, vừa phải lo bảo vệ, vận chuyển tiền đến ngân hàng nếu việc giao dịch xảy ra đối với tiền mặt. Mặt khác giao dịch thủ công cũng có thể xảy ra các nhầm lẫn, sai sót, bởi các nhân viên ngân hàng thực hiện quy trình nghiệp vụ thủ công.

Ngày nay, nhờ có các phương tiện công nghệ thông tin và truyền thông hiện đại và rộng khắp, nên việc giao dịch tiền truyền thống đã được điện tử hóa căn bản. Việc điện tử hóa hoạt động giao dịch tiền truyền thống đã giúp cho hoạt động này trở nên thuận tiện hơn, chính xác hơn, tốn kém ít thời gian, công sức và an toàn hơn. Giao dịch tiền truyền thống có thể xảy ra trực tuyến tại bất cứ đâu miễn là người tiêu dùng có tài khoản ngân hàng và có phương tiện điện tử để thực hiện giao dịch (Máy tính, máy tính bảng, điện thoại thông minh có kết nối mạng Internet).

Mặt khác, việc duy trì các hoạt động công nghệ thông tin và truyền thông, cũng như việc xử lý, lưu trữ một khối lượng thông tin giao dịch ngân hàng khổng lồ và ngày càng gia tăng cũng là một thách thức không nhỏ. Song song với đó là thách thức về việc đảm bảo an toàn thông tin cho các giao dịch ngân hàng trực tuyến. Tuy nhiên, vì những lợi ích to lớn mà công nghệ mang lại, nên xu hướng điện tử hóa hoạt động giao dịch ngân hàng là không thể đảo ngược và ngày càng phát triển.

Tuy vậy, bản chất quản lý tiền và phương thức quản lý hoạt động giao dịch tiền vẫn không có gì thay đổi. Tức là người tiêu dùng phải được xác thực là chủ sở hữu tài khoản ngân hàng của mình trong mỗi giao dịch. Trong hoạt động nghiệp vụ, các ngân hàng cần xây dựng sổ cái để ghi lại toàn bộ các giao dịch của các tài khoản ngân hàng một cách chính xác, đầy đủ và tính cân đối của số lượng tiền có trong các tài khoản của người tiêu dùng.

Hoạt động giao dịch tiền qua ngân hàng giúp việc quản lý nhà nước về tiền được minh bạch đối với mỗi quốc gia và tránh được các hoạt động mờ ám hay rửa tiền vốn xảy ra nhiều và rộng khắp toàn cầu.

Để cho hoạt động giao dịch tiền qua ngân hàng được an toàn, thì vấn đề đảm bảo an toàn cho tài khoản giao dịch, an toàn cho sổ cái của ngân hàng là vô cùng quan trọng. Chúng ta hãy tưởng tượng, nếu tài khoản ngân hàng bị chiếm dụng, số tiền có trong tài khoản và sổ cái bị sửa đổi hoặc xóa bỏ một phần hoặc toàn bộ thì điều gì xảy ra? Đặc biệt là cùng một giao dịch có thể bị lặp lại nhiều lần gây tổn thất cho tài khoản tiêu dùng.

Nhờ có sự phát triển của khoa học mật mã, công nghệ thông tin và truyền thông, mới đây nhân loại đã có một bước phát triển mới, đánh dấu sự ra đời của loại tiền mới và phương thức giao dịch mới – Tiền mật mã (Cryptocurrency) và công nghệ Blockchain. Loại tiền và phương thức giao dịch mới này đã loại bỏ được vai trò của quốc gia phát hành tiền, cũng như vai trò trung gian của ngân hàng. Những người tiêu dùng đã tự quyết định về các giao dịch của mình thông qua sự đồng thuận và kiểm soát lẫn nhau. Loại tiền này cũng chống được khả năng tiêu tiền nhiều lần cho cùng một giao dịch. Đây cũng là vấn đề khó khăn về mặt khoa học mật mã.

Loại tiền mật mã đầu tiên ra đời là Bitcoin, sau đó, nhiều loại tiền mật mã khác đã ra đời với nhiều cải tiến so với Bitcoin, song đều dựa trên cơ sở khoa học của công nghệ Blockchain – Một loại sổ cái nằm trên Internet không do ngân hàng nào quản lý mà vẫn đảm bảo an toàn cho các giao dịch của các tài khoản người tiêu dùng.

Nền tảng đảm bảo an toàn cho hoạt động của loại tiền này chính là mật mã, nên người ta gọi nó là tiền mật mã. Bảo vệ ví tiền của chủ sở hữu và các giao dịch sử dụng cặp khóa bí mật – công khai của mật mã khóa công khai và bảo vệ toàn vẹn của sổ cái chính là cơ chế cây Merkle và hàm băm mật mã.

2. Tiền mật mã và giao dịch tiền mật mã

Trong hoạt động giao dịch tiền mật mã, mỗi người tiêu dùng tham gia vào một loại tiền mật mã nhất thiết phải mở một ví tiền điện tử (Wallet) thông qua phần mềm tiền mật mã chuyên dụng - giống như là tài khoản trong giao dịch tiền truyền thống. Ban đầu, khi ví tiền mật mã được tạo lập thì nó có số lượng tiền bằng không (Zero). Thông qua các giao dịch (các hợp đồng thông minh – Smart Contract) số tiền của chủ sở hữu ví tiền sẽ được cộng vào (hay trừ đi) một lượng nhất định phụ thuộc vào việc nhận tiền hay trả tiền cho các người tiêu dùng khác. Chủ sở hữu ví tiền mật mã không thể tiêu quá số lượng tiền đang có trong ví của mình, cũng như không thể chi tiêu (hay nhận về) quá một lần số tiền có trong một giao dịch.

Việc xác thực chủ sở hữu được thông qua mật mã khóa công khai, với một cặp khóa bí mật. Để thực hiện giao dịch, người chủ ví tiền mật mã phải được xác thực với các chủ sở hữu ví tiền mật mã khác. Tính toàn vẹn của các giao dịch và các thông tin gửi đi trên mạng cũng được bảo vệ bởi cặp khóa bí mật – công khai này.

Sổ cái (Ledger) của hoạt động giao dịch tiền mật mã chính là một chuỗi móc xích các khối (Blockchain) đặt trên Internet và không do ngân hàng nào quản lý. Cấu trúc cây Merkle và hàm băm mật mã cũng như tất cả các ví tiền mật mã sẽ góp phần bảo vệ tính toàn vẹn của sổ cái này. Trong sổ cái, các smart contract của tất cả các ví tiền mật mã được ghi lại theo tuần tự thời gian từ khi bắt đầu hình thành loại tiền điện tử này. Các hợp đồng được chứa trong các khối. Các khối được móc xích với nhau tạo nên sổ cái được gọi là Chuỗi các khối móc xích với nhau (Blockchain). Các mắt xích không thể bị đứt hay thay đổi là nhờ tính chất của hàm băm mật mã thực hiện vai trò kết nối.

Việc mỗi giao dịch chỉ được ghi duy nhất một lần vào các khối trong Blockchain là thành quả khoa học mà Blockchain có được. Bình thường, một Blockchain sẽ chỉ là một chuỗi các khối móc xích nhau từ khối đầu tiên gọi là gốc (Root Block), rồi tiếp đến các chuỗi tiếp sau theo một đường thẳng theo thời gian cho đến chuỗi sau cùng được gọi là khối lá (Leaf Block). Một khối có thể chứa nhiều giao dịch, miễn là một giao dịch chỉ xuất hiện một lần duy nhất trong toàn bộ Blockchain.

Trong quá trình giao dịch, các khối mới được thêm vào ở các vị trí cuối cùng để trở thành khối lá mới khi cập nhật Blockchain. Cũng trong quá trình này, khi có các thay đổi về chính sách, luật hay phương thức giao dịch, thậm chí cập nhật phần mềm giao dịch, thì cũng phát sinh sự rẽ nhánh của Blockchain. Khi đó, tại một Block nào đó sẽ xuất hiện hai nhánh Blockchain con đi theo hai hướng khác nhau - tương ứng với các chính sách tiền mật mã khác nhau. Một nhánh giống như cũ và một nhánh có thay đổi chính sách. Giao dịch nào vẫn theo chính sách cũ thì đi theo Blockchain con thứ nhất, còn giao dịch nào theo chính sách mới thì đi theo Blockchain con thứ hai. Sau những lần rẽ nhánh như vậy, chúng ta có một sổ cái hình cây.


Hình 1. Blockchain có hình dạng cây Merkle

Trên Hình 1 cho thấy chuỗi chính có màu đen là chuỗi dài nhất gồm các khối từ khối gốc dưới cùng màu xanh lá cây đến khối hiện tại ở vị trí cao nhất. Đã xảy ra các rẽ nhánh thành các chuỗi màu tím nhạt khi có các thay đổi trong hoạt động của tiền mật mã để xuất hiện các chuỗi tiền con mới cho những thay đổi này.

Để đảm bảo tính toàn vẹn của các giao dịch, kiến trúc của Blockchain, người ta sử dụng ý tưởng của cây Merkle. Tuy nhiên, thông thường cây Merkle bị cố định. Đối với cây Merkle của Blockchain luôn luôn dài ra từ các khối lá và có thể rẽ nhánh thành các khối cành mới với sự xuất hiện của các giao dịch mới chưa được cập nhật và các chính sách hoạt động mới cho một nhánh tiền mật mã mới xuất hiện.

Một giao dịch chỉ được xác lập hoàn toàn trên Blockchain nếu nó nằm trong khối đã được các chủ sở hữu ví tiền mật mã cho là hợp lệ. Nó được đảm bảo toàn vẹn vĩnh viễn trên cây Merkle (Trừ khi bị tấn công dỡ bỏ các Block đã được cho là hợp lệ và tạo lập các Block giả mạo khác). Nếu tạo lập được các Block giả mạo hợp lệ, thì kẻ tấn công có thể làm cho một giao dịch có thể bị ghi nhiều lần trong các Block và điều này làm cho một giao dịch chi tiêu một lần nhưng người tiêu dùng phải trả tiền nhiều lần (Mặc dù việc giả mạo này là rất khó xảy ra được).

Một yêu cầu cũng rất quan trọng đối với ứng dụng tiền mật mã là các giao dịch phải xảy ra nhanh chóng và an toàn. Muốn vậy thì xác nhận hợp lệ của các Block phải nhanh và việc tạo ra một Block hợp lệ là rất khó hoặc không thể đối với mỗi chủ sở hữu ví tiền mật mã, nhưng là có thể và đủ nhanh đối với những người chuyên làm việc tạo ra các Block hợp lệ theo yêu cầu của hoạt động giao dịch mong muốn. Những người có thể làm việc tạo ra các Block hợp lệ này gọi là các thợ đào mỏ (Miner). Mỗi lần họ tạo ra được một Block hợp lệ, họ được thưởng công với một lượng tiền mật mã nhất định vào ví tiền mật mã của họ.

Thợ đào mỏ thường phải đầu tư các máy tính năng lực mạnh, có card xử lý đồ họa GPU hoặc các công nghệ tính toán nhanh như FPGA, thậm chí ASIC rất phù hợp cho công việc tạo ra Block hợp lệ. Ban đầu khi tiền mật mã mới ra đời, thì tiền thưởng cho mỗi lần tìm ra một Block là tương đối lớn và giảm dần theo thời gian tồn tại của loại tiền điện tử này. Thời gian đầu, Bitcoin có thể thưởng 25 BTC cho một Block hợp lệ với thời gian trung bình là 10 phút.

Blockchain ra đời và sự xuất hiện của tiền mật mã nói chung và Bitcoin nói riêng đã tạo ra nhiều luồng ý kiến dư luận trái chiều. Estonia được ghi nhận là quốc gia đầu tiên trên thế giới đưa công nghệ blockchain vào điều hành kinh tế xã hội theo quy mô nhà nước. Tuy nhiên, có chính phủ từ chối chấp nhận Bitcoin là một loại tiền lưu thông. Có chính phủ còn đang nghiên cứu phân tích những mặt lợi thế và những mặt bất lợi của Bitcoin (Nhật Bản, Mỹ...). Có một điều chắc chắn là lịch sử giao dịch tiền của nhân loại đã bước sang một trang mới đầy triển vọng, cũng như đầy thách thức mà không thể đảo ngược được.

Tiền mật mã ra đời dựa trên nền tảng khoa học mật mã. Những tổn thất trong hoạt động của một số loại tiền mật mã mà ta gọi là tiền ảo đa cấp lại không liên quan đến tiền mật mã. Vấn đề là do các biến tướng trong hoạt động đã tạo ra lỗ hổng cho kẻ xấu lợi dụng chiếm đoạt tiền bạc của những người nhẹ dạ cả tin và chưa có hiểu biết thật sự về tiền mật mã.

3. Cơ sở khoa học an toàn mật mã của giao dịch tiền mật mã

Khâu đầu tiên liên quan đến an toàn mật mã là xác thực và bảo vệ toàn vẹn cho chủ sở hữu ví tiền mật mã. Khi người tiêu dùng mở một ví tiền mật mã, họ sẽ được cấp hoặc chọn tạo ra một cặp khóa bí mật – công khai của hệ thống mật mã khóa công khai. Đối với Bitcoin thì cặp khóa này là ECDSA. Cặp khóa này không chỉ bảo vệ việc xác thực đăng nhập, mà còn bảo vệ việc xác thực toàn vẹn các giao dịch mà chủ sở hữu ví tiền mật mã này gửi các giao dịch đến các chủ sở hữu ví tiền mật mã khác. Các chủ sở hữu khác dễ dàng kiểm tra xác thực toàn vẹn của các giao dịch được gửi.

Mỗi khi cần giao dịch hoặc làm các công việc liên quan đến giao dịch, chủ sở hữu ví tiền mật mã cần đăng nhập vào mạng các chủ sở hữu ví tiền mật mã của loại tiền mà họ cùng tham gia. Sau đó có thể thao tác, trong đó có việc thực hiện một giao dịch tiền mật mã.

Độ an toàn mật mã tại khâu này phụ thuộc vào độ an toàn của cặp khóa bí mật – công khai và cách cài đặt sử dụng chúng. Nếu cài đặt chứng thư số sử dụng USB Token với cặp khóa bí mật – công khai an toàn (tham số đủ lớn và thuật toán sinh tham số, ký số, mã hóa đủ an toàn), thì ví tiền mật mã luôn an toàn. Ngược lại, nếu việc lưu trữ và sử dụng khóa bí mật kém an toàn, thì tồn tại rủi ro và có thể bị chiếm dụng ví tiền.

Khâu thứ hai của an toàn mật mã chính là bản thân Blockchain hay là sổ cái trên Internet. Giải pháp bảo vệ toàn vẹn sổ cái này là cây Merkle. Tính toàn vẹn của kiến trúc cây Merkle và của từng khối được bảo vệ bởi hàm băm mật mã. Đối với Bitcoin thì hàm băm sử dụng là SHA-256, để tạo ra và kiểm tra hợp lệ của mỗi Block. Độ khó của việc nghịch đảo hàm băm, tức là cho biết giá trị băm đầu ra, thì việc tìm lại một chuỗi đầu vào để cho ra giá trị băm này là bài toán rất khó và chỉ có cách lấy các chuỗi đầu vào ngẫu nhiên khác nhau rồi thử cho đến khi có được đầu ra mong muốn. Đối với hàm băm SHA-256 đầu ra có 256 bit, thì cần thử trung bình 2^255 lần là điều không tưởng đối với một máy tính thông thường, hoặc thậm chí với cụm máy chủ cực mạnh cùng công nghệ phần cứng hiện đại nhất hiện nay.

Để bảo vệ tính toàn vẹn và không lặp lại của các giao dịch có trong một Block, cũng như kiến trúc của cây Merkle, người ta lấy làm đầu vào của hàm băm SHA-256 các nội dung giao dịch, giá trị băm của khối gốc cây Merkle, số thứ tự của Block tính ngược trở lại đến Block gốc, tem thời gian của các giao dịch hay lúc tạo ra Block và đặc biệt là giá trị băm của Block đứng ngay trước của Block đang được tạo ra.

Một phần thông tin quan trọng nữa là giá trị Nonce ngẫu nhiên dùng một lần bắt đầu từ 1 trở đi. Đối với Bitcoin thì Nonce này có độ dài 4 byte (hay 32 bit). Mỗi lần toàn bộ thông tin này được cho qua hàm băm để xem đầu ra hàm băm có hợp lệ không, thì Nonce được tăng lên một đơn vị. Làm như vậy để cho dữ liệu đầu vào hàm băm luôn khác nhau, không lặp lại và đầu ra hàm băm sẽ thay đổi rất nhiều, mặc dù đầu vào có thay đổi nhỏ.

Giá trị Nonce và dữ liệu đầu vào khác giúp tạo đầu ra hợp lệ sẽ được lưu trữ cùng với các nội dung giao dịch trong Block để khẳng định tính hợp lệ của Block. Như chúng ta đã thấy nếu lấy đầu ra hợp lệ của hàm băm SHA-256 thì cần thử đến 2^255 giá trị ngẫu nhiên là điều vô vọng đối với sức mạnh tính toán của chúng ta hiện nay. Chính vì vậy, người ta đặt một ngưỡng hợp lệ cho đầu ra của hàm băm gọi là độ khó (Difficulty) để sao cho có thể tìm ra giá trị đầu ra hợp lệ trong thời gian hợp lý nếu sử dụng một lực lượng tính toán của những người tham gia đào mỏ hiện hành. Đối với Bitcoin thì ngưỡng độ khó là một đầu ra 256 bit, tức là 64 chữ số viết dưới dạng cơ số Hexa với 11 chữ số Hexa đứng đầu bằng không. Những đầu ra hàm băm nào mà nhỏ hơn Difficulty này sẽ là hợp lệ và Nonce tương ứng sẽ giúp tạo ra Block hợp lệ. Như vậy, nếu trung bình duyệt khoảng 2^44 lần khác nhau sẽ tìm ra được một Block hợp lệ, vì mỗi chữ số Hexa có độ dài 4 bit, nên 11 chữ số sẽ có độ dài 11 x 4 = 44. Đối với Bitcoin và năng lực tính toán của các thợ đào mỏ hiện nay thì duyệt 2^44 lần sẽ cần đến thời gian khoảng 10 phút. Độ khó của ngưỡng có thể điều chỉnh theo từng giai đoạn sử dụng Bitcoin sao cho thời gian tìm ra đầu ra hàm băm hợp lệ cho Block là luôn luôn vào khoảng 10 phút.

Một mâu thuẫn có thể nhận ra là, Nonce chỉ có 32 bit, nên số khả năng của Nonce chỉ là 2^32, trong khi cần tìm ra đầu ra hợp lệ của hàm băm cần đến 2^44 lần duyệt. Như vậy, chắc chắn sẽ có Block mà chúng ta duyệt toàn bộ các khả năng của Nonce vẫn không tìm ra đầu ra hợp lệ. Trong trường hợp này, người ta phải điều chỉnh thông tin đầu vào cho khác đi, nhưng không ảnh hưởng đến các nội dung giao dịch và duyệt lại Nonce bắt đầu từ 1 cho đến khi tìm ra đầu ra hàm băm hợp lệ.

Việc thực hiện tìm ra đầu ra hợp lệ cho mỗi Block thuộc về các thợ đào mỏ là cơ sở đầu tư nhiều máy tính mạnh, hoặc dàn (Pool) máy tính mạnh, thậm chí là các thiết bị tính toán mạnh như các card đồ họa GPU, công nghệ FPGA hay ASIC tổ chức các máy chủ thành các Pool tính toán. Các loại phương tiện này có thể tính phân tán rất hiệu quả đối với việc đảo ngược hàm băm SHA-256.

Mỗi khi hình thành nên một Block gồm nhiều giao dịch thì các chủ sở hữu ví tiền mật mã đóng gói và gửi cho các thợ đào mỏ nhờ họ thử đảo ngược hàm băm. Thông tin Block được gửi đến tất cả các thợ đào mỏ, đồng thời để họ duyệt thử phân tán và độc lập với nhau. Thợ đào mỏ nào tìm được đầu ra hàm băm hợp lệ đầu tiên thì báo cho các chủ sở hữu ví tiền mật mã để họ kiểm tra lại và đồng thuận ghi vào sổ cái Blockchain. Thợ đào mỏ tìm ra giá trị đầu ra hợp lệ được thưởng một số BTC theo quy định. Các thợ đào mỏ khác dừng đào đối với Block này và đi đào các Block tiếp theo.

Một khi sổ cái được cập nhật bởi các Block hợp lệ, thì chúng được đảm bảo toàn vẹn mãi mãi trừ khi có tấn công dỡ bỏ các Block hợp lệ để thay bằng các Block giả được các chủ sở hữu ví tiền mật mã câu kết làm cho hợp lệ gọi là tấn công 51%. Tấn công này giúp các chủ sở hữu ví tiền mật mã không trung thực cấu kết với nhau, tạo ra các Block giả hợp lệ trong đó có thể đưa vào nhiều lần các nội dung của cùng một giao dịch. Hậu quả là có ví tiền chỉ tiêu tiền một lần nhưng phải trả tiền nhiều lần.

Những người nghĩ ra tiền mật mã đã tiên liệu trước điều này, nên khi cập nhật các Block mới vào sổ cái, họ đã đặt điều kiện là nếu các Block được tìm ra đầu ra hàm băm hợp lệ hầu như đồng thời thì sẽ tạo ra rẽ nhánh trên Blockchain thành hai hay nhiều nhánh. Sau đó, kiểm tra xem nhánh nào dài hơn thì được giữ lại chính thức trên sổ cái, còn nhánh ngắn hơn sẽ bị xóa bỏ.

Có thể hiểu rằng, nhóm các chủ sở hữu ví tiền mật mã câu kết nhau để lừa đảo nếu muốn thành công thì cần phải tạo ra một nhánh Blockchain có năng lực tính toán cao hơn nhánh còn lại của những chủ sở hữu ví tiền mật mã trung thực. Tức là họ cũng sử dụng một lực lượng thợ đào mỏ có năng lực cao hơn năng lực của các thợ đào mỏ của các chủ sở hữu ví tiền trung thực (để đảm bảo năng lực phải chiếm đa số là 51% - so với 49% năng lực của bên còn lại). Có như vậy mới có xác suất thành công tạo ra nhánh Blockchain dài hơn so với nhánh Blockchain trung thực.

Do tính chất tạo ra Blockchain, nên các Block sau không thể tính trước được nếu chưa có các Block đứng trước. Do đó hai nhánh câu kết và trung thực phải cùng sinh ra các Block tiếp theo trong nhánh Blockchain của mình. Bên nào có năng lực tính toán mạnh hơn thì bên đó sẽ có cơ hội tìm ra được Bock hợp lệ nhanh chóng hơn.

Như vậy không có nghĩa là tấn công 51% đã không xảy ra với loại tiền mật mã nào đó. Vào tháng 5/2018, loại kỹ thuật lừa đảo tiêu tiền hai lần đã được sử dụng chống lại tiền điện tử Bitcoin Gold là loại tiền mật mã lớn thứ 26 để lừa gạt hàng triệu đô la.

Về mặt lý thuyết kẻ tấn công 51% có thể làm giả cả một Blockchain nếu chúng tấn công vào ngay Block gốc của Blockchain. Tuy nhiên, trên thực tế ứng dụng thì chưa thể xảy ra được. Bitcoin chủ yếu xảy ra lừa đảo đánh cắp khóa bí mật của ví tiền rồi đóng giả chủ sở hữu để thực hiện giao dịch chuyển tiền hợp lệ sang ví tiền của chúng.

4. Tương lai của công nghệ Blockchain

Có thể kết luận rằng, nếu mật mã an toàn, việc cài đặt không có các sai sót và các chủ sở hữu ví tiền mật mã trung thực, thì Blockchain đảm bảo an toàn giao dịch trong ứng dụng thực tế.

Các tấn công sẽ nhằm vào các cài đặt tiền mật mã cụ thể và nhằm vào việc sử dụng tiền mật mã không đúng cách để tấn công gây tổn thất. Ngoài ra, công nghệ Blockchain cũng cần hoàn thiện cả phần cứng và phần mềm để có tính ứng dụng cao và kháng các tấn công tiềm năng. Các kỹ thuật mật mã cũng cần thay đổi phù hợp với các phát triển của mật mã và phân tích mật mã.

Nhìn xa hơn, đối với Blockchain chúng ta sử dụng thuật toán Proof-of-Work hay bằng chứng công việc giúp các thợ mỏ giải quyết các phương trình toán học. Có nhiều cách giải quyết nhưng hệ thống chỉ chọn ra đáp án tối ưu là giá trị đầu ra hàm băm hợp lệ đầu tiên. Như vậy, Blockchain không thể đánh lừa vì nó sở hữu danh sách các đáp án hợp lệ.

Tấn công 51% sẽ xảy ra khi một thợ đào mỏ hay một Pool thợ mỏ kiểm soát được 51% năng lực tính toán trong mạng lưới, họ sẽ thao túng toàn bộ giao dịch và lừa đảo. Điều này giúp cho thuật toán Proof-of-Stake hay bằng chứng cổ phần ra đời. Một khi chiếm hữu 51% cổ phần nguồn cung một loại tiền mật mã cụ thể, thì sẽ không bị tấn công nữa, trừ khi họ tự tấn công chính mình. Proof-of-Stake là hệ thống công bằng hơn Proof-of-Work, khi mọi chủ sở hữu ví tiền đều có thể trở thành thợ mỏ và ai sở hữu tỷ lệ lưu lượng tiền nào thì có quyền khai thác từng ấy số % tất cả các giao dịch. Như vậy, Proof-of-Stake sẽ là tương lai của Blockchain.

Trong tương lai, Blockchain không chỉ ứng dụng trong tiền mật mã mà còn ứng dụng hiệu quả trong nhiều lĩnh vực đời sống khác nhau: y tế, nông nghiệp, vận tải hàng hóa, tài chính ngân hàng,…

Tài liệu tham khảo

[1] Michele D’Aliessi. How Does the Blockchain Work? Blockchain technology explained in simple words. 2017.

[2] Kai Sedgwick. Blockchain basics for everyone: How does it work exactly? 2018.

[3] Shaan Ray. Blockchain Forks. 2017.

[4] Piotr Piasecki. Design and security analysis of Bitcoin infrastructure using application deployed on Google Apps Engine. Master Thesis. 2012.

[5] Mauro Conti et als. A Survey on Security and Privacy Issues of Bitcoin. 2017.