Cardano có tính năng đa ủy quyền
Ngày 19 tháng 09 năm 2023 - Chia sẻ bài viết này trên Twitter | Facebook | Telegram
Ví Lace cho phép người dùng ủy quyền ADA cho nhiều pool từ một tài khoản. Chức năng tương tự có thể đạt được bằng cách tạo nhiều tài khoản, đây hiện là một phương pháp phổ biến. Trong bài viết này, chúng tôi sẽ giải thích tính khả thi của việc đa ủy quyền về mặt kỹ thuật.
Việc ủy quyền đa pool về bản chất là bạn chia số ADA trong tài khoản của bạn để ủy thác cho nhiều pool. Ủy quyền đa pool KHÔNG phải là bạn có thể ủy thác cùng một số ADA cho nhiều pool để nhận về được nhiều phần thưởng hơn.
Ví chỉ là công cụ tạo và giữ key
Khi người dùng tạo ví không giám sát, các seed ngẫu nhiên mới (cụm mật khẩu) sẽ được tạo và họ được nhắc giữ ví cẩn thận và an toàn. Từ mật khẩu seed, ví lấy được tất cả các khóa khác cần thiết để nhận và gửi tiền cũng như để stake. Mọi thứ diễn ra ở chế độ nền (ẩn) nên người dùng chỉ làm việc với các giao dịch và địa chỉ Blockchain. Thật tốt khi hiểu được ví Cardano lấy được khóa từ seed như thế nào.
Trong hình ảnh bên dưới, bạn có thể thấy cấu trúc phái sinh chính bắt đầu bằng seed. Các phím màu đỏ đại diện cho các khóa riêng tư/ký và các phím màu xanh lá cây là các khóa công khai/xác minh.
Seed là một chuỗi các từ ngẫu nhiên mà từ đó khóa chính (master key) được tạo ra. Nó được sử dụng để tạo các khóa mật mã khác. Seed có thể được sử dụng để khôi phục ví. Nếu bạn biết seed, bạn có thể lấy lại cùng một bộ khóa từ seed nếu bạn làm theo quy trình tương tự (điều này được đảm bảo thông qua tiêu chuẩn hóa). Khóa chính là cấp cao nhất của cấu trúc ví xác định Phi tập trung (HD - hierarchical deterministic).
Khóa chính có thể được sử dụng để lấy nhiều tài khoản, mỗi tài khoản có bộ địa chỉ và khóa riêng. Tài khoản cũng là một cặp khóa đại diện cho cổ phần của bạn trong mạng và cho phép bạn ủy quyền nó cho một pool.
Một tài khoản có thể có nhiều địa chỉ và khóa stake, đây cũng là những cặp khóa được lấy từ khóa tài khoản với các vai trò khác nhau.
Địa chỉ được sử dụng để nhận và gửi tiền. khóa công khai (public key) được sử dụng để tạo địa chỉ, trong khi khóa riêng (private key) được sử dụng để ký các giao dịch và do đó chứng minh quyền sở hữu số tiền.
Khóa stake được sử dụng bởi cả người stake và người vận hành pool. Trong trường hợp người stake, địa chỉ stake được lấy từ khóa stake. khóa riêng được sử dụng để thực hiện quyền ủy quyền.
Người vận hành pool cũng sử dụng khóa stake để tạo địa chỉ cổ phần và ID pool. ID pool là hàm băm của khóa stake công khai.
Địa chỉ stake của người dùng được chèn vào chứng chỉ ủy quyền làm nguồn ADA được ủy quyền cho pool được xác định bằng ID pool. Chứng chỉ ủy quyền liên kết địa chỉ stake với khóa cổ phần của pool.
Địa chỉ stake được cả người stake và nhà điều hành sử dụng để lưu trữ và rút phần thưởng stake (thông qua khóa riêng).
Bây giờ, hãy tập trung chủ yếu vào ví của người dùng.
Trong một tài khoản, ví thường chỉ tạo một khóa stake và sử dụng hàm băm của khóa stake công khai để chèn nó vào tham chiếu của tất cả các địa chỉ thanh toán. Nói cách khác, tất cả các địa chỉ thanh toán đều chứa cùng một tham chiếu đến khóa stake.
Trong hình bên dưới, bạn có thể thấy một tài khoản có ba địa chỉ thanh toán (địa chỉ thanh toán Shelley) có tham chiếu địa chỉ cổ phần tham chiếu đến cùng một hàm băm được lấy từ một khóa stake duy nhất. Lưu ý rằng địa chỉ cổ phần chứa tài khoản phần thưởng.
Bằng cách này, người dùng có thể ủy quyền cổ phần của họ cho một pool và chỉ có một chứng chỉ duy nhất và tất cả địa chỉ thanh toán của họ sẽ tuân theo cùng một lựa chọn ủy quyền. Điều này cũng đơn giản hóa việc quản lý khóa và địa chỉ vì người dùng chỉ cần theo dõi một khóa stake và một chứng chỉ ủy quyền cho ví của họ. Người dùng có thể tạo nhiều địa chỉ thanh toán mới và tất cả ADA trên các địa chỉ này sẽ tự động được sử dụng để stake (ngay sau khi chụp snapshot tiếp theo).
Cổ phần là số lượng ADA được liên kết với khóa stake và được ủy quyền cho stake pool. Số tiền stake được tính bằng cách tổng hợp tất cả UTxO trên các địa chỉ thanh toán được liên kết với cùng một khóa stake. Ví tự động chèn cùng một khóa stake vào các địa chỉ thanh toán mới được tạo.
Tuy nhiên, điều này cũng có nghĩa là người dùng không thể ủy quyền các phần cổ phần khác nhau của họ cho các pool khác nhau từ cùng một ví, vì họ sẽ cần tạo nhiều khóa và chứng chỉ stake cho mục đích đó. Chúng ta sẽ nói nhiều hơn về điều này trong phần tiếp theo của bài viết.
Ủy quyền ADA tới nhiều pool
Ví Lace cho phép đa ủy quyền thông qua một tài khoản. Lace tạo ra nhiều khóa cổ phần từ cùng một khóa tài khoản và nhiều địa chỉ thanh toán. Nhiều khóa stake (mã băm của chúng) được liên kết với các địa chỉ thanh toán khác nhau.
Một địa chỉ thanh toán chỉ có thể được liên kết với một khóa stake. Nhiều địa chỉ thanh toán có thể được liên kết với cùng một khóa stake.
Trong hình bên dưới, bạn có thể thấy 2 khóa stake và 2 khóa thanh toán được lấy từ một khóa tài khoản như thế nào. Chú ý các liên kết giữa các phím. Mỗi địa chỉ thanh toán được liên kết với một khóa stake duy nhất.
Nếu khóa stake và khóa thanh toán mới được tạo (chỉ mục 1 trong ảnh của chúng tôi) trong ví hiện có, sẽ không có đồng ADA nào trên địa chỉ thanh toán. Ví phải tạo giao dịch chuyển một phần ADA (UTxO) từ địa chỉ đã được ủy quyền (địa chỉ thanh toán cũ có chỉ số 0 trong ảnh của chúng tôi) sang địa chỉ mới và tạo chứng chỉ ủy quyền mới cho khóa stake mới.
Bây giờ người dùng có thể chọn hai pool (hai ID pool) mà mình muốn ủy quyền. Ví sẽ thực hiện tất cả các bước cần thiết và tạo tất cả các giao dịch cần thiết.
Nhờ thực tế là một tài khoản duy nhất được sử dụng cho nhiều ủy quyền nên quyền biểu quyết không bị gián đoạn.
Điều tương tự có thể đạt được bằng cách tạo nhiều tài khoản. Mỗi tài khoản có một khóa stake riêng cho nhiều địa chỉ thanh toán.
Trong hình bên dưới, bạn có thể thấy 2 khóa tài khoản được tạo ra như thế nào từ một khóa chính (về cơ bản là hai tài khoản người dùng độc lập). Mỗi tài khoản có khóa stake riêng cho địa chỉ thanh toán (trong đó có thể có nhiều hơn).
Chứng chỉ ủy quyền phải được tạo và gửi lên mạng cho mỗi tài khoản.
Cạm bẫy
Nếu bạn định ủy quyền cho nhiều pool, có một số cạm bẫy cần lưu ý. Hãy xem xét rằng bạn cân bằng số tiền stake của mình theo cách chia 1000 ADA thành 5 pool, 200 ADA sẽ được ủy quyền cho mỗi pool.
Bạn có thể nhận ADA tại một địa chỉ tại một thời điểm. Nếu ai đó gửi cho bạn thêm 200 ADA vào tài khoản, sẽ có một pool được nhận ủy quyền 400 ADA và các pool còn lại vẫn chỉ nhận ủy quyền là 200 ADA cho tất cả những người khác. Nếu bạn muốn cân bằng lại danh mục đầu tư stake, bạn sẽ phải thực hiện thủ công. Có thể ví của bạn sẽ giúp bạn điều đó.
Nếu bạn gửi cho ai đó 100 ADA, ví có thể lấy ADA từ một địa chỉ duy nhất, và sẽ một pool nào đó chỉ còn ủy quyền 100 ADA, các pool còn lại vẫn nhận ủy quyền là 200 ADA. Về mặt lý thuyết, ví có thể lấy UTxO từ 5 địa để giảm số tiền stake trên mỗi pool xuống 20 ADA. Nhưng giao dịch sẽ nhiều hơn và phí sẽ cao hơn. Mỗi ví có thể cung cấp các tùy chọn khác nhau liên quan đến việc lựa chọn địa chỉ.
Một số dApps dựa vào việc người dùng chỉ có một khóa stake (họ xác minh ví thông qua khóa stake và có thể yêu cầu chữ ký bằng khóa stake) và có thể không hỗ trợ nhiều khóa stake. Một dApps có thể không nhìn thấy toàn bộ danh mục đầu tư của bạn.
Lời kết
Đa ủy quyền có lợi cho những người dùng muốn hỗ trợ nhiều pool nhưng không muốn tạo nhiều seed cho ví (và chuyển ADA giữa chúng). Nhiều ví hỗ trợ tạo nhiều tài khoản. Ví Lace cho phép tạo ra nhiều khóa stake trong một tài khoản. Đây là một tính năng tương đối mới trong hệ sinh thái.
Nếu bạn bắt đầu với nhiều ủy quyền, hãy trung thành với ví bạn đã bắt đầu sử dụng. Nếu bạn muốn sử dụng một ví khác, hãy đảm bảo rằng nó hỗ trợ cùng loại ủy quyền mà bạn đã bắt đầu sử dụng. Ví dụ: nếu bạn sử dụng Lace và ủy quyền cho 5 pool, bạn có thể không ủy quyền lại được trong các ví khác. Tuy nhiên, chúng tôi tin rằng hầu hết các ví sẽ bắt đầu hỗ trợ nhiều khóa stake trong một tài khoản.
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới