Nhiều bên liên quan tích cực nhất của Bitcoin vừa chuẩn bị xong phương pháp kích hoạt cho Taproot, bản nâng cấp lớn nhất của phần mềm Bitcoin trong nhiều năm.
Trong một cuộc họp công khai trên Internet Relay Chat (IRC) hôm thứ Ba, các nhà phát triển Bitcoin, thợ đào, chuyên gia kinh doanh và những người đam mê đã tìm ra các chi tiết cụ thể về cách đóng gói nâng cấp Taproot thành một bản cập nhật – và cách kích hoạt nó khi mã đã được chuyển đi.
Những người tích cực nhất trong số hơn 200 người tham gia trò chuyện (hầu hết, nhưng không phải tất cả, các nhà phát triển) dường như đồng ý về Đề xuất cải tiến Bitcoin (BIP) sẽ được sử dụng để kích hoạt Taproot. Để chuẩn bị BIP cho việc vận chuyển, họ cũng đã bỏ phiếu để “hợp nhất” hai “yêu cầu kéo” (PR) trên GitHub, trong đó phác thảo các quy tắc cho logic kích hoạt của Taproot thành mã nguồn của Bitcoin khi đến thời điểm thúc đẩy nâng cấp.
Một trong số đó, PR # 1021, bao gồm một biện pháp cho phép người dùng buộc kích hoạt bản nâng cấp nếu các thợ đào không hỗ trợ nó, trong khi PR # 1020 chỉ “khuyến nghị” điều này nhưng không kích hoạt nó theo mặc định. Vì hầu hết tất cả những người tham gia đều hỗ trợ BIP 8 mà không bắt buộc phải kích hoạt, như trưởng cuộc họp và nhà phát triển Bitcoin Core, Michael Folkson đã lưu ý trong cuộc trò chuyện, cuộc thảo luận sâu hơn sẽ xác định ngày bắt đầu kích hoạt – và thảo luận thêm về mức độ bắt buộc kích hoạt “ngày cờ” là cần thiết.
Tại sao không cần một ngày cờ Taproot (có thể)
Theo một cuộc khảo sát được điều hành bởi F2Pool VP Alejandro De La Torre, Taproot không phải là vấn đề đối với những người khai thác chặn nâng cấp.
Cuộc khảo sát cung cấp phản hồi quan trọng từ các thợ đào đối với tổ chức phi tập trung của Bitcoin, tổ chức không thể đơn phương điều phối các bản cập nhật theo cách mà một nhà cung cấp phần mềm tập trung có thể làm. Các nâng cấp như Taproot yêu cầu sự phối hợp cẩn thận giữa các thợ đào, người dùng toàn nút (những người chạy mã nguồn mở của Bitcoin) và các bên liên quan khác để đảm bảo không có gì sai sót (như giới thiệu lỗi hoặc chia mạng Bitcoin thành hai phiên bản không tương thích).
Bởi vì các thợ đào không phản đối Taproot, hầu hết những người tham gia đều bày tỏ sự ưu tiên đối với BIP8 (sai), với (sai) đề cập đến việc loại trừ “ngày gắn cờ” để buộc kích hoạt thông qua các nút đầy đủ nếu nâng cấp không thành công do thiếu kích hoạt của người khai thác .
BIP8 hiện đang được phát minh sẽ cho các thợ đào Bitcoin và các nhà khai thác toàn nút một năm để áp dụng bản nâng cấp, sau đó, bản nâng cấp sẽ được “khóa” với đủ sự hỗ trợ. Trong một phiên bản này, BIP8 (false), bản cập nhật chỉ bị lỗi mà không có đủ hỗ trợ. Nói cách khác, BIP8 (true), một “ngày gắn cờ” sẽ buộc các thợ mỏ báo hiệu nâng cấp khi khung thời gian kích hoạt hết hạn nếu họ không làm như vậy trước đó.
Lưu ý kỹ thuật: Có một số cách để nâng cấp Bitcoin, đơn giản nhất là thông qua kích hoạt công cụ khai thác, nơi các nhóm khai thác nâng cấp và bắt đầu khai thác khối theo các quy tắc mới. Không làm được điều này, các nhà khai thác nút có thể nâng cấp và chọn từ chối các khối từ những người khai thác không báo hiệu hỗ trợ nâng cấp. Cái gọi là “người dùng kích hoạt soft fork” (UASF), cũng được sử dụng để kích hoạt SegWit, sẽ buộc những người khai thác phải chấp nhận nâng cấp mới.
“Hoàn toàn mang tính giai thoại nhưng tôi chưa thấy bất kì [emphasis theirs] phản đối Taproot, ”một willcl_ark nói trong cuộc trò chuyện, đề cập đến việc một ngày treo cờ có cần thiết hay không. “Tôi nghĩ rằng việc sử dụng mẫu số chung thấp nhất của các thông số kích hoạt (sai) có vẻ là lựa chọn hợp lý để tránh bất kỳ sự phân tách chuỗi có mục đích hoặc ngẫu nhiên nào trong trường hợp các thợ đào không phát tín hiệu.”
Cái gì giữ lấy?
Vẫn còn những người khác, như nhà phát triển Bitcoin Core sung mãn Luke Dashjr, không tin rằng việc bao gồm ngày cờ là không cần thiết. Trên thực tế, đó là một vấn đề nguyên tắc để chứng minh rằng các nhà khai thác nút quyết định phần mềm, không phải người khai thác.
“Điều đó không quan trọng,” anh ấy nói trong cuộc trò chuyện liên quan đến hỗ trợ thợ đào. “Những người khai thác không quyết định thay đổi giao thức,” anh ấy tiếp tục, cho biết rằng chính những người vận hành nút thay vào đó quyết định bằng cách chọn phần mềm nào để chạy. Hơn nữa, anh ấy tán thành rằng BIP8 (sai), “hãy[s] thợ mỏ quyết định ”số phận của việc nâng cấp. Khi đến thời điểm, anh ấy nói sau trong cuộc trò chuyện, anh ấy sẽ định cấu hình nút của mình để chạy phiên bản BIP8 (true) từ chối các khối không phải Taproot từ các thợ đào.
“BIP8 với bắt buộc [activation] không phải là một sự phô trương lực lượng không cần thiết, ”hsjoberg nói, nhắc lại niềm tin của Dashjr rằng việc người dùng lựa chọn UASF là một sự kiểm tra cần thiết và cân bằng về sự thờ ơ của thợ đào.
Tuy nhiên, việc phô trương vũ lực có thể gây ra rủi ro không cần thiết và đặt ra tiền lệ không được hoan nghênh cho các cân nhắc nâng cấp trong tương lai, đặc biệt khi các thợ đào không cho người dùng lý do gì để gây chiến, vì vậy hãy đưa ra các lập luận ủng hộ BIP8 (sai).
“[BIP8 false] an toàn hơn [true], vì vậy nó đáng làm [false] lần đầu tiên chúng tôi biết rằng hashpower là ~ 90% đã ủng hộ Taproot, ”nhà phát triển Bitcoin Core và CoinSwap Chris Belcher cho biết.
Những người khác như Suredbits và nhà phát triển Bitcoin Core, Ben Carman đã chỉ ra rằng bạn có thể định cấu hình nâng cấp sau khi kích hoạt để bao gồm ngày gắn cờ nếu thợ đào không phát tín hiệu, “giúp người dùng thực thi UASF an toàn hơn và dễ dàng hơn”.
Vào cuối cuộc họp, những người tham gia đã đồng ý hợp nhất các yêu cầu kéo trên GitHub cho cả lộ trình kích hoạt không bắt buộc (PR # 1020) và lộ trình kích hoạt bắt buộc (PR # 1021). Với cả hai quy tắc này trong GitHub của Bitcoin Core, các quy tắc về kích hoạt bắt buộc chỉ có thể được sử dụng nếu cần thiết.
Cân nhắc nhiều hơn
Kịch bản chia tách chuỗi mà willcl_ark mô tả về cơ bản là kẻ lừa đảo mà mọi người đều muốn tránh ở đây. Điều đáng sợ là BIP8 (true) yêu cầu 100% hashrate để báo hiệu nâng cấp sau khi thời hạn kích hoạt Taproot kết thúc. Do đó, nếu có đủ người dùng đi theo con đường này cùng lúc với những người khác sử dụng BIP8 (sai) để kích hoạt không bắt buộc (chỉ yêu cầu 95% tốc độ băm), thì hai phiên bản mã khác nhau có thể tạo ra hai lịch sử không tương thích của sổ cái giao dịch của Bitcoin.
Đó là lý do tại sao, nếu việc phát tín hiệu bắt buộc phải xảy ra, tốt nhất bạn nên làm như vậy thông qua PR # 1021 của AJ Townes, điều này “giúp an toàn hơn cho tùy chọn UASF vốn là tình huống ‘nguy hiểm’ nhất,” Carman viết trong cuộc trò chuyện.
Hiện tại, có vẻ như những người tham gia thảo luận ủng hộ BIP8 (sai) với việc bổ sung UASF thông qua PR # 1021 nếu cần, nhưng cần thảo luận thêm để tìm ra lịch trình chính xác của giai đoạn kích hoạt ban đầu (hoặc người dùng có bao lâu để nâng cấp sau khi bản cập nhật có hiệu lực), cũng như ngày kích hoạt cần đặt.
Những “điều gì sẽ xảy ra nếu” và “whens” sẽ được băm ra, trong số các vấn đề khác, trong một cuộc họp vào thứ Tư tới.