Chương 8: Truy Vết chuỗi khối Và Nhật Ký Commit
Mười một giờ đêm, tầng bốn mươi của Vạn An Plaza chỉ còn một phòng sáng đèn. Rèm kéo kín, điều hòa chạy rì rì, mùi cà phê hòa tan nguội lạnh lẫn với mùi mì gói bốc lên từ mấy chiếc hộp xốp bỏ dở trên bàn.
Hùng đến lúc chín giờ, vác theo một chiếc ba lô nặng trịch và hai màn hình rời. Cậu ta gầy nhẳng, tóc rối bù, mặc chiếc áo phông bạc màu in hình chim cánh cụt, thứ đồng phục không chính thức của dân lập trình mã nguồn mở. Hồi đại học, Hùng ở cùng phòng ký túc xá với Lâm, một người học Y, một người học Bách khoa, nhưng đêm nào cũng thức đến ba giờ sáng như nhau. Cũng chính Hùng, ba năm trước, đã dựng cho Lâm cái hệ thống quản lý phiên bản để lưu nhật ký nghiên cứu, theo đúng cách người ta lưu mã nguồn phần mềm.
“Ông đúng là bác sĩ duy nhất tôi biết dùng Git để ghi chép bài thuốc.” Hùng vừa nói vừa cắm chiếc ổ cứng vào máy. “Hồi đó tôi còn cười ông. Giờ thì xem ra cái thói cẩn thận của ông đáng giá cả trăm tỷ.”
Chiếc ổ được mã hóa hai lớp. Lâm nhập mật khẩu thứ nhất, Hùng xử lý lớp thứ hai bằng một khóa riêng anh đã cất từ ba năm trước. Màn hình đen chạy những dòng chữ xanh, rồi một tiếng bíp ngắn vang lên. Toàn bộ kho dữ liệu hiện ra: hơn bốn nghìn lần commit, mỗi lần là một dấu mốc ghi lại ai đã thay đổi cái gì, vào lúc nào.
Trịnh Khánh Vy ngồi thu chân trên chiếc ghế xoay bên cạnh, khoác hờ chiếc áo len mỏng. Cô không hiểu hết những dòng chữ đang chạy, nhưng mắt cô không rời màn hình. “Cứ giải thích như cho người ngoài ngành.” Cô nói. “Em cần hiểu để còn nói lại với luật sư.”
“Dễ hiểu thôi chị.” Hùng xoay ghế. “Mỗi lần anh Lâm sửa công thức hay nhập dữ liệu bệnh nhân, hệ thống tạo ra một commit. Mỗi commit có một mã băm SHA-256, giống như dấu vân tay. Chỉ cần đổi một dấu phẩy trong dữ liệu, dấu vân tay đó thay đổi hoàn toàn. Các commit nối với nhau thành một chuỗi, cái sau chứa dấu vân tay của cái trước. Muốn sửa một dòng trong quá khứ mà không ai phát hiện thì phải làm giả lại toàn bộ chuỗi phía sau.”
“Và còn một lớp nữa.” Lâm bổ sung. “Cứ cuối mỗi tuần, Hùng viết cho tôi một đoạn mã tự động lấy mã băm mới nhất của cả kho, ghi lên một chuỗi khối công khai. Chi phí chỉ vài nghìn đồng mỗi lần. Nhưng từ đó, không ai, kể cả tôi, có thể nói rằng dữ liệu này được tạo ra sau ngày đó.”
Vy hiểu ra. “Tức là anh có thể chứng minh công thức gốc là của anh, và có từ trước khi NexaCorp xuất hiện.”
“Đó mới là phần dễ.” Hùng nói, gõ một dòng lệnh. “Phần khó là tìm ra ai đã chạm vào nó.”
Ba tiếng đồng hồ trôi qua trong tiếng gõ phím lách cách. Hùng lọc từng commit, đối chiếu tên tài khoản, giờ đăng nhập, địa chỉ máy. Lâm ngồi cạnh, đọc từng thay đổi trong công thức, giải thích ý nghĩa y khoa của từng dòng. Vy pha cà phê lần thứ tư, rồi thứ năm. Ngoài kia, Hà Nội đã ngủ say, chỉ còn vệt đèn cầu Nhật Tân lấp lánh nơi chân trời.
Hai giờ mười lăm phút sáng, Hùng đột ngột dừng tay. Cậu ta cúi sát vào màn hình, đẩy kính lên trán, rồi kéo kính xuống, như không tin vào mắt mình.
“Lâm. Ông xem cái này.”
Lâm cúi xuống. Trên màn hình là một chuỗi mười bảy commit liên tiếp, thực hiện trong khoảng từ mười một giờ đêm đến ba giờ sáng của một ngày cách đây năm tháng. Tài khoản thực hiện không phải của Lâm. Đó là tài khoản quản trị cấp cao nhất của Viện, đăng ký dưới tên: Lê Hữu Hoài.
“Đêm đó tôi đi hội thảo ở Huế.” Lâm nói khẽ, giọng khàn lại. “Tôi nhớ rõ.”
Hùng mở từng commit. Commit đầu tiên: sao chép toàn bộ công thức gốc sang một nhánh mới. Commit thứ hai: xóa phần ghi chú về nguồn gốc sâm đá và quy trình chọn cây đủ tuổi. Rồi từ commit thứ ba đến thứ mười lăm, từng con số trong bảng hàm lượng bị sửa dần, sửa dần, như ai đó đang mặc cả với chính lương tâm mình.
Đến commit thứ mười sáu, hàm lượng hoạt chất từ sâm đá chỉ còn đúng mười phần trăm so với công thức gốc. Phần thiếu hụt được thay bằng một hợp chất tổng hợp rẻ tiền. Kèm theo là một bảng tính chi phí: giá thành mỗi liều giảm gần mười lần.
“Hắn cắt sâm đá.” Lâm nói, giọng run lên lần đầu tiên trong đêm. “Sâm đá không chỉ là hoạt chất chính. Nó là thứ giữ cân bằng, ngăn cái hợp chất kia kết tủa trong phế nang. Thiếu nó, thuốc sẽ đọng lại trong phổi, gây viêm, rồi xơ hóa. Đó chính xác là những gì đã xảy ra với anh Tâm và mấy bệnh nhân nghèo trong nhóm thử nghiệm. Những người không đủ tiền chữa ở chỗ khác, nên đồng ý dùng thuốc thử miễn phí.”
Vy đặt tay lên vai anh. Cô cảm nhận được cả người anh đang căng cứng như dây đàn. “Rồi họ đổ lỗi cho anh.”
“Họ đổ lỗi cho tôi.” Anh nhắm mắt lại. “Và tôi đã mất bốn tháng chỉ để nghi ngờ, không dám tin thầy mình lại làm thế.”
Hùng mở commit cuối cùng, commit thứ mười bảy. Dòng mô tả hiện lên rõ ràng, như một lời tự thú vô tình: “Bàn giao bản tối ưu chi phí cho đối tác. Mã sản phẩm: Nexa-09.”
Căn phòng lặng đi. Rồi Hùng chạy thêm một lệnh đối chiếu. Mã băm của chuỗi commit này khớp hoàn toàn với tài khoản quản trị của Lê Hữu Hoài, khớp với địa chỉ máy đặt trong phòng làm việc của Viện trưởng, và khớp với chuỗi dấu thời gian đã được ghi lên chuỗi khối công khai tuần đó. Không thể chối cãi.
“Nexa-09.” Vy nhắc lại, giọng lạnh đi. “Đó là sản phẩm NexaCorp chuẩn bị niêm yết. Họ định gọi vốn cả tỷ đô dựa trên nó.”
Lâm cầm điện thoại, gọi cho luật sư Minh Đức. Đã gần ba giờ sáng, nhưng chỉ sau hai hồi chuông, một giọng đàn ông trung niên tỉnh táo đã vang lên. “Tôi chưa ngủ, anh Lâm. Tôi biết đêm nay anh sẽ gọi.”
Lâm tóm tắt trong năm phút. Đầu dây bên kia im lặng một lúc, rồi luật sư Minh Đức nói chậm rãi, từng chữ một: “Với chừng này, tôi sẽ soạn ngay đơn tố giác hình sự gửi Cục Cảnh sát điều tra tội phạm về tham nhũng, kinh tế, buôn lậu của Bộ Công an. Tội danh không chỉ là xâm phạm quyền tác giả. Nếu có thiệt hại về sức khỏe bệnh nhân, đây là vi phạm quy định về khám chữa bệnh gây hậu quả nghiêm trọng. Và nếu có dòng tiền từ NexaCorp, thì còn là đưa và nhận hối lộ.”
“Có dòng tiền.” Lâm nói. “Năm ngoái Viện nhận một khoản gọi là tài trợ nghiên cứu từ NexaCorp, nhưng nó chưa bao giờ xuất hiện trong ngân sách đề tài của tôi.” Vy ghé sát điện thoại: “Em sẽ thuê một hãng kiểm toán độc lập trong nhóm Big 4 truy vết khoản tiền đó. Ngay sáng mai.”
“Tốt.” Luật sư Minh Đức nói. “Nhưng nhớ, đừng để lộ một chữ nào ra ngoài. Nếu họ đánh hơi được, họ sẽ phi tang. Chúng ta chỉ có một lần tung đòn.”
Cúp máy, cả ba ngồi im trong ánh sáng xanh của màn hình. Hùng ngả người ra ghế, vươn vai kêu răng rắc. “Ba giờ sáng mà tôi tỉnh như sáo. Lâu lắm rồi mới làm được một việc ra hồn thế này.”
Lâm không cười. Anh vẫn nhìn chằm chằm vào dòng chữ “Nexa-09” trên màn hình. Rồi anh mở trình duyệt, gõ tên sản phẩm. Kết quả đầu tiên là một thông cáo báo chí đăng từ chiều qua, khi cả Vạn An đang ngập trong khủng hoảng, nên không ai để ý.
“Viện Phổi Quốc tế Việt – Đức và NexaCorp sẽ công bố biệt dược Nexa-09 tại Hội thảo Y học Hô hấp Quốc gia. Năm bệnh nhân xơ hóa kẽ phổi đã dùng thử thuốc sẽ trực tiếp lên sân khấu chia sẻ kết quả điều trị.”
Lâm đọc đi đọc lại dòng cuối. Mặt anh tái đi.
“Năm bệnh nhân.” Anh nói khẽ. “Họ đã dùng thứ thuốc thiếu sâm đá ấy bao lâu rồi?”
Hùng tra ngày tháng. “Theo thông cáo, khoảng hai tuần.”
Lâm đứng bật dậy, chiếc ghế xoay lăn ra sau va vào tường. “Hai tuần là đủ để hợp chất đó kết tủa trong phế nang. Họ sẽ không chỉ đem một sản phẩm ăn cắp lên sân khấu.” Anh nhìn Vy, ánh mắt tối sầm lại. “Họ sẽ đem năm quả bom nổ chậm lên đó, trước mặt cả ngàn người.”