Trang chủ » Bitcoin Core 0.21.0 được phát hành: Có gì mới?

Bitcoin Core 0.21.0 được phát hành: Có gì mới?

bởi Tri Le
Bitcoin Core 0.21.0 được phát hành: Có gì mới?

Hôm nay đánh dấu sự phát hành chính thức của Bitcoin Core 0.21.0, bản phát hành chính thứ 21 của ứng dụng khách phần mềm gốc của Bitcoin do Satoshi Nakamoto ra mắt khoảng 12 năm trước. 

Được giám sát bởi người bảo trì chính Bitcoin Core Wladimir van der Laan, bản phát hành lớn mới nhất này được phát triển bởi hơn một trăm cộng tác viên trong khoảng thời gian khoảng sáu tháng. Kết quả của hơn 600 yêu cầu kéo được hợp nhất, 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, giới thiệu nhiều tính năng mới khác nhau cũng như các cải tiến về quyền riêng tư và hiệu suất, đồng thời thực hiện một bước lớn đối với việc nâng cấp giao thức Schnorr / Taproot. 

Dưới đây là một số thay đổi đáng chú ý hơn.

Ví mô tả (Descriptor Wallets)

Khi tiền xu được gửi đến một địa chỉ Bitcoin, điều thực sự xảy ra là chúng bị “khóa” trong đầu ra giao dịch chưa sử dụng (UTXO), chỉ được “mở khóa” (được chi tiêu) trong một giao dịch sau đó nếu các điều kiện ẩn trong UTXO được đáp ứng. 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, ví dụ, cũng có thể bao gồm việc bao gồm một mã bí mật, lỗi thời gian hoặc sự kết hợp của các chữ ký (multisig). 

Cho đến nay, Bitcoin Core được thiết kế để quản lý các UTXO trong ví của nó xung quanh các khóa riêng tương ứng của chúng – mặc dù khóa riêng chỉ là một trong số các điều kiện tiềm năng để chi tiêu tiền xu. Thay vào đó, Bitcoin Core 0.21.0 giới thiệu “ví mô tả”. Ví mô tả cho phép người dùng phân loại UTXO của họ dựa trên các loại điều kiện bắt buộc để sử dụng chúng. (Ví dụ: một ví cho UTXO chỉ yêu cầu chữ ký hợp lệ và một ví cho UTXO nhiều ký tự.).

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, một ứng dụng cụ thể có thể dễ dàng được thiết kế để chỉ sử dụng một loại UTXO cụ thể, như UTXO đa ký tự và bỏ qua bất kỳ UTXO không đa ký nào.

Người dùng thông thường cũng có thể nhận thấy sự khác biệt bây giờ mà các ví mô tả được triển khai. Có lẽ đáng chú ý nhất, sẽ không có ví mặc định nào được tạo khi một nút Bitcoin Core mới được khởi động. Thay vào đó, ví mới chỉ được tạo khi người dùng chọn cụ thể làm như vậy, cho phép họ chỉ tạo loại ví cụ thể mong muốn. Ví mô tả cũng hỗ trợ tốt hơn ví Chỉ xem: ví theo dõi các UTXO nhất định ngay cả khi 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 sẽ vẫn có thể sử dụng ví cũ của họ ngay bây giờ. (Ví cũ cuối cùng sẽ không được dùng nữa, có nghĩa là người dùng sẽ cần phải di chuyển ví cũ của họ sang ví mô tả, nhưng điều này sẽ không thực sự cần thiết cho đến khi có bản phát hành Bitcoin Core trong tương lai.).

Cung cấp bộ lọc khối nhỏ gọn qua mạng ngang hàng

“Ứng dụng khách nhẹ” là các ứng dụng và ví Bitcoin không tải xuống và xác thực toàn bộ chuỗi khối Bitcoin mà thay vào đó chỉ tải xuống và xác thực các phần của khối và giao dịch liên quan cụ thể đến chúng. Điều này không an toàn tối ưu, nhưng ít tốn tài nguyên hơn nhiều. 

Một cách phổ biến để làm điều này là với Bộ lọc Bloom. Tóm lại, Bộ lọc Bloom là một thủ thuật mật mã để yêu cầu dữ liệu có liên quan từ nhiều hơn hoặc ít hơn các nút ngang hàng ngẫu nhiên trên mạng. Tuy nhiên, thật không may, trong những năm qua, Bộ lọc Bloom khá không thân thiện với quyền riêng tư: về cơ bản chúng tiết lộ tất cả địa chỉ của người dùng cho nút ngang hàng (ít nhiều ngẫu nhiên), tất nhiên có thể được vận hành bởi một kẻ xâm phạm quyền riêng tư rình mò.

Một giải pháp thay thế mới hơn và bảo vệ quyền riêng tư hơn nhiều cho giải pháp Bộ lọc Bloom được gọi là “lọc khối phía máy khách nhỏ gọn” (BIP 157/158). Tính năng lọc khối phía máy khách nhỏ gọn về cơ bản biến thủ thuật Bloom Filter trở thành đầu của nó. Thay vì ví nhẹ tạo bộ lọc để gửi đế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 máy khách nhẹ theo yêu cầu. Sau đó, các khách hàng nhẹ sử dụng các bộ lọc này để tìm hiểu xem các giao dịch có liên quan đến họ có thể đã được đưa vào một khối hay không. Nếu vậy, ví nhẹ sẽ tìm nạp toàn bộ khối và chọn bất kỳ dữ liệu giao dịch có liên quan nào từ nó. (Sẽ có một số thông tin xác thực sai; các khối sẽ không có dữ liệu giao dịch liên quan trong đó mặc dù bộ lọc đã đề xuất chúng có thể.).

Các bản phát hành Bitcoin Core hiện tại đã có thể tạo 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ạy trên đầu nút (như ví). 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 qua mạng ngang hàng của Bitcoin theo yêu cầu. Điều này giúp bây giờ có thể vận hành các máy khách ánh sáng độc lập sử dụng bộ lọc nở.

Ít nỗ lực phát lại hơn

Bên cạnh Bộ lọc Bloom, các kẻ rình mò cũng có thể phá vỡ 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ể tìm ra nút nào mà một giao dịch cụ thể bắt nguồn, thì (các) địa chỉ Bitcoin của nút đó có thể được gắn với địa chỉ IP của nó, từ đó có thể được liên kết với danh tính trong thế giới thực. 

Cho đến nay, khi các nút Bitcoin Core truyền phát một giao dịch tới mạng Bitcoin, chúng sẽ cố gắng phát lại giao dịch sau mỗi mười lăm phút, cho đến khi giao dịch được bao gồm trong 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 đồng đẳng đang theo dõi, thì rõ ràng là nút Bitcoin Core đang cố gắng phát lại một giao dịch nhất định sau mỗi 15 phút cũng là nút nơi giao dịch đó bắt nguồn.

Bitcoin Core 0.21.0 giảm đáng kể tần suất mà nó cố gắng phát lại các giao dịch: chỉ 12 đến 36 giờ một lần. Việc phải phát lại ít thường xuyên hơn làm cho nhiều khả năng giao dịch đã được xác nhận kể từ lần phát đầu tiên, do đó, nút ít có khả năng phải phát lại hơn. 

Trong các bản phát hành Bitcoin Core trong tương lai, sự cố rò rỉ quyền riêng tư này sẽ được khắc phục hoàn toàn. Sau đó, một nút Bitcoin Core sẽ chỉ phát lại các giao dịch mà lẽ ra đã được xác nhận dựa trên mempool và các tính toán phí của chính nó. Hơn nữa, nó cũng sẽ phát lại các giao dịch khác, không chỉ của riêng nó.

Hỗ trợ Tor V3

Do 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 đó. Địa chỉ V2 vẫn đang được sử dụng nhưng sẽ không được dùng nữa sau khoảng một năm kể từ bây giờ.

Việc ngừng sử dụng địa chỉ V2 sẽ gây ra vấn đề cho người dùng Bitcoin Core muốn sử dụng Bitcoin qua mạng bảo mật. Các nút Bitcoin Core tìm đồng nghiệp bằng cách chia sẻ với nhau địa chỉ Tor của các nút Bitcoin sử dụng Tor đã biết. Họ đã chia sẻ điều này thông qua cùng một thông điệp mà họ sử dụng để chia sẻ địa chỉ IP thông thường của các nút khác. Trong khi địa chỉ Tor V2 có thể bị “ẩn” ở định dạng địa chỉ IP thông thường (IPV6), địa chỉ Tor V3 quá dài đối với điều đó; nói cách khác, các thông báo hiện tại quá hạn chế để tương thích với 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. Những thông điệp này có thể đủ lớn để chia sẻ địa chỉ Tor V3.

Mã Schnorr / Taproot và Triển khai Signet / Regtest

Schnorr / Taproot đã sẵn sàng 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. Đã được phát triển hơn hai năm, thuật toán chữ ký Schnorr được coi là một cải tiến toàn diện so với thuật toán chữ ký ECDSA hiện tại của Bitcoin. Kết hợp với Taproot – một thủ thuật thông minh để ẩn các điều kiện khác nhau để chi tiêu tiền xu trong cây băm mật mã – bản nâng cấp hứa hẹn cung cấp tính linh hoạt hơn cho hợp đồng thông minh theo cách có thể mở rộng và bảo vệ quyền riêng tư. 

Mã Schnorr / Taproot hiện được bao gồm trong Bitcoin Core 0.21.0.Nếu không có những phát triển không mong muốn, điều này có nghĩa là nó sẽ không có bất kỳ thay đổi nào nữa, ví dụ như các nhà phát triển ứng dụng có thể bắt đầu thiết kế phần mềm xung quanh bản nâng cấp. Ngoài ra, Schnorr / Taproot hiện đã có trên Signet (một biến thể mới hơn và đáng tin cậy hơn của testnet, được các nhà phát triển sử dụng để thử nghiệm phần mềm Bitcoin mới) và có khả năng cũng có trên Regtests (các biến thể testnet cục bộ bổ sung).

Tuy nhiên, Schnorr / Taproot sẽ không có sẵn trên mạng chính của Bitcoin. Đối với điều này, trước tiên bản nâng cấp sẽ cần phải kích hoạt, điều này yêu cầu logic kích hoạt chưa được bao gồm trong bản phát hành Bitcoin Core này. Logic kích hoạt dự kiến sẽ được đưa vào một bản phát hành Bitcoin Core nhỏ, có thể vào một lúc nào đó trong những tháng tới.

Một số thay đổi khác…

Ngoài những thay đổi ở trên, Bitcoin Core 0.21.0 bao gồm nhiều bản sửa lỗi và cải tiến hiệu suất sẽ không rõ ràng đối với người dùng thông thường. Ví dụ, ví Bitcoin Core sẽ chuyển từ sử dụng Berkeley DB sang cơ sở dữ liệu SQLite, phù hợp hơn như một 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. Điều đáng quan tâm là Bitcoin Core 0.21.0 bao gồm đại tu yêu cầu giao dịch: giao thức tin nhắn mới mà các nút Bitcoin sử dụng để tìm hiểu về các giao dịch mới được kiểm tra tốt hơn, được chỉ định tốt hơn và dễ bảo trì và xem xét hơn.

0 Bình luận

Related Posts

Để lại bình luận