Bài dịch từ Mark Frauenfelder, biên tập viên tại WIRED và là sáng lập tạp chí MAKE. Ông là giám đốc nghiên cứu tại Blockchain Futures Lab thuộc Institute of the Future.

"Chết cha quên mã PIN rồi": Câu truyện về việc "đánh rơi" $30,000 bitcoin

Ngày 04/01/2016: 7,4 BTC = 3.000 USD

Vào tháng 1/2016 tôi đầu tư 3.000USD để mua 7,4 bitcoins. Tại thời điểm đó, giao dịch này là một quả đầu tư rất ngon. Khi ấy, tôi làm việc với vai trò giám đốc nghiên cứu tại Blockchain Futures Lab thuộc Institute for the Future. Thế nên tôi muốn trải nghiệm một chút về bitcoin, một loại tiền ảo sử dụng blockchain để ghi nhận giao dịch trong mạng lưới của nó. Tôi không hề biết rằng, giao dịch này sẽ dẫn tới một câu chuyện rất ly kỳ sẽ nói dưới đây.

Trải nghiệm của tôi với bitcoin phải nói là quá tuyệt. Dùng bitcoin mua hàng quả thực dễ dàng đến mức đáng ngạc nhiên. Tôi dùng app airBitz để mua điểm Starbuck. Rồi thì dùng Purse.io để mua camera giám sát không dây từ Amazon. Và tôi còn dùng bitcoin tại Meldown Comics ở Los Angeles để mua truyện tranh nữa.

Tới tháng 11, giá trị bitcoin đã tăng gấp đôi so với hồi tháng 1 và vẫn đang trên đà tăng hằng ngày. Và thế là món tiền ảo của tôi bắt đầu đem lại tiền thật. Tôi vẫn giữ key bitcoin của ở 1 cái ví bitcoin trên web. Nhưng sau đó, tôi muốn cất ở một nơi khác an toàn hơn.

Rất nhiều dịch vụ bitcoin giữ private key của khách hàng. Điều này có nghĩa là những tài khoản đó rất dễ bị hacker xin đểu. Điển hình là vụ Mt.Gox mất 850.000 bitcoin năm 2014. Hoặc số nhọ thì thậm chí bị chính phủ đánh sập nữa (vụ BTC-e của Nga bị chính phủ Mỹ bắt ấy).

Tôi có phỏng vấn qua rất nhiều chuyên gia về bitcoin. Đa số họ đều khuyên đem bitcoin cất ở một cái gọi là “ví cứng dành cho bicoin”. Thiết bị nhỏ gọn này về cơ bản là một cái USB. Bạn sẽ lưu private key của bạn trong đó và cho phép bạn giao dịch mà không bị lộ key ra internet.

Tôi quyết định chọn mua một cái key của Trezor (trong tiếng Séc nghĩa là “an toàn”). Cái ví này được nhà sản xuất quảng cáo là có thể chống đạn luôn nữa. Tôi mua một cái vào 22/11 với giá 100 USD trên Amazon (tất nhiên là qua Purse.io)

Khi cục Trezor này được đưa đến, tôi cắm vào máy tính và vào trang web của Trezor để cài đặt cho nó. Trang web hướng dẫn ghi lại 24 từ ngẫu nhiên được sinh ra. Mấy từ kiểu như “thịt”, “nhà”,  “xe”, “áo”. Tôi ghi hết mấy từ này lại vào một mẩu giấy ghi nhớ. Sau đó tạo một mã PIN, tôi cũng ghi lại PIN này vào cái tờ giấy ghi nhớ khi nãy luôn.

Trang web của Trezor giải thích rằng, 24 từ đó có thể dùng để sinh ra lại key cho tôi trong trường hợp bị mất. Nếu ví cứng của tôi bị hỏng hoặc mất, mình có thể lấy lại tiền bằng cách nhập 24 từ đó vào một cục Trezor mới hoặc một trang ví online có cùng thuật toán cũng được.

Thế nên giữ mảnh giấy đó an toàn là một điều rất quan trọng. Nếu ai đó có được nó, họ có thể dễ dàng lấy trộm 7,4 bitcoin của tôi. Vậy nên tôi rút hết tiền online cất vào ví. Sau đó tôi ném cái ví cứng đó cùng mảnh giấy vào két ở công ty. Tôi còn định mua một thanh nhôm, dập 24 chữ đó lên và sau đó cất ở một nơi an toàn.

Sai lầm: 16/03/2017: 7.4 BTC = 8.799 USD

Đó là 6h30 phút sáng. Jane, đứa con gái 14 tuổi của tôi khi ấy đang đi chơi ở London theo đoàn của trường học. Sarina, đứa con gái lớn của tôi khi ấy đang học đại học ở Colorado. Vợ tôi, Carla và tôi chuẩn bị đi nghỉ ở Tokyo.

Lúc ấy tôi thò tay vô ngăn kéo kiếm cái cục sạc thì vớ được mảnh giấy với mã PIN trên đó. Tôi nên làm gì với cái này nhỉ? Nói dại nếu lỡ máy bay của mình rơi tùm xuống biển thì mình muốn con gái mình sẽ được thừa kế số tiền này. Giá bitcoin đã gần như gấp 3 lần từ lúc mua rồi. Cái ngày mà mớ tiền này có giá 50.000 USD chắc cũng chả xa đâu. Thế nên tôi lấy bút và viết lên mảnh giấy:

Jane, nếu có gì xảy ra, hãy đem mảnh giấy này cho Cory nhé. Anh ấy sẽ biết cần phải làm gì. Yêu con, cha. (Cory là Cory Doctorow, bạn của tôi và cùng là đối tác làm ăn. Anh ấy không phải chuyên gia về bitcoin nhưng chắc chắn có thể suy luận ra cần phải làm gì với mảnh giấy đó)

Tôi đem mảnh giấy vào phòng ngủ của Jane, đặt dưới gối, sau đó hai vợ chồng đi Grab ra sân bay.

Bới rác: 04/04/2017: 7.4 BTC = 8.384 USD

Từ Tokyo trở về nhà vào 24/3 nhưng tôi chẳng nghĩ ngợi gì đến mảnh giấy cho đến tận 04/04. Khi ấy tôi mới nhớ ra là đã để dưới gối của Jane. Tôi nghĩ thấy cũng buồn cười thật. Con bé về nhà cả tuần rồi mà chả đả động gì đến mảnh giấy.

Mình vào phòng con bé và lật gối lên. Chả có gì ở đây cả. Tôi cúi xuống xem gầm giường, soi đèn flash điện thoại vào. Cũng chả có gì

“Carla”, tôi hỏi, “Em có thấy mảnh giấy màu cam có ghi mã PIN của anh không? Anh tìm trong phòng Jane nhưng không thấy”

“Chắc Jane để trong bàn”, vợ tôi nói. Jane khi ấy đang ở trường. Tôi bèn nhắn tin hỏi con bé. Con bé nói chưa bao giờ thấy mảnh giấy nào như thế cả.

“Thôi toi rồi”, Carla nói. “Em có gọi người đến dọn nhà lúc mình đi du lịch. Để em gọi họ xem”

Carla gọi đến dịch vụ quét dọn mà chúng tôi hay dùng. Người dọn vệ sinh nói là đúng có tìm thấy một mảnh giấy màu cam.

“Nó đâu rồi?” Carla hỏi.

“Tôi quẳng nó đi rồi.”

Tôi biết khi ấy mấy túi rác đã được dọn đi nhưng vẫn cố đeo găng vào rồi ra bới thử mấy thùng rác trước nhà. Chẳng có gì ngoài vỏ trứng, túi trà với hộp carton. Mảnh giấy đó có lẽ giờ đã nằm đâu đó dưới núi rác thải ở bãi rác Los Angeles rồi.

Carla hỏi xem mất mảnh giấy đó có vấn đề gì lớn không.

“Chả sao đâu,” tôi nói. “Hơi rắc rối tí thôi. Anh sẽ phải lấy hết bitcoin trong Trezor ra và cất tạm vào ví online. Sau đó cài đặt lại cục Trezor đó, sinh ra 24 từ mới là được. Nhưng anh mà nhớ sai mã PIN là tèo. May mà anh vẫn nhớ. Anh đặt mã là 551445.”

Quên mã PIN: ngày 4/4/2017: 7.4 BTC = 8.384 USD

Tôi cắm cục Trezor vào laptop, nhập mã 551445.

Sai mã PIN.

Chắc là nhớ nhầm mã PIN rồi. Tôi gõ lại 551445 lần nữa, chầm chậm từng chữ một.

Sai mã PIN.

Ơ đệch. Tôi thay đổi một tí: 554445.

Sai mã PIN

Vớ vẩn thật, tôi nghĩ mình nhớ mã PIN mà. Tôi đã dùng nó cả chục lần để mua hàng rồi. Có cần nhìn giấy để nhớ đâu. Chắc là 554145 mới đúng.

Sai mã PIN

Lúc này, nhìn vào cục Trezor và thấy màn hình bắt đầu hiển thị thời gian đếm ngược. Đó là khoảng thời gian tôi sẽ không làm được gì nữa do sai mã PIN nhiều lần. Tôi ngồi và nghĩ xem tại sao lại có thể nhớ nhầm mã PIN được.

Tôi vào trang web của nhà sản xuất để đọc thêm thông tin về thời gian khóa máy và thấy một tin rất buồn. Mỗi lần nhập sai thì số thời gian lại tăng gấp đôi. Nguyên văn như sau: “Số lần nhập sai mã PIN sẽ được lưu trong bộ nhớ của Trezor. Thế nên dù có tắt đi bật lại Trezor cũng không làm mất con số này đi được. Tắt bật lại chỉ tổ làm cái timer chạy lại từ đầu mà thôi. Tên trộm sẽ phải ngồi mọc rễ cả đời chỉ để dò mã PIN thôi. Trong khí đó, bạn có thể an toàn chuyển tiền của mình sang thiết bị khác hoặc ví khác từ những thông tin backup ban đầu.”

Cơ mà vấn đề chính ở đây là tên trộm đó lại là tôi. Tôi đang cố trộm tiền từ ví của chính mình. Tôi thấy chán hẳn luôn. Sau 6 lần nhập sai mã PIN, nỗi sợ hãi đã bắt đầu mạnh đến mức đau tim. Rất có thể tôi sẽ phải từ giã 7.4 bitcoin của mình.

Tôi thử mò thêm vài lần nữa. Mỗi lần nhập sai, thời gian khóa lại tăng lên. Giờ đã là 2.048 giây rồi (chừng 34 phút). Tôi mở máy tính ra tính thử và thấy rằng có thể mình sẽ chết trước khi nhập sai lần thứ 31 (34 năm). Nhập sai 100 lần sẽ cần khoảng 80 nghìn tỷ năm.

Tôi đem chuyện kể với vợ, nói rằng mình quên mất mã PIN và mỗi lần nhập sai thì nó lại tăng giờ khóa máy lên gấp đôi. Carla hỏi xem có lưu PIN ở app nào dùng chứa mật khẩu không. Tôi nói rằng không. Vợ tôi hỏi sao không làm thế, mình chả biết trả lời sao nữa.

Tôi biết rằng bản thân đã phạm sai lầm rất lớn khi lãng phí mất mấy lần nhập sai PIN đầu tiên. Trong đầu lúc này chỉ toàn các con số nhảy loạn lên, cố ghép thành một mã PIN nào đó. Tôi bỏ vào bếp cắt rau củ để nấu cà ri cho bữa tối. Nhưng lúc này tôi chả nghĩ được gì ngoài các mã PIN.

Lúc cắt khoai tây, trong đầu tôi chợt hiện ra một dãy các con số. Sau một lúc, các con số này xắp lại thành một mã PIN: 55144545. Chuẩn luôn rồi! Tôi rời bếp chạy lên phòng làm việc. Cục Trezor còn vài trăm giây nữa là lại dùng được. Mình tranh thủ viết một email trong lúc chờ. Ngay khi được, mình nhập 55144545.

Sai mã PIN. Vui lòng chờ 4,096 để tiếp tục...

Tối đó tôi hầu như không ngủ được. Mỗi khi nhắm mắt là cơn ác mộng với các con số 1,4,5 lại ập đến. Vấn đề không phải là mất 8.000USD. Vấn đề ở đây là mình quá ngu xuẩn để mất tờ giấy với các thông tin backup.

Và vấn đề nữa là giá bitcoin vẫn tăng hàng ngày trong khi tôi chả sờ được vào đống bitcoin của mình. Nếu mà không nhớ ra được mã PIN này, cục Trezor đó sẽ ảm ảnh tôi cả đời mất.

Nghiên cứu: 05/04/2017: 7.4 BTC = $8,325

Sáng hôm sau, tôi bắt đầu nghĩ xem có cách nào lấy lại bitcoin mà không dùng mã PIN hay không. Nếu mất mã PIN thẻ ATM thì chỉ cần gọi lên ngân hàng là xong. Bitcoin thì khác. Không ai sở hữu mạng lưới giao dịch bitcoin.

Thay vào đó, hàng nghìn máy tính trên thế giới chạy một phần mềm xác nhận các giao dịch của hệ thống. Ai cũng có thể cài phần mềm và tham gia giao dịch. Cơ chế phân tán này của bitcoin không phải là không có vấn đề. Vấn đề là khi bạn gặp sự cố, thì nó chả lan quyên gì đến ai cả, tự bạn đi mà giải quyết.

"Chết cha quên mã PIN rồi": Câu truyện về việc "đánh rơi" $30,000 bitcoin

Thế rồi tôi mò lên reddit /r/TREZOR để cầu cứu:

Các bác cứ cười vào mặt em cũng được, em đáng bị thế. Em đã viết mã PIN và vài từ khoá phục hồi vào một tờ giấy. Em định dập khuôn mấy chữ đó lên một thanh nhôm rồi cất đi. Nhưng trước khi em kịp làm điều đó thì người dọn nhà đã dọn mất tờ giấy rồi. Giờ em chả nhớ mật khẩu là gì nữa. Em phải đoán mò 13 lần và đều tạch. Giờ em phải đợi một tiếng để nhập tiếp. Cứ vài lần nữa thôi là em phải đợi cả năm để nhập mật khẩu. Giờ em phải làm sao? Hay là em phải bye bye 7.5 bitcoin của mình?

Đa số các trả lời đều rất thông cảm nhưng chả có tác dụng gì. Một người nói tôi nên liên lạc thử với dịch vụ cứu hộ ví bitcoin. Dịch vụ này sẽ dùng vét cạn (brute-force) để giải mã cái ví của mình. Tôi bèn gửi mail cầu cứu. Ngay hôm sau tôi nhận được thư trả lời của “Dave Bitcoin”:

Tôi rất muốn giúp bạn nhưng tôi e rằng chẳng có cách nào để giải quyết vấn đề của bạn đâu. Bạn hoặc phải đoán ra mã PIN hoặc mò lại mấy recovery words kia thôi.

Một trả lời khác trên Reddit với tên zero404cool có vẻ mưu mô hơn:

… tất cả các thông tin ấy đều đang lưu trong Trezor và có nhiều người biết cách lấy mớ thông tin ấy ra đấy. Tôi đã gặp trường hợp này rồi.

Rồi người đó thêm vào:

Cứ cất cục Trezor đó cẩn thận. Đừng làm gì với nó cả. Cũng không cần thử nhập PIN thêm nữa đâu. Rồi cậu sẽ lấy lại được mớ bitcoin đó thôi.

Một thành viên reddit khác nghĩ zero404cool đang chém gió. Người khác thì cho rằng cậu này đang lừa đảo. Cũng có người cho rằng đồng chí này chỉ đang cố dìm hàng Trezor thôi. Tôi thì cũng đồng tình với các ý kiến này. Bởi vì tôi đã nghiên cứu khá kỹ về Trezor này và thấy rằng nó gần như không thể xâm nhập bởi các hacker. Nhà sản suất rất tự tin rằng Trezor có thể chống lại mọi kiểu tấn công. Một cách dễ nhất để hack là cài vào một firmware đã bị điều chỉnh để mở khóa PIN và các recovery words. Tuy nhiên cách này sẽ xóa sạch dữ liệu của Trezor luôn.

Để xác nhận lại, tôi đã gửi email cho nhà sản xuất để giải thích tình trạng khó xử của mình. Đội hỗ trợ khách hàng gửi email lại cho tôi với đường link dẫn đến trang “Hướng dẫn các tình huống khẩn cấp”. Cơ mà chả có gì có thể áp dụng được cho trường hợp tôi mắc phải. Cô nhân viên hỗ trợ viết:

Trong mọi trường hợp, bạn phải cần có PIN hoặc recovery words để truy cập vào tài khoản của bạn. Nếu như không có ít nhất một trong hai cái đó, chả có cách nào để giúp bạn dùng tiền trong ví của bạn đâu. Ngoài vấn đề đó ra thì có gì tôi có thể giúp bạn được không, Mark?

Tôi bắt đầu cảm thấy tuyệt vọng. Trong khi ấy, zero404cool gửi cho mình một tin nhắn trên reddit nói rằng anh ấy có thể giúp.

Ờ, tui có thể giúp cậu nếu cậu muốn. Tất nhiên là cậu sẽ không tìm thấy mấy hướng dẫn này online đâu. Nó cần một ít kỹ năng công nghệ để thực hiện. Một chuyên gia có thể xuất hết dữ liệu của cậu ra trong chưa đến 10 giây. Nhưng mà mấy cái này sẽ là bí mật, không bao giờ được công khai đâu.

Nhưng mà tôi có biết cậu là ai đâu. Tôi không biết cậu có phải thật hay không nữa. Tôi thậm chí còn chả biết cậu có từng dùng Trezor không nữa. Ví dụ cậu có thể hỏi như thế này để hack tài khoản của ai đó chẳng hạn. Tôi không muốn thế.

Thì nếu đồng chí muốn lấy lại tiền thì phải tin nhau thôi.

Tôi viết tin nhắn trả lời zero404cool, nói với cậu ấy Google tên của tôi để xem liệu có thể tin tôi được không. Anh ấy đã thấy rằng tôi là một trong những biên tập viên đầu tiên của trang Wired, gia nhập từ năm 1993. Tôi là nhà sáng lập trang Boing Boing với hơn 5 triệu lượt truy cập mỗi tháng. Tôi cũng từng là tổng biên tập của trang Make, một tạp chí công nghệ. Một hồi sau, zero404cool trả lời:

Chào Mark. Có vẻ như đồng chí cũng quen với việc hàn xì và dùng các chương trình dòng lệnh rồi. Tui đoán tui có thể hướng dẫn để cậu tự làm được. Tui đợt này hơi bận một chút. Hy vọng rằng đồng chí cũng không quá vội lấy lại tiền ngay chứ?

Mình trả lời bảo rằng cũng không bận lắm. Sau đó, tôi không thấy liên lạc gì từ người này nữa.

Nhà thôi miên: 25/05/2017: 7.4 BTC = 12.861USD

“Thôi miên có thể giúp chúng ta mở rộng suy nghĩ, truy cập tất cả các thông tin,” Michele Guyz nói. Tôi lúc ấy đang dựa mình vào chiếc ghế tự trong văn phòng của cô ấy, đắp chăn và tập trung vào những gì cô ấy nói. Vợ tôi, một nhà báo và biên tập viên, có một cuộc phỏng vấn với Michele vài năm trước về thôi miên trong phim ảnh. Tôi đã quá tuyệt vọng về việc lấy mã PIN nên đã đặt lịch hẹn với cô ấy.

Trước đó, Michele đã gợi nhớ lại hành động viết mã PIN của tôi lên mảnh giấy màu cam. Cô ấy đặt mảnh giấy vào ngăn kéo. Sau đó bảo mình mở ngăn kéo ra và nhìn vào mảnh giấy. Cô ấy giải thích đang dùng vài kỹ thuật khác nhau để gợi nhớ lại ký ức về mã PIN.

Bài tập đó chẳng làm gợn lên tí gì trong trí não tôi. Nhưng Michele nói rằng đó chỉ là màn dạo đầu gợi mở tiềm thức để dành cho viêc thôi miên sắp tới. Cô ấy chỉnh đèn sáng dịu lại và nói thì thào nhẹ nhàng như đang hát. Michele yêu cầu tôi tưởng tượng rằng đang đi xuống một cái tháng cuốn thật dài. Cô ấy nói rằng tôi sẽ đi sâu hơn vào tâm trí trong khi cô ấy nói. Mình đi bộ trong tâm trí khoảng 15 phút, cảm thấy thật thư giãn nhưng chẳng có vẻ gì là đang bị thôi miên cả. Rồi mình tự nhủ thôi cứ tiếp tục vậy, đây chắc là cách thôi miên hoạt động.

Sau khoảng 4 giờ trong văn phòng cô ấy, tôi quyết định mã PIN đúng là 5514455.

Mất khoảng vài ngày để mình lên tinh thần, chuẩn bị thử. Mỗi lần nghĩ về cục Trezor là máu tôi lại như sôi lên và muốn bốc hơi. Và khi mình thử mã PIN, cục Trezor lại báo mã sai. Lần này mình phải chờ 16.384 giây để tiếp tục. Đó là khoảng tương đương với 4 tiếng rưỡi trước khi mình được phép thử tiếp.

Lần đoán cuối cùng: 12/08/2017: 7.4 BTC = 28.749 USD

Tôi đã cố thôi không nghĩ về bitcoin nữa, nhưng chẳng có tác dụng gì. Tệ hơn nữa, giá bitcoin lại tiếp tục tăng không có dấu hiệu ngừng lại. Vào tháng 7, doanh nhân John McAfee viết trên twitter rằng một bitcoin có thể có giá lên đến 500.000USD trong ba năm tới. Tôi không tin rằng giá sẽ lên cao đến như thế, nhưng chắc chắn sẽ đủ cao để mình thêm tiếc nuối.

Điều cứ trói buộc tâm trí tôi chính là thứ ngăn cách tôi đến kho tiền của mình chỉ là vài con số. Vài con số mà tôi vẫn dùng suốt chả sao, giờ tự nhiên trốn kỹ góc nào đó trong não đến mức thôi miên, thiền định kiểu gì cũng không lôi nó ra được. Tôi thấy tuyệt vọng. Có nhiều đêm, tôi nằm trên giường và suy nghĩ về mã PIN. Sáng dậy, đầu tôi vẫn trống không như thường. Mỗi mã PIN tôi nghĩ ra đều có vẻ tệ như nhau. Giá bitcoin thì vẫn tăng lên, và cũng như xa vời hơn.

Carla và tôi khi đó đang ngồi gập đồ thì Sarina đến. Con bé vừa từ trường đại học về nghỉ hè. “Ba ơi con biết mã PIN của bố là gì rồi!” con bé nói. “Là 55445 nhé”

“Sao con lại nghĩ thế?” Mình hỏi.

“Thì đôi lúc ba dùng 5054 là password của ba. Nhưng cục Trezor này không có số không, ba có thể bỏ qua số không và không nhập nó. Ba không thể đặt nó là 5154, ba có thể đã dùng 554 và thêm vào 45 nữa”. (Đôi lúc tôi vẫn hay lặp lại password với 45 vì con số này có ý nghĩa với mình.)

Carla nhìn vào mình và nói, “Chắc đúng đó, còn nhìn thấy nó trong mắt ba đó.” Mình nghĩ con bé có thể nói đúng.

Sarina nói, “Nếu nó không phải là 55445 thì nó là 554455 vì đôi lúc anh vẫn thêm 455 vào cuối dãy passsword mà.”

“Có thể lắm,” Mình nói. “Anh sẽ nghĩ về phương án này tối nay. Nếu ổn thì mai anh sẽ thử.”

Sáng hôm sau, mình quyết định sẽ thử dãy số. Tôi chắc cú về phương án này nhất trong những phương án mình có thể nghĩ ra. Rồi tôi cắm cục Trezor vào. Vẫn còn phải chờ 16,384, chừng bốn tiếng rưỡi trước khi có thể nhập mã PIN. Hôm đó là chủ nhật. Mình chỉ loanh quanh ở nhà và làm mấy việc vặt.

Đến lúc cục Trezor sẵn sàng, mình gọi vợ con lại quanh cái máy tính. Mình muốn có thêm sự hỗ trợ và chắc chắn rằng mình nhập PIN đúng. Và để họ có thể chúc mừng mình nếu nó đúng.

Tôi ngồi vào ghế trong khi vợ con mình đứng quanh đó. Tim tôi đập mạnh tới mức mình có thể nghe thấy rõ luôn. Tôi cố gắng thở chậm. Nhập mã PIN thật chuẩn. Mỗi lần nhập 1 số, mình đợi cả nhà xác nhận là đã nhập đúng rồi thì mới nhập tiếp. Sau khi nhập 55445 tôi để chuột lên nút Enter. “Sẵn sàng chưa?”, mình hỏi. Cả nhà đồng thanh OK. Tôi bấm luôn.

Nhập sai mã PIN. Vui lòng đợi 32,768 giây để tiếp tục...

“Ôi trời ạ,” tôi thốt lên.

“Thôi không sao đâu bố” Sarina noi. “Thế bao giờ mình mới thử tiếp được 554455?”

Mình lôi máy tính ra bấm.

“Chín tiếng nữa”

"Chết cha quên mã PIN rồi": Câu truyện về việc "đánh rơi" $30,000 bitcoin

Carla đặt tay lên vai tôi và nói. “Nếu đoán thêm vài lần nữa mà vẫn sai thì anh nên đập luôn nó đi,” cô ấy nói. Đó có vẻ như là điều đúng đắn duy nhất tôi có thể làm. Rồi sẽ sớm thôi, tôi sẽ phải cắm cục Trezor này vào máy suốt cả tháng. Nếu lỡ có cúp điện thì con số sẽ chạy lại từ đầu. Ngôi nhà chúng tôi đang sống vẫn mất điện ít nhất một vài lần một năm. Tôi có thể mua một bộ lưu điện để dùng cho con Trezor này, nhưng tôi muốn chấm dứt mọi thứ thì chỉ có cách đập nó đi mà thôi.

Sáng hôm sau, trước khi ăn sáng, tôi vào phòng làm việc và thử 554455.

Sai mã PIN. Vui lòng chờ 65,536 để tiếp tục...

Bức Email: 16/8/2017: 7.4 BTC = 32.390USD

Việc quên mã PIN giờ ám ảnh tôi thường trực luôn. Lúc nào cũng lởn vởn quanh đầu. Não mình bị chuyện quái gì vậy nhỉ? Chắc là nếu mình còn trẻ tầm 2x hay 3x thì chắc đã nhớ ra rồi. Tôi thấy thật tiếc nuối khi nhận được email từ Satoshi Labs, nhà sản xuất của Trezor.

Tiêu đề là: “TREZOR Firmware Security Update 1.5.2”

Email nói rằng bản update này là để fix các thiết bị có firmware có phiên bản thấp hơn 1.5.2. Email nói thêm

Để tấn công lỗ hổng này, hacker phải xâm nhập vào thiết bị, tháo vỏ ra. Hacker cũng phải flash lại firmware với một bản firmware tự chế. Nếu thiết bị của bạn vẫn còn nguyên thì yên tâm. Bạn chỉ cần update lên bản 1.5.2 sớm nhất có thể thôi. Với bản 1.5.2 này thì mọi kiểu tấn công sẽ đều vô hại hết.

Có thể đây là chỗ mình có thể tận dụng chăng? Tôi lại vào reddit  /r/TREZOR để hỏi xem dân tình nói sao. Liên kết đầu tiên mình thấy là có người bảo đã biết cách hack cục Trezor này dùng lỗi mà trong email nói đến. Tiêu đề bài viết là “Trezor- lỗi bảo mật làm lộ private key của bạn”

Tác giả thêm vào hình ảnh của cục Trezor đã bị tháo tung ra hình chụp màn hình anh ấy đã dump ra được 24 cái recovery words và mã PIN. Tác giả có cho link tải bản firmware đã chỉnh sửa nhưng không hướng dẫn cách dùng. Mình đọc qua vài lần rồi nhìn tên tác giả: Doshay Zero404Cool. Ơ, đúng là cái tay vẫn nhắn tin với mình trên reddit năm tháng trước. Tôi lục tin nhắn ra xem và phát hiện ra Zero404Cool đã trả lời tin nhắn mà tôi không biết từ vài tháng trước rồi.

Chào bro, đoán ra mã PIN chưa thế? Nếu chưa thì chắc là bị mất ít thôi nhỉ? Bỏ công cứu lại có khi tốn hơn ấy chứ. Kể cả với giá ngày hôm nay, có thể, chỉ là có thể thôi nhé, nếu chia 50/50 thì chắc tui sẽ làm giúp.

Tôi định sẽ chấp nhận lời đề nghị của zero404cool. Nhưng tôi quyết định sẽ tìm kiếm tư vấn của chuyên gia trước. Andreans M.Antonopoulos, tác giả của quyển The Internet of Money. Tôi đã từng phỏng vấn Andreas vài lần và thấy rằng đây đúng là một người có nghề trong giới bitcoin.

Anh ấy hiểu về bitcoin nhiều hơn bất kỳ ai tôi gặp. Tôi viết mail cho anh ta vào 20/8 và kể cho anh ấy vấn đề đang gặp. Tôi kể về lỗ hổng bảo mật và hỏi liệu có thể dùng nó để lấy lại tiền không? “Lỗ hổng này là thật đấy, cậu có thể dùng nó lấy lại mã PIN được vì cậu vẫn chưa update firmware mà (tôi đoán thế).” May mà tôi vẫn chưa update cục Trezor lên 1.5.2 vì việc downgrade sẽ xóa sạch nó.

Andreas tiếp tục nói rằng anh ta quen một cậu bé “viết code như thần và đã từng xử mấy cục Trezor và các thiết bị tương tự”. Nhóc này mới 15 tuổi, tên Saleem Rashid. Cậu bé sống ở UK. Andreas chưa bao giờ gặp mặt cậu bé, nhưng anh ta đã chat với cậu ta rất nhiều trên Slack. Satoshi Labs, tác giả của Trezor, cũng biết Saleem và đã cho cậu bé vài phiên bản của Trezor để thử. Andreas bảo mình nên thử chat với Saleem trên Telegram thử xem.

Vài phút sau, Andreas giới thiệu mình với Saleem:

“Mark là chủ nhân của cục Trezor, và anh ấy đang chờ đợi một phép màu xảy ra”

Andreas vẽ ra kế hoạch: Saleem sẽ cài firmware giống y cái của tôi cho một cái của cậu bé. Sau đó cậu ta sẽ luyện tập hack bằng bản mẫu này cho đến khi thật ngon. Sau đó cậu nhóc sẽ gửi chương trình hack qua Telegram cho tôi. Rồi tôi cũng sẽ tự mua 1 cục Trezor để thử bản hack của Saleem cho đến khi ngon lành trước khi làm trên cục Trezor có tiền.

Nhưng trước khi làm, Andreas nói, “Tốt nhất là nên xác định rõ tư tưởng đã. Có cơ hội thành công nhưng cũng có cả xác xuất thất bại đó (mà hình như cao hơn)”

Tôi nói với Saleem rằng cần phải có hướng dẫn từng bước bằng video mới được. Rồi tôi đề nghị trả cho cậu bé 0.005 BTC ($20)) và thêm vào 0.2 BTC ($800) nếu tôi lấy lại được đủ bitcoin. Saleem đồng ý. Tôi có thêm vào, “Nếu cháu cần thêm thời gian để làm video thì cứ bảo chú, chú sẽ trả thêm cho”.

Kế đó tôi liền mua 1 cục Trezor mới. Trong khi đó, Saleem nói rằng tôi cần dùng Ubuntu Linux để có thể tôi. Tôi cài lên con MacBook Air ngay lập tức.

Giải thoát : 24/8/2017: 7.4 BTC = 32.387USD

Saleem:

Chú Mark ơi, con xong video rồi nhé, nhưng con sẽ phải tăng giá tiền công một chút. Làm cái video này cực quá thể luôn chú. Con không có camera nên con phải tự làm mấy cái chân đế giữ máy lâu thí mồ à.

Trong khi đó con vẫn còn phải viết code nữa ( ái này thì có trong giá ban đầu rồi)

Mình trả lời:

Được thôi.

Saleem:

Thế 0.35 BTC cho cái video và firmware, sau đó là 0.5 BTC nếu chú thành công, có được không.

Tổng cộng là 0.85 BTC

Tôi thấy giá hơi chát, nhưng mà nghĩ cũng ổn vì thằng nhóc làm việc khá cực.

Saleem vậy là đòi tương đương 3.700 USD, gần gấp 4 giá ban đầu. Nhưng rồi tôi nhận ra giá này cũng đáng. Nhất là khi so với giá zero404cool đề nghị. Cả reddit, công ty sản xuất và mọi người đều bảo việc này bất khả thi, thế nên cậu nhóc đòi vậy cũng ổn thôi. Như Andreas đã nói, đây là một phép màu. Phép màu thì làm gì có giá?

Tôi:

Nhóc test firmware mới trên cục Trezor giống của chú chưa?

Saleem:

Trong video cháu cài 1.4.0, thiết lập một tí, sau đó nhập mã PIN sai vài lần cho giống cái của chú rồi đó.

Tôi:

OK vậy thỏa thuận thế nha.

Saleem đưa cho tôi địa chỉ bitcoin của cậu bé. Tôi liền gửi cho cậu ta 0.35 bitcoin từ một ví online tôi vừa làm đôi tháng trước. Một phút sau, cậu nhóc upload lên 2 file exploit.bin và một file video dài 10 phút. Video đó là quay màn hình, các dòng lệnh cậu ta nhập vào. Video không hề có tiếng. Phía bên phải của Video là hình cục Trezor đặt dưới bàn.

Tôi biết khá ít về lệnh trên Linux nên xem mấy cái đó chả có mấy ý nghĩa. Phần đầu của video là hướng dẫn hạ firmware xuống 1.4.0 để tôi thử trên cục Trezor mẫu. Phần hướng dẫn thực tế hack ở đoạn cuối video, khoảng 3 phút.

Tôi nói Saleem giải thích nguyên tắc hoạt động của bản hack này như nào. Cậu ta nói rằng khi Trezor bật lên, firmware của nó copy PIN và 24 recovery words vào SRAM của nó mà không mã hóa gì. Nếu reset cục này (tắt bật thông thường thôi ý) bằng cách nhẹ nhàng thay đổi hai chân của nó trên mạch, tôi có thể cài bản firmware đã sửa vào mà không làm mất dữ liệu trên SRAM. Thế là tôi có thể xem được mã PIN.

Cục Trezor thứ hai của tôi đến vào hôm thứ 6. Ban đầu tôi cũng nóng lòng muốn thử lắm. Nhưng sau đó cố chờ đến hôm sau bởi ngày hôm đó tôi phải quay vài cái video. Hôm thứ Sáu, tôi chỉ kịp làm thử tháo phần vỏ và đụng chạm chút vào bảng mạch. Tôi dùng một con dao gập, nhẹ nhàng tách phần vỏ của nó ra. Dù đây chỉ là con Trezor thử nghiệm thôi mà cũng rút ra phết. Tôi chỉ sợ lỡ tay cắt cái xoẹt là đi toi luôn. Nghịch thử một tí rồi tôi cắm vào máy tính thử. May quá là nó vẫn chạy tốt.

Xâm nhập: 26/08/2017: 7.4 BTC = 32.208 USD

Đêm đó tôi ngủ ngon một cách kỳ lạ. Carla và Sarina đêm đó không ở nhà. Jane đang ngồi tập đánh ukulele và tiếng Nhật. Tôi dọn dẹp một chút bàn làm việc, đặt con Macbook Air chạy Linux lên, cắm USB vào và tập trên bản nháp. Cho chắc cú tôi cũng lấy bằng dính dán nó xuống bàn như Saleem làm.

Rồi tôi ngồi xem lại video của Saleem lần nữa. Lần này tôi viết hết lại các câu lệnh vào một file text để copy và paste cho tiện. Trong video có đoạn Saleem reset cục Trezor bằng cách chập hai cái chân trên bảng mạch dùng một cái kẹp và bấm nút cùng một lúc. Cái chân đó rất nhỏ và tôi biết tay mình quá run để ngồi chập nó lại. Thay vào đó, tôi nói nó vào 2 sợi dây và đính vào một cái nút để dễ bấm.

Làm theo hướng dẫn, tôi đã có thể downgrade bản mẫu về 1.4.0. Tôi đặt bừa cho cục Trezor test này một mã PIN (2468) và ghi lại 24 recovery words của nó. Kế đó tôi cài bản firmware đã chỉnh sửa vào. Nhập vào tầm chục câu lệnh Linux, reset Trezor, rồi lại nhập thêm vài câu lệnh.

Ngon, nó chạy tốt. Thế là việc chạy thử cục Trezor đã thành công mỹ mãn. Mã PIN và đủ 24 recovery words đã hiện ra trước mắt mình. Cho chắc cú, mình tập đi tập lại 6 lần nữa và hết toi buổi sáng với gần hết buổi chiều. Lúc tôi nhìn đồng hồ thì giật mình vì đã 3h45 chiều, tôi đã bỏ qua cả bữa trưa và bữa cafe chiều mà chả nhớ. Mà cũng không thấy đói lúc này.

Nói chung là tôi đã sẵn sàng làm trên cục Trezor thật. Tôi gọi Jane lại để ghi video lại cái khoảnh khắc quan trọng này.

Có cái làm tôi hơi băn khoăn đó là đã không nhớ ngoài PIN ra thì tôi có còn cài thêm gì không. Tức là cài thêm tính năng bảo mật gì đó cho cục Trezor này nữa. Quá lâu rồi, tôi chả nhớ là đã cài đặt thêm gì cho nó nữa. Saleem và Andreas có nói rằng Trezor ngoài PIN ra còn có cả passphrase nữa. Nếu đúng thì nghỉ game luôn. Mối nghi ngờ này của tôi như cái gai trong ruột cứ nhói lên mỗi lần tôi nghĩ đến.

Tôi cắm cục Trezor vào và nhập:

sudo trezorctl get_features

Sau khi nhập màn hình sẽ đưa ra trạng thái của Trezor. Đợi một lúc nó hiện ra:

passphrase_protection: false
Ngon rồi, đây là cái tôi muốn. Giờ thì không có ai cản nổi ta nữa.

Đến lúc cần bấm 2 cái nút để reset Trezor thì ngón tay không nghe lời tôi nữa. “Anh run quá em ơi”, tôi nói với Jane. Tôi ngồi lại và thư giản một tí. Phải đến lần thử thứ 3 thì mới reset được máy. Lần reset này giúp tôi cài cái file exploit.bin.

Tôi nhập vào dòng lệnh sau để load bản firrmware do Saleem chế vào Trezor:

sudo trezorctl firmware_update -f exploit.bin

Lệnh đó sẽ xóa firmware của máy và cài firmware của Saleem vào. Màn hình báo:

New firmware successfully uploaded. You may now unplug TREZOR.

Giờ nếu có lỡ tay tháo Trezor ra là đi toi nè. Andreas có nói mất điện lúc đang up firmware là mất hết luôn đó. Thay vào đó, mình bấm cái nút nho nhỏ hồi nãy đã nối dây ra để soft reset máy. Lập tức có thông báo cảnh báo văng ra:

WARNING Unofficial software detected

Ờ cứ cảnh báo đi, tôi nghĩ bụng. Thì đây chính là thứ ta đang cố làm nãy giờ đó mà: chạy cái firmware đã hack. Tôi bấm một cái nút trên Trezor để xác nhận muốn làm tiếp và màn hình hiện ra EXPLOIT. Cái này có nghĩa là hàng của Saleem đã cài xong rồi. Không có đường quay lại nữa. Giờ hoặc là cách này sẽ thành công hoặc là số bitcoin của tôi sẽ bốc hơi luôn dù cho sau này có nhớ ra mã PIN đi nữa. Giờ tôi cần nhập vào vài câu lệnh để đọc SRAM của Trezor (PIN đang lưu ở đây nè

“OK,” tôi vừa nói với Jane vừa nhập lệnh, “lệnh này sẽ lôi đám recovery words đó ra nè.” Tay tôi khoắng nhẹ trên bàn phím và bấm enter:

Tôi ngồi ngả người ra và nói khẽ, “Ôi chạy rồi, lạy chúa”

Đủ 24 recovery words tôi viết trên tờ giấy màu cam vào tháng mời hai năm ngoái đã nhẹ nhàng hiện ra trước mắt. Tôi có thể dừng ở đây cũng được rồi. Có cái này là lấy lại được mã PIN rồi mà. Nhưng tôi vẫn còn muốn hơn, quan trọng hơn cả tiền bạc lúc này. Tôi phải bắt cục Trezor này xì ra mã PIN của mình ra xem nó là gì.

Theo hướng dẫn của Saleem, tôi quăng một dòng lệnh vào cửa sổ terminal. Mã PIN lập tức hiện ra:

45455544

Hàng tháng trời vật lộn với trí óc cuối cùng cũng nhẹ nhàng trôi qua vai nhẹ như một đám mây. Tôi đứng dậy, vươn vai một cái và bắt đầu cười. Tôi đã chiến thắng được cái tính năng củ chuối của Trezor cứ nhân đôi thời gian lên khi nhập sai, và cùng lúc cũng đã thắng được bộ não khi nó cứ cố giấu mã PIN khỏi chính mình. Đ.m tụi bây, tao thắng rồi nhá.

Mã pin đã được đổi để bảo vệ tính riêng tư của tác giả.

Góc quảng cáo