Giảm giá của nhân chứng: Một số byte rẻ hơn những byte khác

Nâng caoJan 01, 2024
Bài viết này phân tích lý do tại sao nên giảm giá cho những xác nhận này và liệu chúng ta có nên loại bỏ khoản giảm giá đối với dữ liệu nhân chứng bằng một soft fork hay không.
Giảm giá của nhân chứng: Một số byte rẻ hơn những byte khác

Năm nay đã chứng kiến sự gia tăng lớn về nhu cầu về không gian hạn chế có sẵn trong các khối bitcoin, dẫn đến phí giao dịch trên chuỗi cao hơn. Phần lớn nhu cầu là về các giao dịch tiết lộ chữ khắc. Nội dung của những dòng chữ này được tiết lộ như một phần của dữ liệu nhân chứng1 của giao dịch bitcoin. Dữ liệu nhân chứng1 này được giảm giá xuống còn 1/4 chi phí của dữ liệu giao dịch khác. Tại sao chúng tôi lại giảm giá cho những dòng chữ này? Chúng ta có nên giảm nhẹ phần chiết khấu cho nhân chứng không?

Tại sao một số byte lại rẻ hơn các byte khác?

Tiền nói chung và bitcoin nói riêng hoạt động dựa trên sự khuyến khích của con người. Bitcoin điều chỉnh các ưu đãi của người khai thác và người giao dịch thông qua việc sử dụng mã thông báo bitcoin gốc để trả tiền cho người khai thác để đưa các giao dịch cụ thể vào các khối mà họ xây dựng. Điều tương tự không thể nói về việc sắp xếp các ưu đãi của người chạy nút với người khai thác và người giao dịch, cũng như việc sắp xếp các ưu đãi giữa người gửi và người nhận.

Cho đến nay, đã có 3 cải tiến lớn đối với sự liên kết khuyến khích của bitcoin:

  1. Giới hạn kích thước khối

  2. Chuyển chi phí của các tập lệnh phức tạp từ người gửi sang người nhận (P2SH)

  3. Căn chỉnh chi phí dữ liệu giữa người chạy nút và người giao dịch (SegWit)

GIỚI HẠN KÍCH THƯỚC KHỐI

Người giao dịch muốn thực hiện nhiều giao dịch và người khai thác muốn thu nhiều phí giao dịch; nhưng người chạy nút phải chuyển tiếp, xác minh và lưu trữ tất cả dữ liệu giao dịch đó và họ không được trả thù lao như những người khai thác khi làm như vậy. Trong lịch sử của bitcoin, Satoshi đã nỗ lực giải quyết vấn đề này bằng cách thêm giới hạn kích thước khối cố định (được thực thi bởi các nút). Giới hạn là 1 triệu byte mỗi khối và đặt giới hạn trên cho lượng dữ liệu mà các nút sẽ cần tải xuống và xác minh. Vào thời điểm đó, Satoshi đã viết, “[w]e có thể thực hiện thay đổi sau này nếu chúng tôi tiến gần hơn đến mức cần đến nó.” Sau đó, đề cập đến một bản vá để tăng giới hạn, anh ấy lưu ý, “[d] không sử dụng bản vá này, nó sẽ khiến bạn không tương thích với mạng”, nghĩa là việc tăng giới hạn kích thước khối là một thay đổi hard fork và đòi hỏi phải có. phối hợp nhiều hơn cả một chiếc nĩa mềm. Trong những năm sau đó, bitcoin cố tình tránh những thay đổi hard fork không tương thích như vậy, điều này cũng có nghĩa là giữ nguyên giới hạn kích thước khối 1 triệu byte.

CHUYỂN CHI PHÍ TẬP ĐOÀN PHỨC TẠP TỪ NGƯỜI GỬI ĐẾN NGƯỜI NHẬN

Bởi vì bitcoin được bảo mật bằng cách khóa các tập lệnh nên luôn có thể khóa nó bằng các tập lệnh nâng cao, bao gồm cả multisig. Theo thiết kế ban đầu, người gửi giao dịch bitcoin sẽ đặt toàn bộ tập lệnh khóa của người nhận vào giao dịch của họ và trả mọi khoản phí để đưa tập lệnh khóa đó vào một khối. Các nhà phát triển nhận ra rằng khi phí tăng lên, người gửi có thể trở nên do dự khi trả tiền cho người dùng các tập lệnh khóa lớn hơn do chi phí trả cho những người dùng đó cao hơn. Các tập lệnh khóa phức tạp này cũng đặt ra vấn đề cho việc mã hóa thành địa chỉ và chia sẻ thông qua các cơ chế băng thông thấp như QR Code.

Để giải quyết vấn đề này, P2SH đã được thêm vào bitcoin dưới dạng soft fork. Theo quy tắc của phân nhánh này, thay vì đặt toàn bộ tập lệnh khóa của người nhận vào đầu ra của giao dịch, người gửi chỉ cần đưa vào một hàm băm của nó. Khi người nhận chắc chắn chi tiêu đầu ra đó, họ sẽ đưa toàn bộ tập lệnh vào giao dịch chi tiêu, được kiểm tra dựa trên hàm băm của tập lệnh mà đồng xu bị khóa trước khi được xác thực. Với thay đổi này, tập lệnh đổi quà ở bất kỳ kích thước nào có thể được biểu thị bằng tập lệnh khóa có độ dài cố định và người gửi không còn nhu cầu (hoặc khả năng) phân biệt đối xử giữa những người nhận dựa trên điều kiện chi tiêu của họ.

ĐIỀU CHỈNH CHI PHÍ DỮ LIỆU GIỮA NGƯỜI CHẠY NÚT VÀ NGƯỜI GIAO DỊCH

Xác minh cơ bản nhất mà các nút thực hiện đối với các giao dịch bitcoin là bitcoin mà họ cố gắng chi tiêu trên thực tế có tồn tại hay không. Để thực hiện điều này, mỗi nút duy trì một chỉ mục của từng đơn vị bitcoin có thể chi tiêu (đầu ra giao dịch chưa chi tiêu, UTXO). Chỉ số này càng lớn thì chi phí chạy nút và xác minh các giao dịch trong tương lai càng lớn2. Kết quả là, một giao dịch làm tăng kích thước của chỉ mục này (có nhiều đầu ra hơn đầu vào) sẽ tốn nhiều chi phí hơn theo thời gian so với một giao dịch có cùng số byte làm giảm kích thước chỉ mục.

Phần lớn nhất của hầu hết các tập lệnh mở khóa bitcoin là chữ ký mật mã. Các chữ ký này có kích thước gấp đôi kích thước của khóa chung tương ứng, điều này làm cho tập lệnh mở khóa (ngay cả khi không có P2SH) lớn hơn tập lệnh khóa.

Chi phí tiêu thụ cao hơn đáng kể so với việc tạo UTXO tạo ra xung đột khuyến khích giữa người chạy nút và người giao dịch. Các nhà giao dịch không được khuyến khích chi tiêu các UTXO nhỏ của họ (đặc biệt là vào những thời điểm có mức phí cao), thay vào đó họ thích chi tiêu các UTXO lớn hơn và tạo ra nhiều UTXO thay đổi nhỏ hơn. Trong khi đó, những người chạy nút phải trả chi phí cho việc tích lũy các UTXO nhỏ này với chi phí xác thực cao hơn cho tất cả các giao dịch.

Có vẻ kỳ lạ, việc xác minh rằng mỗi UTXO được sử dụng bởi một giao dịch trong chuỗi khối lịch sử có tập lệnh khóa được thỏa mãn bởi tập lệnh mở khóa tương ứng là ít cơ bản hơn đáng kể. Đối với vấn đề đó, nút bitcoin chạy lõi bitcoin 26.x mặc định sẽ không xác thực việc thực thi tập lệnh khóa đầy đủ cho các giao dịch trước khối 804000 (ngày 19 tháng 8 năm 2023).

Tất cả những điều trên có nghĩa là có những chi phí khác nhau áp đặt lên các nút bitcoin theo các phần khác nhau của chuỗi khối. Dữ liệu cần thiết để xác định tác động của mỗi giao dịch phải được xác thực bằng cách đồng bộ hóa từng nút từ khối gốc3, đầu ra giao dịch có xu hướng tốn kém hơn đầu vào giao dịch trong thời gian dài (đặc biệt nếu chúng tồn tại lâu dài) và phần lớn dữ liệu nhân chứng thậm chí không được kiểm tra ngoại trừ các giao dịch gần đây nhất.

NHẬP NHÂN CHỨNG TÁCH

Soft fork nhân chứng tách biệt (SegWit) là thay đổi đầy tham vọng nhất được thực hiện đối với bitcoin cho đến nay. Động lực lớn nhất cho sự thay đổi là để khắc phục vấn đề tồn tại lâu dài về tính linh hoạtcủa TXID4 5 trong bitcoin. Để khắc phục tính dễ uốn nắn này, tập lệnh mở khóa được thay thế bằng một “nhân chứng” mới được tạo. Bằng cách xóa dữ liệu ủy quyền (thường có thể được các bên thứ ba thay đổi mà không làm thay đổi tác động của giao dịch) khỏi TXID, các giao thức (chẳng hạn như Lightning) phụ thuộc vào TXID không thay đổi sẽ trở nên khả thi.

Với dữ liệu ủy quyền được chuyển ra khỏi cấu trúc giao dịch ban đầu, nó không còn được tính vào giới hạn khối 1 triệu byte nữa. Một giới hạn mới là cần thiết. Nhiều cách tiếp cận để hạn chế dữ liệu nhân chứng tách biệt đã được thảo luận vào thời điểm đó: Giới hạn byte nhân chứng riêng biệt6, giới hạn kết hợp < 1 triệu byte7 hoặc giới hạn kết hợp có trọng số. Cuối cùng, giới hạn kết hợp có trọng số đã được chọn, với dữ liệu nhân chứng tách biệt có trọng số là 1 đơn vị, dữ liệu giao dịch có trọng số là 4 đơn vị và giới hạn khối trọng lượng 4 triệu. Mỗi đơn vị trọng lượng được coi là 1/4 byte ảo (vByte) nhằm mục đích tính phí.

Tại sao lại có những trọng lượng này? Hãy xem xét chi phí của đầu vào và đầu ra giao dịch có và không có nhân chứng tách biệt:

Điều đầu tiên cần lưu ý trong bảng này là các loại tập lệnh chứng kiến (P2WPKH, P2WSH) có số byte đầu vào và đầu ra gần như giống nhau (được tính phí đầy đủ vByte cho mỗi loại). Sau đó, người chi tiêu của tập lệnh chứng kiến sẽ bị tính phí 1/4 vByte cho dữ liệu cho phép chi tiêu, phần lớn trong số đó không được xác minh cho bất kỳ giao dịch nào ngoại trừ các giao dịch gần đây nhất và không có giao dịch nào trong số đó có chi phí liên tục trong chỉ mục UTXO. Điều đáng chú ý khác ở đây là chi phí sử dụng 2/3 multisig an toàn hơn so với một chữ ký duy nhất giảm từ 147 vBytes xuống 36,25 vBytes như thế nào.

TAPROOT VÀ CHỮ TỪ THAY ĐỔI MỌI THỨ (HOẶC KHÔNG CÓ GÌ)

Như tôi đã nói lúc đầu, bitcoin dựa trên sự khuyến khích của con người và ở đây chúng ta có thể thấy những thay đổi đã được thực hiện đối với bitcoin trong những năm qua để cải thiện sự liên kết giữa các ưu đãi giữa các bên sử dụng mạng.

Bản thân Taproot “chỉ” là một cách khác để khóa bitcoin bằng cách sử dụng nhân chứng tách biệt. Nó không thay đổi đáng kể những ưu đãi này. Một trong những thay đổi đi kèm với Taproot là loại bỏ các giới hạn nhất định về kích thước tập lệnh. Điều này được thực hiện để giảm bớt sự phức tạp của việc thiết kế các công cụ phân tích cho các tập lệnh bitcoin và như một sự thừa nhận về chi phí tương đối của các loại dữ liệu khác nhau. Việc loại bỏ các giới hạn này khiến việc ghi chú trở nên đơn giản hơn so với trước Taproot, nhưng về cơ bản không thay đổi cấu trúc khuyến khích của mạng.

Bây giờ đến mấu chốt của vấn đề. Chữ khắc được tiết lộ ở người làm chứng nên họ chỉ bị tính phí 1/4 vByte cho mỗi byte dữ liệu chữ khắc. Đây có phải là lạm dụng giảm giá nhân chứng? Sự thật là dữ liệu ghi là một số dữ liệu rẻ nhất để các nút trên mạng xác thực. Cấu trúc tập lệnh được sử dụng bởi các dòng chữ rõ ràng bỏ qua việc thực thi dữ liệu dòng chữ, do đó việc xác minh duy nhất được thực hiện trên đó là một kiểm tra băm duy nhất (đảm bảo rằng dòng chữ được tiết lộ là những gì người ghi đã lên kế hoạch tiết lộ). Dữ liệu này được băm một lần và sau đó không bao giờ được các nút xem xét lại. Nó có chi phí tính toán rất thấp (thấp hơn một bậc so với tập lệnh đa chữ ký có kích thước tương đương).

Nhưng chữ khắc đang tăng phí và đẩy những người dùng khác ra ngoài.

Đúng! Với phần mềm hiện có sẵn để tương tác với mạng bitcoin, người đăng ký có động cơ kinh tế lớn hơn để tạo ra chữ khắc của họ so với nhiều người phải thực hiện các giao dịch khác.

Điều này làm giảm đáng kể giá trị của việc tăng mật độ kinh tế của các giao dịch bitcoin. Lightning Network thực hiện một bước tiến lớn hướng tới mục tiêu này bằng cách cho phép hàng trăm, hàng nghìn hoặc hàng triệu giao dịch kinh tế được gói gọn trong một giao dịch bitcoin duy nhất. Mật độ kinh tế của mỗi byte trong một giao dịch càng lớn thì phí phải trả cho hoạt động kinh tế đó càng thấp. Khi mật độ kinh tế của các giao dịch bitcoin tăng lên, các ứng dụng khác của không gian khối đã và sẽ tiếp tục bị định giá cao9.

Điều đáng lưu ý là nếu các giao thức đa chữ ký ngoài chuỗi như MuSig2 hoặc FROST hoặc chữ ký bộ điều hợp trở nên phổ biến; việc giảm hoặc loại bỏ chiết khấu nhân chứng có thể hợp lý. Các giao thức này có thể cho phép các điều kiện chi tiêu lớn được thể hiện bằng một chữ ký duy nhất. Điều này, kết hợp với việc chi tiêu đường dẫn khóa hiệu quả của Taproot có thể giảm chi phí đầu vào với các điều kiện phức tạp gần như tùy ý xuống chỉ còn 105 Byte.

PHẦN KẾT LUẬN

Phản ứng đối với các khoản phí cao do dòng chữ gây ra cũng giống như bất kỳ kịch bản nào được cho là bầu trời sụp đổ trong lịch sử bitcoin: Kiên nhẫn xây dựng, kiên nhẫn xây dựng. Có rất nhiều điều chúng ta có thể làm để tăng mật độ kinh tế của các giao dịch bitcoin từ việc xây dựng ví Lightning tốt hơn đến Ark cho đến các hợp đồng nhật ký riêng biệt và hơn thế nữa. Loại bỏ chiết khấu nhân chứng (trước thời hạn), rút lại rễ cây hoặc các hành động phản tác dụng tương tự sẽ chỉ làm giảm mật độ kinh tế của các giao dịch bitcoin hiện tại và làm tình hình trở nên trầm trọng hơn.

Hãy khiêm tốn, xếp chồng số liệu thống kê và xây dựng.

Chú thích cuối trang

  1. Thuật ngữ nhân chứng đã được sử dụng trong bitcoin từ thuật ngữ mật mã trong đó nó đề cập đến dữ liệu cần thiết để xác minh một cách hiệu quả xác nhận quyền sở hữu mật mã. BIP141 định nghĩa nó là bất kỳ “dữ liệu nào cần thiết để kiểm tra tính hợp lệ của giao dịch nhưng không bắt buộc phải xác định hiệu quả giao dịch”. Các nhà mật mã học có thể đã chọn thuật ngữ này từ các dấu hiệu chứng thực sản xuất được sử dụng để xác minh một cách hiệu quả sự liên kết của các thành phần.
  2. Dự án Utreexo nhằm mục đích thay đổi điều này đối với một tập hợp con các nút bitcoin bằng cách cho phép chúng tích lũy các gốc bao gồm UTXO một cách hiệu quả và sau đó nhận được các đường dẫn bao gồm cùng với chi tiêu của các UTXO đó. Nếu điều này trở thành một cách phổ biến để sử dụng bitcoin, nó sẽ chuyển chi phí của nhiều UTXO hơn từ các nút sang người nắm giữ các UTXO đó.
  3. Dự án ZeroSync nhằm mục đích thay đổi điều này đối với một số nút trong một số bối cảnh.
  4. ID giao dịch: Thứ tự byte đảo ngược gấp đôi SHA256 của giao dịch định dạng mạng trước segwit.
  5. Nhiều giao dịch hợp lệ có cùng đầu vào và đầu ra có txid khác nhau nếu chúng được ký theo những cách khác nhau hoặc bị bên thứ ba sửa đổi chữ ký.
  6. Có thể là bất kỳ giá trị nào mà không cần hard fork vì các nút cũ không nhận thức được dữ liệu nhân chứng tách biệt.
  7. 1 triệu trở xuống để duy trì khả năng tương thích và ngăn chặn hard fork.
  8. Giả sử sử dụng khóa công khai nhỏ gọn và chữ ký DER R/S thấp 71 byte.
  9. Có ai còn nhớ Satoshi Dice không?

Đây là một bài viết của khách Brandon Black. Các ý kiến được bày tỏ hoàn toàn là của riêng họ và không nhất thiết phản ánh quan điểm của BTC Inc hoặc Bitcoin Magazine.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [bitcoinmagazine]. Mọi bản quyền thuộc về tác giả gốc [BRANDON BLACK]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn , họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account