Mimblewimble là gì? Công nghệ mới trong GRIN coin và BEAM coin

Mimblewimble là giao thức mới và dường như đang trở thành xu hướng trong thế giới cryptocurrency. Giao thức Mimblewimble được đánh giá là bộ khung (framework) hoàn hảo cho blockchain bởi ưu điểm về khả năng mở rộng (scalability), tính riêng tư (privacy), và khả năng thay thế (fungibility). 

Sự ra đời của giao thức Mimblewimble

Nếu là người hâm mộ truyện Harry Potter, chắc hẳn bạn sẽ không xa lạ với cụm “Mimblewimble”. Đây là một thần chú dùng để “bịt miệng” kẻ khác khi bạn muốn họ giữ kín một bí mật mà mình không muốn “bị mất”. Và, cha đẻ của giao thức công nghệ này có vẻ là một fan cuồng Cậu bé phù thuỷ thực sự vì người này đã dùng cái tên Tom Elvis Judisor (tên tiếng Pháp của Voldemort) khi lần đầu tiên công bố tài liệu mang tên Mimblewimble vào thứ hai ngày 1 tháng 8 năm 2016. Hôm đó, người này đã dùng tên majorplayer đăng nhập vào kênh IRC #bitcoin-wizards và chia sẻ file text này trong mạng ẩn danh TOR và sau đó biến mất hoàn toàn. Tài liệu này đã miêu tả chi tiết giao thức (protocol) mà có cả hai tính năng gọn nhẹ lẫn riêng tư bảo mật hơn so với các blockchain lúc bấy giờ.

Những ngày sau đó, hai người dùng nsh andytoshi (Andrew Poelstra) bắt đầu thảo luận về ý tưởng được đề xuất trong tài liệu MimbleWimble kể trên. Người viết ẩn danh này đã để lại một số câu hỏi chưa được trả lời trong tài liệu, cùng với sự thiếu chi tiết chung chung, nên còn nhiều điều để thảo luận.

Vào ngày 06 tháng 10 năm 2016, Andrew Poelstra đã xuất bản một bài Whitepaper về giao thức Mimblewimble, giới thiệu một số cải tiến cho đề xuất ban đầu và mô tả thêm các chi tiết kỹ thuật của nó.

Ngay sau khi bản whitepaper được công bố, vào ngày 20 tháng 10 năm 2016, thêm một người ẩn danh khác có tên là “Ignotus Peverell” (chủ nhân của chiếc Áo khoác Tàng hình trong Harry Potter) đã thông báo trên kênh IRC của bitcoin là anh ấy bắt đầu tạo một dự án ứng dụng giao thức Mimblewimble trên Github. Project đó chính là Grin. Grin phát hành mainnet vào ngày 15/1/2019. Và nhiều tháng sau đó, nhân vật Ignotus Peverell cũng ẩn mình.

Giao thức Mimblewimble là gì?

Mimblewimble sử dụng thuật toán mã hóa đường cong Elliptic (ECC – elliptic-curve cryptography). ECC yêu cầu key có độ dài ngắn hơn các loại thuật toán mã hoá khác.

Trong mạng lưới (network) đang sử dụng giao thức Mimblewimble, không một địa chỉ (address) nào được hiển thị, và dữ diệu trên mạng lưới sẽ được lưu trữ hiệu quả. Mimblewimble cần khoảng 10% yêu cầu lưu trữ dữ liệu của mạng lưới Bitcoin. Nhờ đó, Mimblewimble dễ dàng mở rộng hơn, hoạt động nhanh hơn, và ít tập trung hơn. Hơn nữa, bản chất của giao thức này cho phép thực hiện các giao dịch riêng tư và ẩn danh cao.

Mimblewimble hoạt động như thế nào?

Để hiểu rõ cách thức hoạt động của giao thức Mimblewimble, hãy chắc chắn rằng bạn đã hiểu rõ giao dịch Bitcoin, và cơ chế Bitcoin UTXO (unspent transaction output).

Có thể hiểu đơn giản là giao dịch Bitcoin được hình thành bởi nhiều input và output lấy từ người gửi tiền (sender) đến người nhận tiền (receiver). Nếu bạn kiểm tra giao dịch BTC gần đây, bạn sẽ thấy cả input và output được hiển thị trên blockchain explorer.

Hãy dùng ví dụ giao dịch 1 BTC giữa Gấu và Bò để hiểu rõ hơn về cách thức trên. Thay vì lấy một Bitcoin từ Gấu chuyển đến cho Bò (giống như giao dịch tiền pháp định Gấu -1, Bò +1), mạng lưới sẽ gom nhiều input từ các giao dịch trước đã được gửi đến cho Gấu, góp thành đủ giá trị 1 BTC rồi mới gửi đi cho Bò.

Như vậy, giao dịch xảy ra giữa Gấu và Bò có thể là:

Gấu: – (0.2 + 0.3 + 0.25 + 0.25) BTC  từ input A + B + C + D đến Gấu trước đó = gửi đi 1 BTC đến ví Bò;

Bò: + 1 BTC  = nhận được 1 BTC từ Gấu;

Trong giao dịch trên, 1 BTC của Gấu được tạo nên bởi 4 input. Tuy nhiên, có nhiều trường hợp trên mạng lưới Bitcoin mà một giao dịch được tạo nên bởi hàng trăm input. Hơn nữa, nếu tổng các input lớn hơn số lượng BTC cần cho giao dịch, sẽ có một output khác được tạo thêm. Theo đó, output đầu tiên sẽ chứa chính xác số lượng BTC cần gửi đi cho người nhận (receiver), và số BTC thừa (output tạo thêm) sẽ được gửi về lại cho người gửi (sender). Mỗi giao dịch như vậy cần được kí (sign) riêng lẻ, và mạng lưới cần phải tải một lượng cực lớn dữ liệu. Do đó, quy trình này được đánh giá là cồng kềnh và không hiệu quả.

Chính sự không hiểu quả của mô hình hiện tại đã tạo chỗ trống cho Mimblewimble ra đời.

Mimblewimble giúp tăng tính riêng tư cho giao dịch

Giao thức Mimblewimble sẽ giúp hệ thống hoạt động hiệu quả hơn nhờ vào việc loại bỏ input và output và thay vào đó là dùng Confidential Transaction (giao dịch bí mật). Nếu Gấu muốn chuyển cho Bò 1 đồng coin, cả Gấu và Bò cần tạo một key đa chữ kí (multisignature key) để xác thực giao dịch.

Confidential Transaction sử dụng cơ chế Pedersen Commitment, không hiển thị địa chỉ. Các bên tham gia vào một giao dịch sẽ chia sẻ với nhau một bản mã hoá gọi là nhân tố mù (blinding factor) từ input, output của giao dịch, cùng với public key và private key của người gửi và người nhận. Các node thực hiện mã hoá số tiền được giao dịch bằng cách tạo ra phương trình cân bằng từ input và output nhưng các node không hề biết số tiền trong giao dịch đó là bao nhiêu. Nhờ đó, tính riêng tư của giao dịch sẽ được nâng cao hơn.

Khía cạnh duy nhất cần được xác thực trong giao thức Mimblewimble là kiểm tra và đảm bảo không có coin mới nào được tạo ra và các bên tham gia giao dịch đều nắm giữ key của họ.

Các ví dụ dưới đây sẽ giúp bạn hiểu rõ hơn về quá trình dùng nhân tố mù (blinding factor) và xác thực trong Mimblewimble.

  1. 5+5=10 — 5+5-10=0 ;

Số dư ròng bằng 0, không có coin mới được tạo ra;

  1. 5(10)+5(10)=10(10)

Con số bí mật (10) là blinding factor được thêm vào phép toán và nhân với các biến số, giúp che đi giá trị ban đầu;

  1. 50+50=100

Phương trình này chứa blinding factor là số (10) của phương trình 2, và các giá trị được giữ riêng tư trong khi vẫn cho phép xác thực không có coin mới được tạo ra.

Nhân tố mù trong giao thức Mimblewimble là sự pha trộn giữa public key và private key. Do đó, bên cạnh việc chứng minh không có coin mới được sinh ra trong giao dịch, các bên gửi (sender) và nhận (receiver) tiền còn cần chứng minh quyền sở hữu các key này.

Các bên tham gia giao dịch được nhận một tiêu đề đa chữ kí ở cuối giao dịch. Đó chính là tổng hợp input và output đã được gộp vào giao dịch đó.

Mimblewimble giúp tăng khả năng mở rộng

Một trong những chức năng của Mimblewimble giúp mang lại hiệu quả về khả năng mở rộng là “Cut Through”. Trên blockchain hiện tại, một block đơn chứa hàng trăm giao dịch và vô số thông tin luôn cần được lưu trữ. Tuy nhiên, các blockchain này có thể được nén qua chức năng Cut Through. Theo đó, một lượng lớn thông tin có thể được dịch chuyển khỏi block mà không gây ảnh hưởng đến tính bảo mật của blockchain.

Hãy xem qua ví dụ bên dưới:

  1. Gấu chuyển 1 BTC cho Bò
  2. Bò chuyển 1 BTC cho bạn gái Bò, gọi là Bò Hồng

Trong trường hợp này, một block điển hình sẽ chứa hai UTXO. UTXO thứ nhất gồm các input hình thành nên 1 BTC mà Gấu đang có để chuyển đi cho Bò. Output của UTXO thứ nhất chính là kết quả của giao dịch, xác thực 1 BTC bây giờ là của Bò. UTXO thứ hai gồm output của UTXO thứ nhất, bây giờ là input của UTXO thứ hai và output của giao dịch thứ hai gửi đến Bò Hồng.

Như vậy, Mimblewimble loại bỏ output của giao dịch thứ nhất và input của giao dịch thứ hai. Ví dụ trên chỉ còn 1 input và 1 output xác thực Gấu có 1 BTC và Bò Hồng nhận được 1 BTC.

Chức năng nén kích thước blockchain giúp Mimblewimble lưu trữ dữ liệu được “nhẹ nhàng”, “dễ thở” hơn, và tăng được khả năng mở rộng.

Grin và Beam ứng dụng Mimblewimble

Đến nay, có hai dự án coin kháng ASIC đã ứng dụng giao thức Mimblewimble, gồm Grin và Beam. Grin được phát triển từ cuối năm 2016 và phát hành maninet vào ngày 15.1.2019. Beam cũng đang chạy trên mainnet.

Tuy cùng sử dụng giao thức Mimblewimble để tăng tính riêng tư, bảo mật và khả năng mở rộng, nhưng Grin và Beam có nhiều điểm khác biệt. Hai dự án này khác nhau từ ngôn ngữ lập trình, cấu trúc quản lý, đối tượng nhắm đến, mining, mô hình hoạt động….

Bạn hãy tìm hiểu chi tiết về Grin (Grin Coin) và Beam (Beam Coin) tại hai bài viết bên dưới:

Đặc biệt, với giao thức Mimblewimble, Grin và Beam đang được đặt lên bàn cân với các cryptocurrency ẩn danh và riêng tư cao hơn so với Dash, Monero, Zcash.

Kết luận

Với những chức năng nổi bật trên, các dự án sử dụng Mimblewimble được kì vọng sẽ loại bỏ những khuyết điểm mà blockchain hiện tại đang đối mặt. Đồng thời, Mimblewimble mở ra kì vọng mới cho thế hệ những loại tiền mã hoá có tính riêng tư, và ẩn danh hơn.

Bài viết lấy từ tiendientu.org

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Related Posts