

Vào ngày 14 tháng 1, Bitcoin Core 0.21.0 đã chính thức được phát hành, phiên bản chính thứ 21 của ứng dụng khách phần mềm Bitcoin gốc do Satoshi Nakamoto ra mắt gần 12 năm trước.
Bản phát hành chính mới nhất này được phát triển bởi hơn 100 người đóng góp trong khoảng thời gian khoảng sáu tháng, dưới sự giám sát của người duy trì chính Bitcoin Core, Wladimir van der Laan. Bitcoin Core 0.21.0 là một trong những bản phát hành Bitcoin Core lớn nhất trong những năm gần đây, là kết quả của hơn 600 yêu cầu hợp nhất, giới thiệu nhiều tính năng mới cũng như cải thiện hiệu suất và quyền riêng tư, đồng thời thực hiện một bước tiến lớn đối với bước nâng cấp giao thức Schnorr/Taproot .
Dưới đây là một số thay đổi đáng chú ý hơn.
1. Mô tả ví
Điều thực sự xảy ra khi mã thông báo được gửi đến địa chỉ Bitcoin là chúng bị "khóa" trong đầu ra giao dịch chưa được xác định (UTXO) và sẽ chỉ được "mở khóa" trong giao dịch sau nếu các điều kiện ẩn của UTXO được đáp ứng." (chi tiêu) . Một điều kiện điển hình là bao gồm một chữ ký hợp lệ tương ứng với một khóa công khai cụ thể. Nhưng các điều kiện cũng có thể bao gồm, chẳng hạn như bao gồm mật khẩu, hết hạn khóa thời gian hoặc kết hợp các chữ ký (multisig).
Cho đến thời điểm hiện tại, Bitcoin Core đã được thiết kế để quản lý UTXO trong ví của mình xung quanh các khóa riêng tư tương ứng của chúng, mặc dù khóa riêng tư chỉ là một trong một số cách tiềm năng để tiêu tiền. Thay vào đó, Bitcoin Core 0.21.0 đã giới thiệu "ví mô tả". Bằng cách sử dụng ví mô tả, người dùng có thể phân loại UTXO của họ theo loại điều kiện của họ. (Ví dụ: một ví cho UTXO chỉ yêu cầu chữ ký hợp lệ và một ví cho UTXO đa chữ ký.)
Ví mô tả đặc biệt hữu ích cho các nhà phát triển ứng dụng thiết kế phần mềm trên Bitcoin Core. Giờ đây, thật dễ dàng để thiết kế các ứng dụng cụ thể để chỉ sử dụng các loại UTXO cụ thể, chẳng hạn như UTXO nhiều chữ ký và bỏ qua bất kỳ UTXO không đa chữ ký nào.
Giờ đây, người dùng thông thường cũng có thể nhận thấy sự khác biệt trong ví mô tả. Đáng chú ý nhất, không có ví mặc định nào được tạo khi bắt đầu nút Bitcoin Core mới. Thay vào đó, các ví mới chỉ được tạo khi người dùng chọn làm như vậy một cách rõ ràng, cho phép họ chỉ tạo các loại ví mong muốn cụ thể. Ví mô tả cũng hỗ trợ tốt hơn ví "chỉ xem": ví này có thể theo dõi một số UTXO nhất định ngay cả khi các nút không có khóa riêng cần thiết để sử dụng chúng.
Người dùng Bitcoin Core đã nâng cấp lên Bitcoin Core 0.21.0 giờ đây vẫn có thể sử dụng ví cũ của họ. (Ví kế thừa cuối cùng sẽ không còn được dùng nữa, có nghĩa là người dùng sẽ cần di chuyển ví kế thừa của họ sang ví mô tả, nhưng không có nhu cầu tuyệt đối cho đến khi phát hành Bitcoin Core sau này.)
2. Cung cấp bộ lọc nén trên mạng ngang hàng
"Light client" là các ứng dụng và ví Bitcoin không tải xuống và xác minh toàn bộ chuỗi khối Bitcoin mà chỉ tập hợp con các khối và giao dịch đặc biệt liên quan đến chúng. Đó không phải là cách an toàn nhất, nhưng nó ít tốn tài nguyên hơn nhiều.
Một cách tiếp cận phổ biến là sử dụng Bộ lọc Bloom. Tóm lại, Bộ lọc Bloom là các thủ thuật mã hóa yêu cầu dữ liệu có liên quan từ các đồng nghiệp ít nhiều ngẫu nhiên trên mạng. Tuy nhiên, rõ ràng là Bộ lọc Bloom đã khá bất khả tri về quyền riêng tư trong những năm gần đây: về cơ bản, chúng tiết lộ tất cả địa chỉ của người dùng cho các nút ngang hàng (ít nhiều ngẫu nhiên), tất nhiên cũng có thể bị thao túng bởi những kẻ vi phạm quyền riêng tư .
Một giải pháp thay thế mới hơn và bảo vệ quyền riêng tư hơn cho Bộ lọc Bloom được gọi là "lọc khối phía máy khách được nén" (BIP 157/158). Nén lọc khối phía máy khách về cơ bản thay đổi thủ thuật với Bộ lọc Bloom. Trái ngược với ví ánh sáng ban đầu tạo bộ lọc và gửi chúng đến các nút đầy đủ, các nút đầy đủ tạo bộ lọc cho từng khối và gửi các bộ lọc này đến các ứng dụng khách ánh sáng theo yêu cầu. Sau đó, các máy khách nhẹ sử dụng các bộ lọc này để xác định xem các giao dịch liên quan đến chúng có thể đã được đưa vào một khối hay chưa. Nếu vậy, ví nhẹ sẽ tìm nạp toàn bộ khối và trích xuất mọi dữ liệu giao dịch có liên quan từ khối đó. (Lưu ý: sẽ có một số kết quả dương tính giả: mặc dù bộ lọc chỉ ra rằng có các giao dịch có liên quan, nhưng có thể không có các khối chứa dữ liệu giao dịch có liên quan trong đó.)
Các phiên bản Bitcoin Core hiện tại có thể đã tạo các bộ lọc cục bộ và cung cấp chúng thông qua Lệnh gọi thủ tục từ xa (RPC) cho các ứng dụng (chẳng hạn như ví) chạy trên các nút. Bitcoin Core 0.21.0 hiện cũng bao gồm tùy chọn cung cấp các bộ lọc này theo yêu cầu thông qua mạng ngang hàng của Bitcoin. Điều này giúp các máy khách ánh sáng độc lập có thể hoạt động với Bộ lọc Bloom ngay bây giờ.
3. Ít replay hơn
Ngoài Bộ lọc Bloom, những kẻ rình mò cũng có thể phá hủy quyền riêng tư của người dùng Bitcoin thông qua phân tích mạng. Nếu họ có thể xác định giao dịch cụ thể bắt nguồn từ nút nào, họ có thể liên kết địa chỉ bitcoin của nút đó với địa chỉ IP của nó, từ đó có thể liên kết với danh tính trong thế giới thực.
Cho đến bây giờ, khi các nút Bitcoin Core phát các giao dịch tới mạng Bitcoin, chúng sẽ cố gắng phát lại giao dịch cứ sau mười lăm phút cho đến khi giao dịch được đưa vào một khối. Điều này có nghĩa là nếu các nút Bitcoin Core này được kết nối với một nút nghe ngang hàng, thì nút Bitcoin Core đang cố gắng phát lại một giao dịch nhất định cứ sau 15 phút cũng là nút gốc của giao dịch đó.
Bitcoin Core 0.21.0 giảm đáng kể tần suất cố gắng phát lại các giao dịch: chỉ 12 đến 36 giờ một lần. Việc phát lại càng ít thường xuyên thì càng có nhiều khả năng giao dịch sẽ được xác nhận sau lần phát đầu tiên, vì vậy nút hoàn toàn không cần phải phát lại.
Trong phiên bản tương lai của Bitcoin Core, rò rỉ quyền riêng tư này sẽ được khắc phục hoàn toàn. Các nút Bitcoin Core sau đó sẽ chỉ phát lại các giao dịch lẽ ra phải được xác nhận dựa trên tính toán phí và mempool của riêng chúng. Ngoài ra, nó sẽ phát lại các giao dịch khác, không chỉ của riêng nó.
4. Thêm hỗ trợ cho định dạng địa chỉ Tor V3 trong trình duyệt riêng tư
Do một bản nâng cấp gần đây đối với giao thức Tor bảo vệ quyền riêng tư, các địa chỉ Tor V3 (phiên bản 3) mới dài hơn các địa chỉ V2 (phiên bản 2) trước đó. Hiện tại, các địa chỉ V2 vẫn đang được sử dụng nhưng sẽ không được dùng nữa trong khoảng một năm nữa.
Đối với người dùng Bitcoin Core muốn sử dụng Bitcoin trên mạng riêng, việc ngừng sử dụng địa chỉ V2 có thể gây ra sự cố. Các nút của Bitcoin Core tìm các đồng nghiệp bằng cách chia sẻ với nhau địa chỉ Tor của các nút Bitcoin được biết là sử dụng Tor. Chúng chia sẻ thông tin này bằng cách chia sẻ cùng một thông báo mà địa chỉ IP thông thường của các nút khác sử dụng. Mặc dù các địa chỉ Tor V2 có thể bị "ẩn" ở định dạng địa chỉ IP thông thường (IPV6), nhưng các địa chỉ Tor V3 lại quá dài; nói cách khác, thông tin hiện tại quá hạn chế để tương thích với các bản nâng cấp Tor.
Do đó, Bitcoin Core 0.21.0 giới thiệu một định dạng mới để chia sẻ địa chỉ IP/Tor với các đồng nghiệp. Các tin nhắn này có thể đủ lớn để chia sẻ địa chỉ Tor V3.
5. Triển khai mã Schnorr/Taproot và Signet/Regtest
Schnorr/Taproot dự kiến sẽ là bản nâng cấp giao thức đầu tiên của Bitcoin kể từ Segregated Witness (SegWit) vào tháng 8 năm 2017. Sau hơn hai năm phát triển, thuật toán chữ ký Schnorr được coi là một cải tiến toàn diện đối với thuật toán chữ ký ECDSA hiện tại của Bitcoin. Khi được kết hợp với Taproot, một thủ thuật gọn gàng để ẩn các điều kiện khác nhau trong cây băm mật mã để chi tiêu cho các giao dịch, bản nâng cấp hứa hẹn sẽ cung cấp tính linh hoạt của hợp đồng thông minh hơn theo cách có thể mở rộng và bảo vệ quyền riêng tư.
Mã Schnorr/Taproot hiện được nhúng trong Bitcoin Core 0.21.0. Nó không còn có bất kỳ thay đổi nào trừ những phát triển không lường trước được, điều đó có nghĩa là các nhà phát triển ứng dụng có thể bắt đầu thiết kế phần mềm xung quanh các bản nâng cấp. Ngoài ra, Schnorr/Taproot hiện khả dụng trên Signet (một testnet mới hơn và đáng tin cậy hơn được các nhà phát triển sử dụng để kiểm tra phần mềm Bitcoin mới) và có thể trên Regtests (một biến thể testnet cục bộ khác).
Tuy nhiên, Schnorr/Taproot sẽ không khả dụng trên mạng chính của Bitcoin trong một thời gian. Để thực hiện việc này, trước tiên cần kích hoạt bản nâng cấp và điều này yêu cầu logic kích hoạt. Logic kích hoạt không được bao gồm trong phiên bản hiện tại của Bitcoin Core. Logic kích hoạt dự kiến sẽ được đưa vào bản phát hành Bitcoin Core tiếp theo, có thể là trong vài tháng tới.
6. Những thay đổi khác
Ngoài những thay đổi trên, Bitcoin Core 0.21.0 cũng bao gồm nhiều bản sửa lỗi và cải tiến hiệu suất khác nhau mà người dùng bình thường không rõ ràng. Ví dụ: ví Bitcoin Cor sẽ chuyển từ sử dụng Berkeley DB sang cơ sở dữ liệu SQLite, phù hợp hơn dưới dạng tệp dữ liệu ứng dụng và cung cấp một số đảm bảo về khả năng tương thích, hỗ trợ và thử nghiệm.
Thật thú vị, Bitcoin Core 0.21.0 cũng bao gồm một cuộc đại tu các yêu cầu giao dịch: giao thức nhắn tin mới mà các nút Bitcoin sử dụng để tìm hiểu về các giao dịch mới được thử nghiệm tốt hơn, được chỉ định tốt hơn cũng như dễ bảo trì và xem xét hơn.
Để có danh sách nâng cấp đầy đủ hơn, hãy xemGhi chú phát hành Bitcoin Core 0.21.0hoặc xem cộng tác viên Bitcoin Core Andrew Chow'sbài viết trên blogLiên kết gốc:
Liên kết gốc:https://bitcoinmagazine.com/articles/bitcoin-core-0-21-0-released-whats-new
Bởi Aaron van Widum
