Có bao giờ bạn thắc mắc vì sao một ví cứng có thể nhanh chóng phê duyệt giao dịch với hàng chục UTXO trong khi một số ví khác cùng loại lại khó phê duyệt giao dịch với dung lượng chỉ vài UTXO?  Tất cả được quyết định bởi khối lượng ký Bitcoinsigning mass. Vậy signing mass là gì? Làm sao để giúp 1 UTXO đẩy nhanh thời gian ký giao dịch? Hãy đọc kỹ bài viết bên dưới nhé! 

Signing mass là gì và nó ảnh hưởng như thế nào đến tốc độ xử lý giao dịch?
Signing mass là gì và nó ảnh hưởng như thế nào đến tốc độ xử lý giao dịch?

Signing mass là gì?

Trong quá trình nghiên cứu, chúng tôi đã phát hiện ra rằng: thời gian xác nhận giao dịch của ví cứng không chỉ phụ thuộc vào số lượng UTXO được gửi và số lượng địa chỉ nhận mà nó còn liên quan đến các giao dịch trước đó mà UTXO đã từng đến. Điều này được gọi là signing mass “khối lượng ký”.

Hiểu một cách đơn giản, signing mass là số lần UTXO đó được xử lý trước khi ký giao dịch. Các UTXO đã được xử lý qua nhiều công đoạn sẽ mất nhiều thời gian hơn để phê duyệt giao dịch.

Ví dụ: 1 UTXO được bảo mật đa chữ ký 2/3 thì sẽ tốn nhiều thời gian và công sức để phê duyệt giao dịch hơn so với 1 UTXO thông thường.

Signing mass là số lần UTXO được ký trước đó
Signing mass là số lần UTXO được ký trước đó

>>> Xem thêm: UTXO bitcoin là gì? Tác động của nó đến phí giao dịch và quyền riêng tư

Tại sao một số UTXO khó ký hơn?

Để hiểu lý do tại sao 2 UTXO trông giống nhau lại có thể có khối lượng ký khác nhau, trước tiên, chúng ta cần hiểu phương pháp đường vòng mà ví phần cứng sử dụng để xác minh số tiền đầu vào mà không cần kết nối internet và mức độ phức tạp của giao dịch giữa các phương thức nhận bitcoin khác nhau.

Dữ liệu UTXO đầu vào càng nhiều – càng mất thời gian xử lý giao dịch

Đối với bất kỳ giao dịch nào, việc xác minh số lượng bitcoin được gửi đi là vô cùng quan trọng. Nếu không, một lượng lớn bitcoin của bạn có thể vô tình được trả cho các thợ đào. Tại sao? Bởi vì các khoản phí mà những người khai thác phải trả không được nêu rõ trong giao dịch, nhưng được tính ngầm bằng cách trừ giá trị của đầu ra khỏi giá trị của đầu vào. Do đó, nếu 2 con số có sự chênh lệch lớn thì mức phí thu cũng sẽ lớn.

Ví dụ, nếu bạn có các UTXO tổng cộng 0.8 BTC và bạn muốn gửi 0.3 BTC cho ai đó. Nếu bạn không gửi số bitcoin còn lại (0.5 BTC) cho chính mình như dạng tiền thối lại, các thợ đào có thể lấy 0.5 BTC đó dưới dạng một phần phí mà họ kiếm được.

Nhưng đừng lo! Tất cả các công cụ bitcoin hiện đại và đáng tin cậy đều bao gồm các cơ chế an toàn tự động. Vì vậy việc mắc lỗi này khá khó (nếu không muốn nói là không thể). Quy trình có thể đơn giản như tìm kiếm trên blockchain để xác minh số lượng đầu vào và so sánh tổng số của chúng với tổng số lượng đầu ra để xác định xem phí có hợp lý hay không.

Tuy nhiên, ví cứng được thiết kế để hoạt động độc lập với internet. Và bạn biết đấy, nếu không có internet hoặc kết nối với node thì không thể quan sát blockchain. Do đó, hầu hết các ví cứng phải sử dụng một phương pháp thay thế để xác minh số lượng đầu vào. Về cơ bản, thiết bị không chỉ cần nhập thông tin mô tả giao dịch mà nó sẽ ký, mà còn cần nhập lịch sử của từng đầu vào và nguồn gốc của nó.

Nói cách khác, đối với mỗi UTXO đang di chuyển, thiết bị sẽ muốn kiểm tra lại chi tiết giao dịch trước đó đã tạo ra UTXO. Nếu giao dịch trước đó phức tạp thì nó sẽ cần nhập nhiều dữ liệu hơn và điều này sẽ khiến tốc độ xử lý giao dịch diễn ra chậm hơn.

Độ phức tạp của giao dịch càng cao – thời gian ký càng chậm

Hầu hết mọi người nhận bitcoin vào ví của họ thông qua 3 cách sau: Từ một sàn giao dịch, từ một nhóm khai thác (mining pool) hoặc trực tiếp từ một người khác trong giao dịch ngang hàng (peer-to-peer). Giao dịch ngang hàng thường có độ phức tạp rất thấp và kết quả là các UTXO sẽ có signing mass tương đối nhỏ. 

Tuy nhiên, sàn giao dịch và nhóm khai thác thường phân phối tiền theo đợt, gửi bitcoin cho nhiều người cùng một lúc và trong cùng một giao dịch. Các giao dịch này phức tạp hơn và kết quả là các UTXO sẽ có signing mass cao hơn.

Tốc độ ký dựa vào khối lượng giao dịch
Tốc độ ký dựa vào khối lượng giao dịch

Dưới đây là nghiên cứu xu hướng phân phối của một số nhóm khai thác và sàn giao dịch phổ biến tại Mỹ. Số lượng đầu ra cho biết số người nhận bitcoin trong mỗi giao dịch. Số lượng cao hơn có nghĩa là độ phức tạp giao dịch và người nhận có khối lượng giao dịch lớn hơn.

Những con số này là xấp xỉ tại thời điểm viết bài và có thể thay đổi tùy theo cách mỗi nhóm hoặc sàn giao dịch thực hiện phân phối trong tương lai.
Những con số này là xấp xỉ tại thời điểm viết bài và có thể thay đổi

Lưu ý rằng signing mass UTXO của các nhóm khai thác (mining pools) thường lớn hơn so với các sàn giao dịch, và một số nhóm khai thác như F2Pool có signing mass UTXO cực kỳ lớn. Do đó, nếu bạn nhận được một UTXO trực tiếp từ khoản thanh toán F2Pool, thì UTXO đó có thể khiến một số ví phần cứng gặp khó khăn khi ký kết giao dịch.

Một số lưu ý về Segwit và một số lỗ hổng BIP 143

Năm 2017, đã xảy ra một sự thay đổi trong quá trình ký cho các giao dịch SegWit. Yêu cầu đưa ra là phải có signing mass UTXO đầu vào đã được sử dụng để ký giao dịch mới được phê duyệt giao dịch. Nhờ đó, bất kỳ hành vi lừa đảo nào để lấy phí cao một cách vô lý sẽ được ngăn chặn. Hầu hết các nhà sản xuất ví phần cứng đã thực hiện điều này bằng cách loại bỏ kiểm tra an toàn của số tiền nhập vào và đơn giản hóa quá trình ký cho các giao dịch SegWit.

Tuy nhiên, vào giữa năm 2020, một lỗ hổng đã được phát hiện trong BIP 143, khiến nhiều nhà sản xuất ví phần cứng quyết định tái kiểm tra an toàn số tiền nhập vào cho các giao dịch SegWit. Tại thời điểm viết bài, kiểm tra an toàn số tiền đầu vào vẫn là một quy trình bình thường trong quá trình ký ví phần cứng. Có một số cuộc thảo luận trong cộng đồng về những thay đổi trong tương lai có thể loại bỏ hiệu quả hơn nhu cầu kiểm tra an toàn số tiền đầu vào, chẳng hạn như đưa ra các khoản phí rõ ràng trong mỗi giao dịch thay vì ngầm định.

r/Bitcoin - How everyone feels right now.
Từng có một lỗ hổng được phát hiện trong BIP 134

Làm sao để tăng tốc độ ký giao dịch của UTXO?

Nếu bạn đang nắm giữ một UTXO đã được chuyển từ một ví khác hoặc đã nhận được từ một giao dịch ngang hàng (peer-to-peer) thì đó là một giao dịch đơn giản. UTXO sẽ ít signing mass hơn và nhanh chóng được phê duyệt khi ký giao dịch trong tương lai. Ngược lại, nếu bạn nhận được một UTXO trực tiếp từ một nhóm đào (mining pool), đặc biệt là nhóm đào có phân phối rất lớn (như được thể hiện trong biểu đồ trước đó), bạn có thể thấy rằng UTXO đó sẽ khó ký hơn.

Lúc này, có 2 cách để đẩy nhanh tốc độ giao dịch của UTXO:

  • Thay vì chuyển nhiều UTXO cùng lúc, tốt nhất là bạn nên chia nhỏ giao dịch và di chuyển bitcoin của bạn theo từng phần. Mỗi phần sẽ chỉ chứa một phần dữ liệu và thiết bị của bạn sẽ có khả năng ký nhanh hơn.
  • Kiểm soát số lượng UTXO bạn đang nắm giữ và signing mass của những UTXO đó. Bạn có thể nhận UTXO từ một nhóm khai thác và ngay lập tức chuyển nó sang một ví hoặc địa chỉ khác mà bạn kiểm soát giống như một giao dịch ngang hàng. Lúc này, UTXO thu được tại địa chỉ mới sẽ có signing mass nhỏ hơn và ký giao dịch nhanh hơn.
Có 2 cách để tăng tốc độ ký UXTO
Có 2 cách để tăng tốc độ ký UXTO

Signing mass có ảnh hưởng đến phí giao dịch không?

Câu trả lời là không? Signing mass chỉ ảnh hưởng đến quá trình ký và sẽ không khiến giao dịch của bạn chiếm nhiều dữ liệu hơn trên blockchain. 

Như vậy, bạn sẽ không nhất thiết phải trả thêm phí giao dịch nếu bạn nhận được bitcoin từ nhóm khai thác như F2Pool.

Mong rằng, bài viết trên đây đã giúp bạn hiểu rõ khái niệm signing mass là gì và hiểu được tại sao UTXO của bạn lại mất nhiều thời gian hơn để ký giao dịch. Nếu có thông tin nào chưa rõ, hoặc muốn thảo luận thêm về UTXO, mời bạn liên hệ qua Telegram để được hỗ trợ nhanh nhé! 

Nguồn tham khảo: Unchained