Tiêu đề gốc: "Lịch sử phát triển Bitcoin chưa đầy đủ"
Tác giả gốc: 0xB10C
Bản tổng hợp gốc: Một người đam mê Jian, Ethereum
Để hiểu đầy đủ lý do đằng sau tình trạng phát triển Bitcoin hiện tại, bạn không được hiểu một số những sự kiện mang tính lịch sử. Bài viết này tập trung liệt kê các sự kiện lịch sử, phát hành phần mềm và sửa lỗi trước và sau khi Satoshi Nakamoto rời khỏi dự án; một chương bổ sung được thêm vào để mô tả hiện trạng phát triển Bitcoin. Dòng thời gian kèm theo bài viết cung cấp thêm thông tin chi tiết cho từng sự việc.
Tôi không phải là nhân chứng của hầu hết các sự kiện ở đây. Vì vậy, phần lớn dòng thời gian này được trích dẫn từ bài phát biểu có tên “Lịch sử và triết lý phát triển Bitcoin” của John Newbery. Tiêu đề của bài viết này cũng rất rõ ràng, bài viết này không và không thể chứa đựng mọi sự kiện quan trọng. Lịch sử luôn thay đổi. Nếu bạn cho rằng tôi đã bỏ lỡ bất kỳ sự kiện nào hoặc muốn đề xuất một số thay đổi, vui lòng gửi vấn đề trong lịch sử phát triển bitcoin của dự án mã nguồn mở. Đây cũng là phương pháp tôi sử dụng để đính kèm thêm các mốc thời gian.
p>
Thời điểm bắt đầu của mốc thời gian này là đầu năm 2007. Satoshi Nakamoto bắt đầu phát triển Bitcoin. Không có chỗ cho niềm tin vào hệ thống tiền điện tử ngang hàng này. Toàn bộ hệ thống được điều khiển hoàn toàn bằng phần mềm do người dùng điều hành.
Trong những ngày đầu, những người đóng góp đã tham gia vào công việc của Satoshi Nakamoto. Ngoài việc phát triển phần mềm, những người đóng góp mới này còn hỗ trợ thêm cho hệ điều hành Linux và maxOS. Vào mùa hè năm 2010, Satoshi đã thực hiện một số thay đổi quan trọng đối với phần mềm. Ví dụ: "điểm kiểm tra" được đưa ra như một biện pháp an ninh để chống lại các cuộc tấn công lan truyền các chuỗi có độ khó thấp. Các nút sử dụng các điểm kiểm tra này sẽ từ chối các chuỗi không khớp với chiều cao khối cụ thể. Các điểm kiểm tra chỉ được mã hóa cứng bởi Satoshi, về mặt lý thuyết cho phép Satoshi quyết định toàn bộ mạng sẽ tuân theo chuỗi nào.
Vài ngày sau khi thêm điểm kiểm tra, Satoshi Nakamoto đã đưa ra thay đổi cơ chế đồng thuận đầu tiên trong phiên bản v0.3.3 của phần mềm. Satoshi Nakamoto kêu gọi người dùng nâng cấp. Trong tháng tiếp theo, nhiều bản cập nhật phiên bản nhỏ lần lượt được phát hành. Một trong số đó đã khắc phục lỗ hổng tràn nghiêm trọng. Lỗ hổng này đã bị khai thác để tạo ra hai UTXO có giá trị cao. Satoshi Nakamoto khuyên các thợ mỏ nên sắp xếp lại các khối chứa các giao dịch độc hại.
Một tuần sau, Satoshi Nakamoto đã thêm một hệ thống cảnh báo để cảnh báo người vận hành nút về các lỗi và sự cố tương tự trong mạng. Hệ thống báo động này có chế độ an toàn. Sau khi được kích hoạt, chế độ an toàn này sẽ vô hiệu hóa tất cả các phương thức RPC để xử lý tiền tệ trên toàn bộ mạng. Chỉ Satoshi Nakamoto mới có thể tạo cảnh báo mạng hợp lệ bằng chữ ký khóa riêng. Một số người dùng bắt đầu đặt câu hỏi: Điều gì sẽ xảy ra với mạng nếu ai đó khác, chẳng hạn như chính phủ, lấy được khóa riêng?
Tại thời điểm này, Satoshi Nakamoto có quá nhiều quyền lực đối với mạng Bitcoin. Nhưng mối quan tâm chính không phải là Satoshi Nakamoto sẽ trở nên tồi tệ và phá hủy toàn bộ mạng, mà là không nên có một điểm thất bại nào trong mạng phi tập trung.
Vào tháng 10 năm 2010, Satoshi Nakamoto đã xuất bản bài đăng cuối cùng của mình trên diễn đàn bitcointalk, thông báo về việc loại bỏ chế độ an toàn này. Trong một trong những email cuối cùng của mình, Satoshi Nakamoto viết: "Tôi sẵn sàng đi nơi khác. Với Gavin và mọi người, dự án này sẽ được duy trì tốt". Một số người cho rằng việc Satoshi Nakamoto rời khỏi thế giới Bitcoin là một trong những đóng góp lớn nhất của ông.
Gần như đồng thời, toàn bộ quá trình phát triển đã được chuyển từ SVN sang GitHub. BlueMatt, Sipa, laanwj và gmaxwell đã tham gia dự án. Vào giữa năm 2011, quy trình BIP (Đề xuất nâng cấp Bitcoin) ra đời. Trong quý cuối cùng của năm 2011 và tháng đầu tiên của năm 2012, cộng đồng đã thảo luận nhiều đề xuất cho phép người nhận giao dịch chỉ định các điều kiện chi tiêu. Do đó, các giao dịch P2SH đã được giới thiệu với Bitcoin.
Vào cuối năm 2012, Quỹ Bitcoin đã được công bố. Quỹ Bitcoin được mô phỏng theo Quỹ Linux. Dưới bài đăng thông báo, một số người đã để lại tin nhắn bày tỏ lo ngại rằng sự phát triển sẽ trở nên tập trung.
Bitcoin v0.8.0 được phát hành vào mùa xuân năm 2013. Hai tuần sau, một đợt hard fork bất ngờ đã nổ ra giữa các nút được nâng cấp và không nâng cấp trong mạng. Hard fork nhanh chóng được giải quyết và các thợ mỏ đã chuyển sức mạnh khai thác của họ sang một chuỗi hợp lệ cho cả các nút đã nâng cấp và không nâng cấp.
Cuối năm 2013, phần mềm Bitcoin được đổi tên thành Bitcoin Core. Trong vài năm tiếp theo, các công ty bao gồm Chaincode và Blockstream đã được thành lập. Sau đó, Chaincode và Blockstream đã được tham gia bởi Sáng kiến tiền tệ kỹ thuật số MIT, tổ chức này cung cấp khoản thù lao cho các nhà phát triển và nhà nghiên cứu làm việc trên Bitcoin. Vào tháng 2 năm 2015, Joseph Poon và Tadgw Dryja đã phát hành bản thảo đầu tiên của sách trắng Lightning Network.
Năm sau, Luke Dashjr đã sửa đổi quy trình BIP thông qua BIP 2; Bitcoin Core phát hành phiên bản 0.13.0, bổ sung SegWit dưới dạng một fork mềm. Vào tháng 11 năm 2016, hệ thống báo động đã hoàn toàn ngừng hoạt động. Đến tháng 8 năm 2017, SegWit đã được kích hoạt trên mạng Bitcoin. Năm 2019, một công ty khác, Square Crypto, đã bắt đầu tài trợ cho việc phát triển Bitcoin. Vào tháng 5 năm 2019, Pieter Wuille đã đề xuất root máy BIP.
Trong vài năm qua, văn hóa phát triển của Bitcoin ngày càng trở nên phi tập trung, có mục đích và nghiêm ngặt. Cơ sở mã Bitcoin Core hiện có sáu nhà bảo trì, trải rộng trên ba quốc gia. Chỉ họ mới có thể hợp nhất các thay đổi mã do người đóng góp đề xuất. Tuy nhiên, những thay đổi phải trải qua quá trình xem xét trước khi chúng có thể được hợp nhất và quá trình này đã trở nên nghiêm ngặt hơn nhiều.
Ví dụ, trong những ngày đầu của Bitcoin, có một đề xuất cạnh tranh với P2SH có tên là "OP_EVAL". Yêu cầu kéo ("yêu cầu hợp nhất") triển khai OP_EVAL đã được hợp nhất vào cơ sở mã vào cuối năm 2011. Ngay cả khi mã có những thay đổi lớn đối với sự đồng thuận thì nó cũng chỉ có một người đánh giá. Russell O'Connor đã mở ra một vấn đề chỉ trích một phần của việc triển khai này và lập luận rằng một thay đổi lớn, mang tính đồng thuận quan trọng như vậy sẽ nhận được nhiều đánh giá và thử nghiệm hơn.
Sự cố này đã thúc đẩy một cuộc thảo luận đang diễn ra về cách đạt được mã chất lượng cao hơn thông qua nhiều thử nghiệm và đánh giá hơn. Ngày nay, mọi yêu cầu hợp nhất đều có nhiều nhà phát triển xem xét. Nếu một thay đổi chạm đến phần quan trọng về bảo mật hoặc thậm chí là sự đồng thuận, thì quá trình xem xét sẽ cần được nhiều người đánh giá xem xét hơn, yêu cầu thử nghiệm nhiều và thường mất vài tháng. John Newbery, một người đóng góp tích cực cho Bitcoin Core, đã nói với tôi: “Đã qua rồi cái thời mà mã ảnh hưởng đến sự đồng thuận có thể được hợp nhất chỉ với sự chấp thuận của người đánh giá”.
Mọi người cũng đã nỗ lực rất nhiều vào việc thử nghiệm tự động, ví dụ, có các bài kiểm tra đơn vị được viết bằng ngôn ngữ C++ và các bài kiểm tra chức năng được viết bằng ngôn ngữ Python. Mọi thay đổi không hề nhỏ đều yêu cầu cập nhật các thử nghiệm hiện có hoặc thêm các thử nghiệm mới vào khung. Ngoài thử nghiệm đơn vị và thử nghiệm chức năng, chúng tôi cũng cần thực hiện thử nghiệm fuzz trên Bitcoin Core và thiết lập khung thử nghiệm điểm chuẩn để đo lường hiệu suất của mã. Ví dụ: mạng bitcoinperf.com cung cấp giao diện Grafana và codespeed để trực quan hóa kết quả của các điểm chuẩn định kỳ.
Sau nhiều năm làm việc chăm chỉ, phần mềm Bitcoin Core đã hình thành một quy trình phát hành rõ ràng. Các phiên bản chính của Bitcoin Core được phát hành 6 tháng một lần. Kế hoạch phát hành bao gồm quy trình dịch thuật, quy trình đóng băng tính năng và thường có nhiều ứng cử viên phát hành. Cory Fields và Carl Dong gần đây cũng đã làm việc để cải thiện tính bảo mật của quy trình xây dựng Bitcoin Core, sử dụng các gói xây dựng xác định và có khả năng khởi động. Hệ thống xây dựng mới này có thể chưa sẵn sàng hỗ trợ Bitcoin Core v0.19.0, dự kiến được phát hành vào mùa thu này, nhưng có thể cung cấp bảo mật quy trình xây dựng tốt hơn trong tương lai.
Mười Văn hóa phát triển của Bitcoin đã thay đổi qua nhiều năm, từ tập trung cao độ xung quanh Satoshi Nakamoto đến phi tập trung hóa xung quanh hàng nghìn người đóng góp GitHub (dữ liệu năm 2018). Rõ ràng, các tiêu chuẩn cao về đánh giá mã, chất lượng mã và bảo mật là cần thiết. Các tiêu chuẩn này được tuân theo và liên tục được cải tiến.
Tôi tin rằng việc hiểu những sự kiện lịch sử này là điều cần thiết để hiểu đầy đủ triết lý đằng sau tình trạng phát triển Bitcoin hiện tại. Vì vậy tôi đã lập một dòng thời gian cho nhiều sự kiện hơn.
Nếu bạn có nhu cầu nghiên cứu sâu hơn, bạn nên đọc The Tao Of Bitcoin Development được viết bởi Alex B. ( Bản dịch tiếng Trung), được viết bởi Eric Lombrozo Quy trình hợp nhất lõi Bitcoin (quy trình hợp nhất mã lõi Bitcoin) và Kiệt tác của Jameson Lopp Ai kiểm soát Bitcoin Core? (Ai kiểm soát Bitcoin Core?).
Cảm ơn John Newbery vì giúp tôi Chải qua và xem lại bài viết này. Ông đã thực hiện rất nhiều nghiên cứu lịch sử trong bài phát biểu Lịch sử và Triết lý phát triển Bitcoin, đây cũng là cơ sở cho bài viết này. Ngoài ra, tôi rất biết ơn Chaincode Labs, người đã mời tôi tham gia Summer Residency 2019 của họ, nơi tôi đã gặp được nhiều người thú vị và học hỏi được nhiều điều, cũng chính ở đó mà tôi bắt đầu sắp xếp dòng thời gian và viết bài này.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia