Segregated Witness là một đề xuất (BIP-141) được thiết kế để giải quyết vấn đề về tính linh hoạt trong giao dịch của chuỗi khối Bitcoin.


1. Khả năng linh hoạt trong giao dịch là gì?

Tức là nội dung giao dịch không thay đổi nhưng ID giao dịch đã thay đổi. Do tính đối xứng của đường cong elip trong thuật toán chữ ký ECDSA được sử dụng trong mạng Bitcoin, hai chữ ký hợp lệ luôn có thể được tính để ký một giao dịch và hai chữ ký hợp lệ này cũng có thể được tính toán lẫn nhau. Sau khi phát sóng giao dịch, hãy xuất bản giao dịch có cùng nội dung bằng chữ ký khác nhau. Hai giao dịch có cùng nội dung nhưng ID giao dịch khác nhau, điều này sẽ đánh lừa những người tham gia mạng.


2. Phần mở rộng giao dịch thay đổi chữ ký nhưng nội dung giao dịch không thay đổi. Cuối cùng, mạng vẫn sẽ xác nhận nội dung giao dịch khác nhưng nội dung giao dịch giống nhau và sẽ không có hiệu lực. về bảo mật giao dịch Trên thực tế, mạng cũng sẽ xác nhận nội dung giao dịch sẽ không có vấn đề chi tiêu gấp đôi (cùng một số tiền được chi tiêu hai lần), vậy tác động thực tế của việc gia hạn giao dịch sẽ như thế nào?

Trên thực tế, điều này chủ yếu là do nhiều dịch vụ Bitcoin (chẳng hạn như sàn giao dịch, dịch vụ tự động hóa trên chuỗi của bên thứ ba) dựa vào ID giao dịch làm mã định danh giao dịch. Một ví dụ là Little A đã bắt đầu rút tiền từ sàn giao dịch và sau đó giao dịch rút tiền của anh ấy được phát sóng trước khi giao dịch của anh ấy được nút xác minh, Little A đã tiến hành một cuộc tấn công có thể mở rộng, tình cờ là giao dịch mới được tạo ra. cuộc tấn công sẽ được xác nhận trước tiên và trong khi giao dịch mới sẽ cho phép anh ta nhận được tiền thì giao dịch cũ sẽ bị mạng từ chối. Tuy nhiên, Tiểu A phàn nàn với sàn giao dịch rằng anh chưa nhận được xu. Sàn thấy giao dịch chuyển tiền trước đó cho Tiểu A quả thực bị từ chối nên đã chuyển thêm một lượng xu nữa cho anh.


3. Có vẻ như vấn đề thực sự xảy ra do ID giao dịch được sử dụng làm số nhận dạng giao dịch. Việc không sử dụng ID giao dịch làm số nhận dạng giao dịch có khả thi không?

Phân tích nội dung trong khối btc, chẳng hạn như sử dụng chiều cao khối + vị trí giao dịch để xác định danh tính? Hoặc tự xác định danh tính dựa trên hàm băm đầu vào + đầu ra giao dịch? Chúng thực sự có thể được sử dụng làm số nhận dạng duy nhất, nhưng chúng không hiệu quả trong thực tế hoặc không thuận tiện và an toàn như ID giao dịch (ID giao dịch sẽ được ghi trực tiếp trong nội dung khối và sẽ không bao giờ thay đổi sau khi được tải lên chuỗi).


4. Segwit giải quyết vấn đề về khả năng mở rộng giao dịch như thế nào?

Segwit giải quyết vấn đề này một cách hiệu quả bằng cách tách dữ liệu chữ ký giao dịch (nhân chứng) khỏi khối và việc thay đổi chữ ký sẽ không còn ảnh hưởng đến ID giao dịch. Đồng thời, segwit cũng giảm kích thước khối ở một mức độ nhất định và cải thiện khả năng xử lý giao dịch (ví dụ: spv có thể xử lý nhiều nội dung giao dịch hơn trong cùng một băng thông).

segwit


5. Vấn đề này được giải quyết như thế nào trước segwit?

Sau khi giao dịch không thành công, bạn cần báo cáo thông báo lỗi giao dịch trên blockchain và kiểm tra xem giao dịch đó có được bắt đầu trong mạng trong một khoảng thời gian ngắn hay không để xác định xem giao dịch đó có bị tấn công mở rộng giao dịch hay không. Đồng thời, bạn cũng nên cố gắng tránh thực hiện logic đối với các giao dịch chưa được xác nhận hoặc các giao dịch được xác nhận trong một vài khối. Nhưng những phương pháp này về cơ bản không giải quyết được vấn đề.

#BTC☀ #SegWit #技术学习

BTC
BTC
81,830.01
-0.97%