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

OpenSea

OpenSea tiết lộ airdrop cho trader NFT khi thị trường Ethereum mở rộng

Vào thứ 5, OpenSea Foundation đã chính thức công bố sắp ra mắt token SEA, nhằm thưởng cho những người dùng tích cực, trung...

[QC] Tìm kiếm altcoin bùng nổ tiếp theo? Đồng coin này có thể sánh...

Mọi nhà đầu tư crypto đều săn lùng token tiếp theo có thể bùng nổ, và DTX Exchange đang dẫn đầu cuộc đua....
Tether

JPMorgan cảnh báo Tether có thể bán Bitcoin trong bối cảnh các quy định...

Theo các nhà phân tích của JPMorgan, Tether có thể sẽ phải bán các tài sản không tuân thủ — bao gồm Bitcoin, kim...
Ethereum Foundation chuyển 120 triệu đô la cho các ứng dụng DeFi

Ethereum Foundation chuyển 120 triệu đô la vào các ứng dụng DeFi chấn an...

Ethereum Foundation đã phân bổ 120 triệu đô la Ether cho các giao thức DeFi, giải đáp mối lo ngại của cộng đồng về...
SEC cùng CFTC thảo luận về việc khôi phục lại Ủy ban cố vấn chung về quy định tiền điện tử

SEC cùng CFTC thảo luận về việc khôi phục lại Ủy ban cố vấn...

Ủy ban Chứng khoán và Giao dịch (SEC) cùng Ủy ban Giao dịch Hàng hóa Tương lai (CFTC) đang tiến hành thảo luận về...

Hàn Quốc cho phép các tổ chức từ thiện và trường đại học bán...

Cơ quan quản lý tài chính hàng đầu của Hàn Quốc dự kiến sẽ cho phép các tổ chức từ thiện, trường đại học...

Thị trường memecoin tiếp tục lao dốc khi các nhà đầu tư chuyển sang...

Dữ liệu gần đây cho thấy thị trường memecoin sụt giảm liên tiếp trong những tháng qua, phản ánh sự thay đổi mạnh mẽ...
Bitcoin

Texas tái đề xuất dự luật Bitcoin, mở rộng cơ hội cho các coin...

Các nhà lập pháp Texas đã tái đệ trình dự luật dự trữ Bitcoin chiến lược dưới một cái tên hơi khác, mở ra...

Metaplanet thúc đẩy tham vọng Bitcoin sau khi huy động thành công 4 tỷ...

Metaplanet, một công ty niêm yết tại Nhật Bản, đã huy động được 4 tỷ yên (tương đương 26,32 triệu đô la) thông qua...

Tin vắn Crypto 13/02: Bitcoin vẫn tiếp tục nhấp nháy tín hiệu giảm giá...

Từ nhận định Bitcoin nhấp nháy tín hiệu giảm giá trong thời gian tới đến Ethereum Foundation đã chuyển một phần Ether nắm giữ...
Thống đốc Christopher Waller của Fed cho biết các ngân hàng và tổ chức phi ngân hàng nên được phép phát hành stablecoin

Thống đốc Fed Christopher Waller ủng hộ việc cả ngân hàng và tổ chức...

Thống đốc Cục Dự trữ Liên bang Hoa Kỳ (Fed), Christopher Waller, nhận định rằng stablecoin có thể mở rộng phạm vi sử dụng...
Coincheck

Sàn Coincheck của Nhật Bản đạt mức tăng trưởng doanh thu 75% trong quý...

Sàn giao dịch Coincheck của Nhật Bản đã đạt mức tăng trưởng doanh thu ấn tượng 75% trong quý 3 tài chính, một thành...

Thị trường AI đối mặt với nhiều khó khăn, chỉ 27 trong số 82...

Trong bối cảnh thị trường crypto phát triển mạnh mẽ, các dự án token hóa ra đời từ Solana AI Hackathon đã nhanh chóng...
meme coin mới do cộng đồng điều hành bước vào thị trường

[QC] PEPE và BONK vật lộn trong thị trường gấu khi đồng meme coin...

Sự suy thoái thị trường gần đây vẫn còn ảnh hưởng lớn đến không gian tiền điện tử, với các memecoin hàng đầu như...

400 triệu đô la các vị thế Short sẽ bị thanh lý nếu giá...

XRP đã cố gắng phục hồi sau đợt giảm sâu 25%, đẩy giá từ 3 đô la xuống còn 2,33 đô la. Dù các...

POPCAT và PENGU đạt mức tăng trưởng hai chữ số sau khi niêm yết...

Coinbase, sàn giao dịch tập trung lớn thứ ba theo khối lượng giao dịch, đã công bố niêm yết Popcat (POPCAT) và Pudgy Penguins...