Câu chuyện phục hồi. Đợt bán trước Ethereum
1.000 ETH, một ví dành cho đợt bán trước và một mật khẩu “lẽ ra phải hoạt động được”
Chủ nhân chắc chắn về mật khẩu. Thế nhưng chiếc ví vẫn không mở được. Vấn đề thực sự hoàn toàn không phải là mật khẩu — mà là cách nó đã được lưu trữ cách đây một thập kỷ.
Một số ví có giá trị nhất mà chúng tôi mở ra thuộc về những người đã mua Ether trong đợt bán trước năm 2014 — khi giá ETH chỉ khoảng ba mươi cent. Đây là một trong những trường hợp đó: khoảng 1.000 ETH bị khóa trong tệp ethereum_backup_wallet.json, và chủ sở hữu tuy nhớ mật khẩu nhưng không thể truy cập vào ví. Các chi tiết đã được ẩn danh, nhưng diễn biến kỹ thuật diễn ra chính xác như vậy.
Tình hình
The owner had participated in the presale, downloaded their wallet JSON, and written the password down carefully. Years later, with ETH worth thousands of times its presale price, they tried to open it — and the standard presale tool rejected the password. They tried every capitalisation and variation they could think of. Nothing worked of course. By the time they contacted us, they were convinced the file itself was corrupted.
Điều gì đã khiến việc đó trở nên khó khăn
Định dạng ví trong giai đoạn bán trước mã hóa hạt giống bằng PBKDF2-HMAC-SHA256 và AES-128-CBC. Hệ thống này không cho phép sai sót: mật khẩu hoặc phải giải mã chính xác từng byte, hoặc sẽ thất bại hoàn toàn, không có khái niệm “gần đúng”. Mật khẩu của chủ sở hữu chứa một ký tự không thuộc bộ ký tự ASCII — và đó chính là vấn đề. Một thập kỷ trước, trên máy tính nơi ví được tạo ra, ký tự đó được lưu trữ dưới dạng mã hóa một byte. Khi được gõ lại ngày nay trên bàn phím và hệ điều hành hiện đại, nó tạo ra các byte khác nhau. Hai chuỗi này trông giống hệt nhau trên màn hình nhưng không phải là cùng một đầu vào. Mật khẩu là đúng; mã hóa là sai.
Cách chúng tôi đã giải quyết vấn đề này
Chúng tôi đã lấy chính xác mật khẩu của chủ sở hữu và tạo ra mọi cách mã hóa và chuẩn hóa hợp lý cho nó — so sánh giữa UTF-8 và Latin-1, giữa các dạng Unicode ghép và tách rời, cũng như các cách thay thế cụ thể mà ký tự đó có thể có trên các bàn phím và hệ điều hành khác nhau. Mỗi biến thể đã được kiểm tra ngoại tuyến so với tệp được mã hóa bằng cách sử dụng chế độ băm trước khi bán trên phần cứng GPU của chúng tôi. Trong tập hợp các biến thể được xây dựng từ mật khẩu “đã biết” duy nhất đó, một cách mã hóa đã giải mã ví một cách hoàn hảo và tái tạo được địa chỉ chính xác. Mật khẩu đã chính xác ngay từ ngày đầu tiên.
Kết quả
Ví đã được mở, khóa riêng tư đã được xuất ra, và chủ sở hữu đã chuyển khoảng 1.000 ETH sang một ví hiện đại do chính họ kiểm soát — chúng tôi chưa bao giờ nắm giữ số tiền đó. Phí dịch vụ là một tỷ lệ phần trăm của giá trị được khôi phục, chỉ được thanh toán khi chúng tôi thành công. Tệp tin tưởng chừng như bị hỏng và vô giá trị đó thực ra lại là một gia tài khổng lồ ngay từ đầu, chỉ bị chặn lại bởi một sự khác biệt mã hóa vô hình.
Thực ra, điều này phổ biến đến mức nào?
Tình trạng này phổ biến hơn nhiều so với những gì mọi người tưởng tượng. Ví tiền đợt bán trước năm 2014 nổi tiếng là rất dễ gặp sự cố, và trong nhiều năm qua, chúng tôi đã thống kê được gần hai mươi nguyên nhân khác nhau khiến mật khẩu “đúng” vẫn không thể mở được ví — bao gồm sự không khớp về mã hóa, sự khác biệt trong chuẩn hóa Unicode, các vấn đề liên quan đến khoảng trắng và bố cục bàn phím, cùng một số lỗi phần mềm thực sự từ công cụ ban đầu. Vấn đề mã hóa trong trường hợp này chỉ đơn giản là nguyên nhân thường gặp nhất trong số đó. Đó là lý do tại sao chúng tôi không coi trường hợp “mật khẩu của tôi đúng nhưng không mở được” là một ngõ cụt mà là một chẩn đoán: điều này thường có nghĩa là mật khẩu không có vấn đề gì và cần phải xác định lại nguyên nhân xung quanh nó. Những người bỏ cuộc thường cho rằng tệp đã bị hỏng; còn những người khôi phục được thì cho rằng đó là vấn đề mã hóa và tiến hành kiểm tra.
Bạn có thể tự làm việc này được không?
Về nguyên tắc thì đúng vậy — định dạng presale là công khai và có những công cụ mở cho phép kiểm tra mật khẩu dựa trên định dạng này. Trên thực tế, phần khó không phải là chạy công cụ, mà là tạo ra các ứng viên phù hợp: biết được một ký tự nhất định có thể có những dạng mã hóa và chuẩn hóa nào, trên những hệ điều hành nào, và thể hiện điều đó dưới dạng một tìm kiếm thay vì gõ các biến thể bằng tay. Nếu một nỗ lực đơn giản với mật khẩu “đã biết” của bạn đã thất bại, thì thất bại đó chính là manh mối — nó chỉ ra chính xác loại biến đổi mà việc liệt kê thủ công rất tẻ nhạt nhưng tìm kiếm có hệ thống lại rất nhanh chóng.
Làm thế nào để mang lại cơ hội thành công cao nhất cho một chiến dịch bán hàng trước
Nếu bạn muốn chúng tôi kiểm tra một ví tiền điện tử được tạo trước khi bán, có ba yếu tố quyết định: chính tệp ethereum_backup_wallet.json; mật khẩu chính xác mà bạn tin là đúng, được nhập lại theo cách bạn nhớ rõ nhất; và bất kỳ chi tiết nào về thời điểm ví được tạo — hệ điều hành, ngôn ngữ bàn phím, và khoảng năm. Chính bối cảnh đó giúp chúng tôi tái tạo các định dạng mã hóa và chuẩn hóa được áp dụng vào thời điểm đó. Ngay cả chi tiết như “đó là bàn phím tiếng Đức trên một chiếc laptop Windows cũ” cũng có thể là yếu tố quyết định kết quả của vụ việc.
Vụ việc này cho thấy điều gì về các ví tiền điện tử bán trước
Có một lượng khổng lồ ETH từ đợt bán trước năm 2014 chưa bao giờ được chuyển nhượng — phần lớn trong số đó không phải do chủ sở hữu chọn giữ lại, mà vì họ không thể truy cập vào nữa. Những trường hợp như thế này cho thấy một phần đáng kể trong số đó thực ra không hề bị mất; nó chỉ bị chặn lại bởi chính loại vấn đề kỹ thuật có thể giải quyết được mà chúng ta vừa mô tả. Những ví bị khóa vĩnh viễn thường là những ví mà chủ sở hữu đã nghĩ đến tình huống xấu nhất và ngừng cố gắng. Những ví được khôi phục lại là những ví mà chủ sở hữu đã giữ lại tệp tin, còn nhớ đại khái mật khẩu là gì và cho phép ai đó tái tạo các điều kiện khi ví được tạo ra. Nếu bạn đang giữ một ví bán trước mà bạn đã từ bỏ, có lẽ bạn nên xem xét lại — một thập kỷ tăng giá khiến ngay cả một khoản đầu tư bán trước khiêm tốn cũng đáng để bạn nỗ lực.
Bài học bạn có thể rút ra từ đó
Nếu bạn có một ví đặt mua trước và một mật khẩu mà bạn chắc chắn là đúng, nhưng không thể mở được, đừng vội kết luận rằng tệp đã bị hỏng — đặc biệt nếu mật khẩu chứa dấu trọng âm, dấu umlaut hoặc các ký tự không thuộc bộ ký tự ASCII khác. Đó chính là nguyên nhân phổ biến nhất khiến mật khẩu đặt mua trước “đúng” không hoạt động, và đây chính xác là loại vấn đề có thể khắc phục được. Hãy tham khảo trang hướng dẫn khôi phục ví đặt mua trước Ethereum của chúng tôi để biết thêm chi tiết.
Các câu hỏi thường gặp
Mật khẩu đặt hàng trước của tôi chắc chắn là đúng nhưng vẫn không mở được ví. Tại sao vậy?
Thường thì đây là vấn đề liên quan đến mã hóa: một ký tự không thuộc bộ ký tự ASCII trong mật khẩu đã được lưu trữ dưới dạng mã hóa byte khác với cách bạn nhập hiện tại. Mật khẩu là chính xác; chỉ là các byte khác nhau. Chúng tôi sẽ tái tạo các định dạng mã hóa đó và khôi phục mật khẩu.
Bạn cần những tệp nào để tạo ví tiền điện tử trước khi bán?
Tệp JSON đặt trước, thường có tên là ethereum_backup_wallet.json, cùng với mật khẩu mà bạn nhớ rõ nhất. Nếu không có tệp này thì sẽ không có gì để giải mã cả.
Quý vị có nhận quyền quản lý số ETH đã thu hồi không?
Không. Khi ví được mở, chính bạn sẽ tự chuyển số tiền đó sang một ví mà bạn kiểm soát. Chúng tôi không bao giờ giữ coin của bạn.
Chi phí phục hồi trước khi bán là bao nhiêu?
Dựa trên kết quả: chỉ nhận một tỷ lệ phần trăm trên giá trị thu hồi được nếu chúng tôi mở được ví, và không phải trả trước bất kỳ khoản nào.
Bạn đang gặp vấn đề với ví tiền điện tử trong giai đoạn bán trước?
Hãy gửi cho chúng tôi tệp JSON và mật khẩu mà bạn chắc chắn là chính xác. Nếu có sự cố về mã hóa đang cản trở quá trình này, đó chính là vấn đề mà chúng tôi sẽ giải quyết. Đánh giá trung thực trong vòng 24 giờ.
