Trang chủ Tạp chí Quá trình review code Bitcoin diễn ra như thế nào?

Quá trình review code Bitcoin diễn ra như thế nào?

Vào ngày 19 tháng 6, nhà phát triển Chaincode – John Newbery đã tập hợp một nhóm các nhà phát triển để kiểm tra một thay đổi được đề xuất đối với mã Bitcoin (Bitcoin Code).

Diễn ra thông qua Internet Relay Chat (IRC), họ bàn về việc liệu sự thay đổi này có giúp ngăn chặn nhóm thợ mỏ lừa đảo tăng tốc độ tạo ra khối Bitcoin hay không. Đây là vấn đề tích cực giúp hạn chế các vấn đề liên quan đến rủi ro bảo mật hoặc tác động bất lợi.

Mục tiêu của Newbery là truyền lại những gì mà anh ấy biết về việc review code Bitcoin.

qua-trinh-xem-xet-bitcoin-code-dien-ra-nhu-the-nao-1

Đây có phải là thời gian để tiến hành một thay đổi vững chắc?

Chuyên gia Newbery viết, khi giải thích về các vectơ tấn công:

“Chúng ta có thể khai thác điều này bằng cách đẩy khối điều chỉnh độ khó (difficult) trong tương lai, và sau đó kéo khối tiếp theo trở lại hiện tại.”

Nhưng thực tế là Newbery thậm chí đang tổ chức các phiên họp như thế này và đây có thể được xem là dấu hiệu cho thấy sự trưởng thành của cộng đồng các nhà phát triển Bitcoin, vì đây là ví dụ về cách mà các lập trình viên hàng đầu của dự án đã làm việc chăm chỉ để dự án trở nên toàn diện hơn. Trước đó, quá trình xem xét mã code đã chưa từng được thảo luận cởi mở và chuyên sâu như vậy.

Newbery đã thành lập Câu lạc bộ đánh giá Bitcoin Core (Bitcoin Core Review Club) để cung cấp cho các lập trình viên lời khuyên về cách phát hiện ra, xem xét một thay đổi và xác định xem nó có lợi cho thị trường tiền điện tử hay không. Biên bản cuộc họp hiện được đăng trên trang web mỗi tuần.

Điều này có thể là do Bitcoin Code là mã nguồn mở trên GitHub và bất kì ai có kết nối internet đều có thể truy cập – hoặc thậm chí thay đổi. Quá trình này đã thúc đẩy dự án từ những người viết code từng được gọi là “monolithic blob” của YouTube đến phần mềm dễ dàng hơn dành cho các nhà phát triển với ít lỗi nghiêm trọng hơn. Mọi người không ngừng cố gắng để cải thiện nó, với mục tiêu cuối cùng là khiến cho nó trở thành một cơ sở code xứng đáng cho tương lai của tiền tệ.

Vì vậy, câu lạc bộ trên cũng có thể là một trong những người đóng góp cho code Bitcoin. Không giống như mã độc quyền, bất cứ ai cũng có thể nhìn thấy và sử dụng loại code này – thứ được gọi là “mã nguồn mở”.

Một lý do mà Bitcoin còn được gọi là tiền có thể lập trình được, vì không giống như các loại tiền kỹ thuật số khác, bất kỳ ai trên thế giới có kiến thức phù hợp đều có thể thử thêm các code tính năng mới vào tiền. Một trong những cách để tìm hiểu cơ sở code là xem xét và kiểm tra các code mà lập trình viên đưa ra, để đảm bảo nó thực sự hoạt động và không mắc lỗi hoặc – trường hợp thực tế không may – vô tình chia đôi mạng lưới Bitcoin.

Nhưng qua các trang code và hàng trăm thay đổi được đề xuất, thật khó để biết bắt đầu từ đâu.

Trang web của câu lạc bộ giải thích:

“Câu lạc bộ IRC này dành cho những người muốn giúp xem xét Bitcoin Core pull request – (Một dạng tính năng trên Github) nhưng tìm thấy quy trình này quá đáng sợ”.

“Đánh giá và thử nghiệm các pull request là cách tốt nhất để bắt đầu đóng góp cho Bitcoin Core, nhưng rất khó để biết bắt đầu từ đâu. Có hàng trăm pull request khác nhau, rất nhiều trong số chúng yêu cầu kiến thức trong ngữ cảnh nhất định và những người đóng góp và đánh giá thường sử dụng thuật ngữ không mấy quen thuộc.”

Như vậy, trong khi bất cứ ai cũng có thể nhìn thấy hoặc thay đổi code của loại tiền kỹ thuật số này, nhưng để làm điều đó thật sự không dễ dàng. Bạn cần phải có kiến thức và thực hành để có thể xem xét chúng.

Quá trình đó diễn ra như sau:

Bất cứ ai cũng có thể làm được

Để bắt đầu, người dùng có thể truy cập GitHub – trang web lưu trữ tất cả các loại dự án mã nguồn mở. Có một ứng dụng dành riêng cho Bitcoin Core, triển khai phần mềm bitcoin cơ bản mà hầu hết người dùng sử dụng.

Bạn có thể nhận thấy rằng có rất nhiều thứ trên GitHub, nhưng việc xem xét lại code về cơ bản là xem xét các pull request – tính năng chứa một loạt các thay đổi mà các nhà phát triển trên toàn bộ hệ sinh thái đã gửi đến để xem xét.

Nói cách khác, có 300 thay đổi mà chưa được xem xét đầy đủ để được chính thức thêm vào cơ sở mã code, từ việc làm cho tài liệu mô tả code dễ đọc hơn đến cải thiện hiệu suất hoạt động của bitcoin.

Tại thời điểm này, các nhà phát triển đang cố gắng quyết định xem liệu những thay đổi này có nên được phê duyệt hay không. Vấn đề là có rất ít nhà phát triển có đủ kinh nghiệm xem xét thay đổi code để xác định xem chúng có nên được chính thức thêm vào cơ sở code hay không. Do đó, một người đóng góp cho Bitcoin Core đã từng mô tả danh sách pull request như nghĩa địa của những ý tưởng hay.

Đó là lý do tại sao Newbery đang cố gắng giúp đỡ trong việc tiến hành quá trình này.

Vì vậy, một người thực sự xem xét các thay đổi này như thế nào? Như Newbery mô tả trên trang web của câu lạc bộ, có một vài bước quan trọng để bắt đầu, như xem qua phần “đóng góp cho hướng dẫn Bitcoin Core”, và sửa lại C ++, ngôn ngữ lập trình Bitcoin Core được viết.

Việc tiếp theo chỉ đơn giản là chọn một thay đổi để xem xét. Với hơn 300 pull request, nên bắt đầu từ đâu? Lựa chọn tốt nhất cho những người không biết về cơ sở code là những thay đổi được dán nhãn cụ thể là “những vấn đề tốt đầu tiên”.

Khi quá trình sơ bộ kết thúc, nhà phát triển cần phải sao chép kho lưu trữ, hoặc sử dụng git để tạo một bản sao của cơ sở mã code vào máy tính của họ để họ có thể kiểm tra xem sự thay đổi có hoạt động theo kế hoạch không.

Chỉ cần một lệnh đơn giản để sao chép toàn bộ cơ sở code vào máy tính.

qua-trinh-xem-xet-bitcoin-code-dien-ra-nhu-the-nao-2

Từ đó, bạn có thể xem lại pull request. Các nhà phát triển cho biết nên chạy tất cả các thử nghiệm trên hệ thống, để đảm bảo việc thay đổi mã code không vô tình trùng với một đoạn code khác, sau đó chuyển sang xem xét phần còn lại của code.

Đối với người review

Người review cần xem xét gì?

Đầu tiên, có những mối quan tâm đặc biệt. Xác định xem liệu thay đổi mới – đặc biệt là thay đổi quan trọng – về cơ bản có dựa trên sự đồng thuận không, có nghĩa là hầu hết những người đóng góp tích cực sẽ đồng ý nên thay đổi.

Trong một cuộc họp khác của câu lạc bộ, Newbery nói:

“Những suy nghĩ của tôi về việc mở các pull request: không ai nợ bạn một đánh giá. Bất cứ ai đánh giá mã code của bạn đều đang giúp bạn. Nếu bạn tạo một pull request, bạn đang cạnh tranh với các pull request khác.”

“Nếu bạn nghi ngờ về việc người khác nghĩ rằng pull request của bạn sẽ hữu ích như thế nào, hãy hỏi #bitcoin-core-dev hoặc hỏi trực tiếp những người đóng góp khác”, Newbery đã đề cập đến một nhóm IRC khác, nơi các nhà phát triển có thể đặt câu hỏi liên quan đến quá trình phát triển Bitcoin Core.

Điều đó cho thấy rằng, các nhà phát triển không phải lúc nào cũng đồng ý về việc liệu thay đổi có đáng để thêm vào hay không. Nhóm các nhà phát triển tập trung vào các thay đổi về mã code gây tranh cãi trong một tuần. Một số người cho rằng cái xấu vượt trội hơn cái tốt, trong khi những người khác vẫn cho rằng điều đó có thể hữu ích.

Nhưng ngay cả khi có một ý tưởng chung tốt, vẫn còn có những mối quan tâm thứ yếu khác. Có lỗi phát sinh hay không? Liệu việc thay đổi mã code có đi kèm với các thử nghiệm đảm bảo rằng nó sẽ hoạt động đúng theo kế hoạch không? Đây là những câu hỏi cần rất nhiều thời gian xem xét để có thể trả lời.

Chẳng hạn, trong cuộc họp ngày 29 tháng 5 (bạn có thể xem biên bản cuộc họp đầy đủ ở đây), các nhà phát triển đã xem qua việc nâng cao hiệu suất cho ví của nút Bitcoin (Bitcoin node).

Một người đóng góp với bút danh Ariard, đã dẫn dắt cuộc họp bằng cách đưa ra quá trình review mà họ đã phát triển. “Trước tiên, tôi đã cố gắng xác định loại PR (Pull request): Tài liệu, loại code, sửa lỗi buf, tính năng mới hoặc thử nghiệm bổ sung. Bởi vì [theo ý kiến của tôi] những điều này sẽ hướng dẫn bạn xác định, bạn sẽ cần bao nhiêu thời gian để review và loại thử nghiệm nào cần thiết”, nhà phát triển cho biết.

Một nhà nhận xét khác chỉ ra rằng họ nhận thấy sự cải thiện chỉ bằng cách kiểm tra xem mã code đã mất bao lâu để hoạt động – trước và sau. “10000 khóa của tôi nhập vào từ 8 phút đến 3 giây xD”, một người dùng khác có tên jb55 cho biết.

Biên bản cuộc họp được thêm vào với nhiều lời khuyên khác về cách sắp xếp hợp lý quá trình này và giúp dễ dàng xem xét hơn, với nhiều cuộc họp sẽ được lên lịch trong tương lai. Một vài phần tiếp theo sẽ được dẫn dắt bởi nhà văn và nhà đóng góp Bitcoin – David Harding.

Việt Cường

Tạp chí Bitcoin| Coindesk

MỚI CẬP NHẬT

Putin: Nga xem xét tiền kỹ thuật số cho hệ thống thanh toán độc...

Tổng thống Nga Vladimir Putin nhấn mạnh rằng Nga đang nghiên cứu việc sử dụng tiền kỹ thuật số quốc gia để triển khai...

Giá RNDR tăng 26% nhưng vẫn tụt hậu hơn đối thủ – Tiếp theo...

Giá Render (RNDR) đã tăng 26% trong tuần qua, khẳng định vị thế của nó như một nhân tố chủ chốt trong lĩnh vực...

Tại sao MicroStrategy ETF đòn bẩy là lựa chọn mạo hiểm cho nhà đầu...

Các nhà đầu tư Mỹ dường như đang dần lấy lại niềm tin vào các sản phẩm đầu tư rủi ro, khi các quỹ...

CEO nền tảng tiền điện tử Zort bị bắt với cáo buộc tống tiền,...

CEO nền tảng tiền điện tử Zort, Adam Iza, đã bị bắt do nhiều cáo buộc nghiêm trọng, bao gồm tội tống tiền, âm...

5 altcoin đáng chú ý bạn nên theo dõi trong tháng 10

Tháng 10 đang cận kề, và các trader đang háo hức chờ đợi đợt tăng giá thường thấy của thị trường vào thời điểm...

FBI thu giữ 6 triệu USD liên quan đến các âm mưu lừa đảo...

Cục Điều tra Liên bang Mỹ (FBI) đã thu giữ hơn 6 triệu USD tiền điện tử từ các kẻ lừa đảo có trụ...
dYdX sẽ loại bỏ nền tảng Version 3

dYdX sắp ngừng hoạt động V3, chuyển sang phiên bản ‘Unlimited’

dYdX Trading Inc., công ty tiên phong trong thị trường giao dịch phi tập trung cung cấp giao dịch ký quỹ và giao dịch...

Được thúc đẩy bởi dòng tiền từ crypto, tài sản ETF của Mỹ đạt...

Tổng tài sản của các quỹ ETF tại Hoa Kỳ đã lần đầu tiên vượt qua mốc $10 nghìn tỷ vào ngày 27 tháng...
bnb-tang-gia

Giá BNB vượt $600 khi nhiều nhà phân tích dự đoán giá sẽ tăng...

BNB, token gốc của BNB Chain, đã tăng vọt lên mức $614 vào ngày 28 tháng 9, đánh dấu mức tăng 25,7% trong ba...

Bolivia chứng kiến mức tăng 100% trong giao dịch tài sản ảo kể từ...

Ngân hàng Trung ương Bolivia (BCB) vừa công bố báo cáo cho thấy giao dịch trung bình hàng tháng tài sản ảo đã tăng...

Memecoin Moo Deng tăng 800% trong tuần – Liệu có quá FOMO?

Moo Deng (MOODENG), một đồng memecoin được phát triển trên nền tảng Solana, đã ghi nhận mức tăng 70% trong 24 giờ qua và...
3 loại tiền điện tử này sẽ có bước chuyển lớn vào năm 2025

[QC] 3 altcoin này sẽ có bước chuyển lớn vào năm 2025: Một trong...

Mặc dù Shiba Inu đã tạo được dấu ấn đáng kể trên thị trường tiền điện tử, nhưng các đồng coin khác như...

ETH đặt mục tiêu lấy lại mốc $2.817 sau khi phí giao dịch tăng...

Ethereum (ETH) hiện đang giao dịch quanh mức $2.700 vào hôm nay, tăng hơn 2% sau khi phí giao dịch tăng vọt 498% trong...
meme-coin-tang

Pepe tăng 40% trong một tuần khi khối lượng giao dịch memecoin bùng nổ

Pepe (PEPE), một memecoin dựa trên Ethereum, đã tăng hơn 41% trong tuần qua khi thị trường memecoin phục hồi trên diện rộng. Hiện tại,...

Shiba Inu (SHIB) hướng đến mức tăng hai chữ số với tín hiệu từ...

Shiba Inu (SHIB), đồng memecoin lớn thứ hai trên thị trường, đã ghi nhận sự gia tăng đáng kể ở hai chỉ số quan...

Giá Coin hôm nay 28/09: Bitcoin chạm $66.000, altcoin ngập sắc xanh khi Phố...

Giá Bitcoin đạt mức cao nhất trong hai tháng vào đầu phiên giao dịch ngày thứ Sáu tại $66.498. Biểu đồ giá BTC - 1...