Categories
Blockchain

Giới thiệu về Mật mã học và Tiền điện tử 4: Khóa công khai làm nhận dạng

1.4. Khóa công khai làm nhận dạng

Hãy xem một thủ thuật hay đi kèm với chữ ký số. Ý tưởng là lấy một khóa công khai, một trong những khóa xác minh công khai đó từ một lược đồ chữ ký số và đánh đồng nó với danh tính của một người hoặc một tác nhân trong một hệ thống. Nếu bạn nhìn thấy một tin nhắn có chữ ký xác minh chính xác dưới khóa công khai, pk, thì bạn có thể nghĩ đây là pk tuyên bố tin nhắn. Theo nghĩa đen, bạn có thể nghĩ về khóa công khai giống như một tác nhân hoặc một bên trong hệ thống, người có thể đưa ra tuyên bố bằng cách ký vào những tuyên bố đó. Từ quan điểm này, khóa công khai là một danh tính. Đối với một người nào đó để nói về danh tính pk, anh ta phải biết khóa bí mật tương ứng, sk.

Tiền điện tử và mã hóa

Nếu bạn đã chờ đợi để tìm ra thuật toán mã hóa nào được sử dụng trong Bitcoin, chúng tôi rất tiếc đã làm bạn thất vọng. Không có mã hóa trong Bitcoin, bởi vì không có gì cần được mã hóa, như chúng ta sẽ thấy. Mã hóa chỉ là một trong những kỹ thuật phong phú được tạo ra bởi mật mã hiện đại. Nhiều người trong số họ, chẳng hạn như các kế hoạch cam kết, liên quan đến việc che giấu thông tin theo một cách nào đó, nhưng chúng khác biệt với mã hóa.

Hệ quả của việc coi các khóa công khai là danh tính là bạn có thể tạo danh tính mới bất cứ khi nào bạn muốn — bạn chỉ cần tạo một cặp khóa mới mới, skpk, thông qua phép toán generateKeys trong lược đồ chữ ký số của chúng ta. pk này là danh tính công khai mới mà bạn có thể sử dụng và sk là khóa bí mật tương ứng mà chỉ bạn biết và điều đó cho phép bạn nói thay cho danh tính của pk. Trên thực tế, bạn có thể sử dụng băm của pk làm danh tính của mình, vì các khóa công khai rất lớn. Nếu bạn làm điều đó, thì để xác minh rằng một tin nhắn đến từ danh tính của bạn, người ta sẽ phải kiểm tra (1) pk thực sự băm cho danh tính của bạn và (2) thông báo xác minh theo khóa công khai pk.

Hơn nữa, theo mặc định, khóa công khai pk của bạn về cơ bản sẽ trông ngẫu nhiên và không ai có thể phát hiện ra danh tính trong thế giới thực của bạn bằng cách kiểm tra pk. (Tất nhiên, khi bạn bắt đầu đưa ra tuyên bố sử dụng danh tính này, những tuyên bố này có thể làm rò rỉ thông tin cho phép người khác kết nối pk với danh tính trong thế giới thực của bạn. Chúng ta sẽ thảo luận chi tiết hơn về vấn đề này.) Bạn có thể tạo danh tính mới trông ngẫu nhiên, giống như một khuôn mặt trong đám đông, và chỉ được kiểm soát bởi bạn.

Quản lý danh tính phi tập trung

Điều này đưa chúng ta đến ý tưởng về quản lý danh tính phi tập trung. Thay vì có cơ quan trung ương để đăng ký người dùng trong hệ thống, bạn có thể tự mình đăng ký với tư cách người dùng. Bạn không cần được cấp tên người dùng, cũng như không cần thông báo cho ai đó rằng bạn sẽ sử dụng một tên cụ thể. Nếu bạn muốn một danh tính mới, bạn có thể tạo một danh tính bất kỳ lúc nào và bạn có thể tạo bao nhiêu tùy ý. Nếu bạn muốn được biết đến với năm cái tên khác nhau, không vấn đề gì! Chỉ cần tạo ra năm danh tính. Nếu bạn muốn ẩn danh trong một thời gian, bạn có thể tạo một danh tính mới, sử dụng nó trong một thời gian ngắn, và sau đó vứt bỏ nó. Tất cả những điều này đều có thể thực hiện được với việc quản lý danh tính phi tập trung và đây là cách Bitcoin, trên thực tế, xử lý danh tính. Những danh tính này được gọi là địa chỉ, trong biệt ngữ Bitcoin. Bạn sẽ thường xuyên nghe thấy thuật ngữ “địa chỉ” được sử dụng trong ngữ cảnh của Bitcoin và tiền điện tử, và nó thực sự chỉ là một hàm băm của khóa công khai. Đó là một danh tính mà ai đó tạo ra từ không có gì, như một phần của kế hoạch quản lý danh tính phi tập trung này.

Tính bảo mật và tính ngẫu nhiên

Ý tưởng rằng bạn có thể tạo danh tính mà không có cơ quan quản lý tập trung có vẻ trái ngược với trực giác. Rốt cuộc, nếu ai đó may mắn và tạo ra khóa giống như bạn, họ không thể ăn cắp bitcoin của bạn sao?

Câu trả lời là xác suất người khác tạo ra cùng một khóa 256-bit như bạn là rất nhỏ nên chúng ta không phải lo lắng về điều đó trong thực tế. Gần như hoàn toàn, chúng tôi đảm bảo rằng điều đó sẽ không bao giờ xảy ra.

Nói chung, trái ngược với trực giác của người mới bắt đầu rằng các hệ thống xác suất là không thể đoán trước và khó suy luận, thường thì ngược lại—lý thuyết thống kê cho phép chúng ta định lượng chính xác cơ hội của các sự kiện mà chúng ta quan tâm và đưa ra các khẳng định tự tin về hành vi của các hệ thống đó.

Nhưng có một điều tinh tế: đảm bảo xác suất chỉ đúng khi các khóa được tạo ngẫu nhiên. Sự phát sinh ngẫu nhiên thường là một điểm yếu trong các hệ thống thực. Nếu hai máy tính của người dùng sử dụng cùng một nguồn ngẫu nhiên hoặc sử dụng ngẫu nhiên có thể dự đoán được, thì các đảm bảo lý thuyết sẽ không còn được áp dụng nữa. Vì vậy, để đảm bảo rằng các đảm bảo thực tế khớp với các đảm bảo lý thuyết, điều quan trọng là phải sử dụng một nguồn ngẫu nhiên tốt khi tạo khóa.

Thoạt nhìn, có vẻ như quản lý danh tính phi tập trung dẫn đến tính ẩn danh và quyền riêng tư lớn. Sau cùng, bạn có thể tự mình tạo ra một danh tính trông ngẫu nhiên mà không cần cho ai biết danh tính trong thế giới thực của bạn. Nhưng nó không đơn giản như vậy. Theo thời gian, danh tính mà bạn tạo sẽ tạo ra một loạt các tuyên bố. Mọi người nhìn thấy những tuyên bố này và do đó biết rằng bất kỳ ai sở hữu danh tính này đã thực hiện một loạt hành động nhất định. Họ có thể bắt đầu kết nối các dấu chấm (connect the dots), sử dụng chuỗi hành động này để đưa ra suy luận về danh tính trong thế giới thực của bạn. Một người quan sát có thể liên kết những quan sát này lại với nhau theo thời gian và đưa ra những suy luận dẫn đến những kết luận như “Gee, người này đang hành động rất giống Joe. Có thể người này là Joe ”.

Nói cách khác, trong Bitcoin, bạn không cần phải đăng ký hoặc tiết lộ danh tính trong thế giới thực của mình một cách rõ ràng, nhưng bản thân mô hình hành vi của bạn có thể đang nhận dạng. Đây là câu hỏi cơ bản về quyền riêng tư trong một loại tiền điện tử như Bitcoin, và thực sự chúng tôi sẽ dành Chương 6 cho nó.

Leave a Reply

Your email address will not be published. Required fields are marked *