Ngày 3/6, phiên bản chính thức của Bitcoin Core 0.20.0 đã được phát hành. Đây là phiên bản chính thứ 20 của ứng dụng client phần mềm gốc của Bitcoin do Satoshi Nakamoto tung ra cách đây hơn 11 năm.
Dưới sự giám sát của nhà duy trì Wladimir van der Laan của Bitcoin Core, phiên bản chính mới nhất được phát triển bởi hơn 100 người đóng góp trong khoảng 6 tháng. Là kết quả của hơn 500 yêu cầu pull hợp nhất, Bitcoin Core 0.20.0 chủ yếu làm sạch và tăng cường cơ sở mã của Bitcoin Core, thúc đẩy tích hợp ví phần cứng, cải thiện độ tin cậy của mạng và bao gồm một số cải tiến khác.
Dưới đây là một số thay đổi đáng chú ý hơn.
Tích hợp thêm ví phần cứng trong GUI
Bitcoin Core đã tương thích với ví phần cứng kể từ phiên bản 0.18.0. Tuy nhiên, người dùng chưa thể thực hiện giao dịch với ví phần cứng từ giao diện người dùng đồ họa (GUI) của Bitcoin Core; thay vào đó họ phải sử dụng giao diện dòng lệnh (CLI) để làm điều đó.
Bitcoin Core 0.20.0 hiện đang thực hiện bước tích hợp ví phần cứng vào GUI. Theo đó, người dùng có thể tạo giao dịch mà không cần chữ ký trong Bitcoin Core GUI bằng cách sử dụng định dạng giao dịch BTC được ký một phần (PSBT) và sao chép nó vào clipboard (bộ nhớ tạm) của họ. Sau khi sao chép, họ có thể chuyển giao dịch sang ví phần cứng của mình để ký tên, tuy nhiên, việc chuyển này chưa được tự động và việc truyền phát giao dịch vẫn yêu cầu sử dụng CLI.
Các phiên bản Bitcoin Core trong tương lai sẽ tiếp tục thúc đẩy tích hợp ví phần cứng.
Asmap cho kết nối mạng đáng tin cậy hơn
Bitcoin Core kết nối với một số ‘đồng nghiệp’ (các node Bitcoin khác) trên mạng Bitcoin. Bitcoin Core sắp xếp các node khác dựa trên địa chỉ IP của chúng, với mục đích thiết lập kết nối với các đồng nghiệp từ khu vực và Nhà cung cấp dịch vụ Internet (ISP) khác nhau. Nếu node nhận được các khối và giao dịch từ đồng nghiệp ở khắp nơi trên thế giới, nó sẽ giảm rủi ro một số dữ liệu nhất định (như giao dịch cụ thể) bị giữ lại.
Bitcoin Core sắp xếp địa chỉ IP của các nhóm nhà khai thác mạng. Tuy nhiên, một vài trong số các nhóm này thực sự là một phần của cùng Hệ thống tự trị (AS) – là các cụm nhà khai thác mạng chia sẻ tuyến internet chính và do đó có khả năng bị tắc nghẽn định tuyến chung ở nơi dữ liệu có thể được lọc.
Do vậy, Bitcoin Core 0.20.0 bao gồm tùy chọn cấu hình mới có tên Asmap, sắp xếp địa chỉ IP theo số hệ thống tự trị (ASNs). Điều này đảm bảo node kết nối với các đồng nghiệp từ một loạt AS khác nhau, giảm tắc nghẽn mạng tiềm ẩn, do đó hạn chế hơn nữa nguy cơ dữ liệu cụ thể bị giữ lại. (Tuy nhiên, sắp xếp địa chỉ IP vào các nhóm khai thác mạng vẫn là cấu hình mặc định).
Xóa BIP61 Reject Messages
Reject Messages (BIP61) là các thông báo node trả về khi giao dịch mà nó nhận được từ đồng nghiệp bị từ chối và lý do (Có lẽ vì giao dịch không hợp lệ, không bao gồm đủ phí hoặc một lý do khác để từ chối).
Tuy nhiên, các nhà phát triển Bitcoin Core không coi thông báo từ chối là hữu ích. Quan trọng nhất, Reject Message không hẳn là đáng tin cậy. Nói cách khác, nếu node không nhận được Reject Message thì không nhất thiết có nghĩa là giao dịch được chấp nhận. Điều này giới hạn tính hữu ích của các tin nhắn, trong khi có các giải pháp tốt hơn để kiểm tra xem giao dịch có hợp lệ và bao gồm đủ phí hay không. Thêm vào đó, các tin nhắn đã làm cho giao thức ngang hàng trở nên phức tạp hơn và chiếm băng thông.
Do vậy, BIP61 Reject Messages đã bị tắt theo mặc định trong Bitcoin Core 0.18.0. Bitcoin 0.20.0 hiện đã loại bỏ hoàn toàn tính năng này.
Xóa giao thức thanh toán BIP70 (và OpenSSL)
Giao thức thanh toán (BIP 70) đã được thiết kế từ nhiều năm trước để cải thiện trải nghiệm thanh toán của Bitcoin. Người dùng và người giao dịch có thể liên lạc thêm chi tiết về khoản thanh toán, chẳng hạn như địa chỉ đích có thể đọc được (tên của người giao dịch) và địa chỉ hoàn lại trong trường hợp xảy ra sự cố với giao dịch mua.
Trong khi Bitcoin Core tích hợp Giao thức thanh toán thì tiêu chuẩn này không bao giờ được chấp nhận rộng rãi. Thay vào đó, hầu hết các ví vẫn sử dụng lược đồ URI cơ bản hơn (BIP21): Liên kết có thể truy cập hoặc định dạng quét mã QR truyền đạt địa chỉ và số tiền thanh toán.
Có lẽ quan trọng hơn việc được ít người chấp nhận là Giao thức thanh toán BIP70 có một số lỗ hổng bảo mật và quyền riêng tư trong những năm qua. Đáng chú ý nhất, sự phụ thuộc của nó vào thư viện phần mềm OpenSSL cho các chức năng mã hóa đòi hỏi một loạt các nâng cấp khẩn cấp thông báo ngắn. Vì những lý do này, một số ví Bitcoin đã từ chối triển khai BIP70 hoàn toàn.
Bitcoin Core 0.19.0 đã xóa Giao thức thanh toán khỏi GUI, nhưng người dùng vẫn có thể biên dịch node của họ với cấu hình đặc biệt để sử dụng tính năng này. Bitcoin Core 0.20.0 hiện đã loại bỏ hoàn toàn Giao thức thanh toán.
Khi BIP70 không còn nữa (và một số chỉnh sửa phần mềm khác để loại bỏ sự phụ thuộc), Bitcoin Core cũng đã có thể loại bỏ hoàn toàn OpenSSL khỏi codecase của nó.
Dumptxoutset là bước đầu tiên hướng tới Assumeutxo để khởi động nhanh
Tính năng gọi thủ tục từ xa mới (RPC) cho phép Bitcoin Core 0.20.0 tạo ra ảnh chụp nhanh bộ UTXO, phản ánh trạng thái sở hữu Bitcoin như được ghi trên blockchain tại một thời điểm cụ thể (chiều cao khối). Ảnh chụp này có thể được chia sẻ.
Các bản phát hành Bitcoin Core trong tương lai sẽ chia sẻ ảnh chụp nhanh như vậy khi đồng nghiệp lần đầu tham gia mạng. Điều này cho phép các node mới ngay lập tức bắt đầu tham gia vào mạng kể từ thời điểm ảnh chụp nhanh được thực hiện, trong khi toàn bộ lịch sử của blockchain được kiểm tra trong nền (Giống như lối tắt tương tự Assumevalid, Assumeutxo đi kèm với sự đánh đổi niềm tin trước khi toàn bộ blockchain được kiểm tra và cho đến lúc đó nên được sử dụng những sự đánh đổi này).
Dislaimer: Đây là thông tin cung cấp dưới dạng blog cá nhân, không phải thông tin tổng hợp hay lời khuyên đầu tư. Chúng tôi không chịu trách nhiệm về các quyết định đầu tư của bạn.
- Bitcoin Core Dev: Các biện pháp chống tấn công 51% luôn bao hàm sự tập trung hóa
- Bitcoin Core 0.18.0 đặt cược cho áp dụng Segwit khi ký Tx ngoại tuyến