Tôi sẽ nói về tính bảo mật đằng sau các địa chỉ và khóa Bitcoin, được gọi là Public Key Cryptography. Điều này bao gồm SHA256 , Trình tạo số ngẫu nhiên (RNG), Hàm băm và Chữ ký số theo đường cong Elliptic (ECDSA.) Nếu bạn có câu hỏi nào khác ngoài vấn đề này, vui lòng gửi tin nhắn trực tiếp cho tôi. Tôi là một nhà toán học được đào tạo, và tôi có một tình yêu sâu sắc với nó. Nếu bạn nhận thấy rằng bạn có sở thích mới về tiền mã hóa như một sở thích, thì có rất nhiều người tạo ra các thuật toán mật mã để giải trí và cộng đồng của họ có thể giúp ích cho hành trình của bạn.
Tôi hứa rằng bạn chỉ cần một số đại số cơ bản cho việc này, cũng như hiểu biết đơn giản về hàm số mũ . Nếu bạn đã quen thuộc với số học theo mô-đun , thật tuyệt vời. Nếu không, không có vấn đề gì. Cryptography đã tồn tại hàng nghìn năm và hiện có một cộng đồng rất mạnh mẽ gồm các chuyên gia và những người có sở thích. Công nghệ này đã đi được một chặng đường dài và những lần lặp lại hiện tại của nó cho phép bảo mật trực tuyến mà chúng ta hầu như không phải nghĩ đến. Hãy bắt đầu với khái niệm về Mật mã khóa công khai , đặc biệt trong ngữ cảnh của Bitcoin. Ở cấp độ cơ bản nhất, PKC liên quan đến các khóa riêng tư của bạn và các khóa công khai được tạo ra từ chúng. PKC sử dụng cái được gọi là “ các hàm cửa sập ”rất dễ giải quyết (dễ dàng tạo khóa công khai từ khóa cá nhân), nhưng hầu như không thể đảo ngược thiết kế (tìm khóa cá nhân được cung cấp khóa công khai.) Đây là do việc sử dụng các hàm số học mô-đun, hàm mũ và số nguyên tố . Các khóa cá nhân bitcoin của bạn có thể là các từ, nhưng chúng cũng có thể là một số rất lớn. Cụ thể, khi chúng tôi bắt đầu mã hóa, các khóa cá nhân của bạn sẽ được chuyển đổi thành một số lớn hoặc chuỗi nhị phân (chuỗi cái và số không) bất kể hình thức ban đầu của nó là gì. Thật gọn gàng! Đây là lý do tại sao đôi khi mọi người nói rằng khóa riêng của bạn “đại diện cho một số lượng rất, rất lớn” và là lý do bảo mật của nó. Mặc dù điều này đúng về mặt kỹ thuật theo nghĩa xác định/thuật toán, nhưng không nhất thiết phải rõ ràng tại sao. Tạo khóa riêng là một khía cạnh thú vị khác. Phần cứng và ví giám sát thực hiện điều này cho bạn và họ có thể hoặc không thể cho bạn biết chính xác cách họ sử dụng nó (phần mềm nguồn mở và phần mềm nguồn đóng.) Đây chắc chắn là điều đáng cân nhắc khi chọn ví. Tùy chọn khác là tạo của riêng bạn từ đầu. Bạn có thể tung một con súc sắc tốt, lật một đồng xu hoặc sử dụng một số phương pháp tương tự khác. Ngoài ra còn có các trình tạo số ngẫu nhiên trực tuyến đã được kiểm tra và phân loại bởi cộng đồng mật mã chuyên nghiệp. RNG thường sử dụng thời gian hiện tại làm trình tạo của chúng để tạo ra một sự khác biệt nhỏ ban đầu, sau khi lặp lại đủ, sẽ tạo ra một con số hoàn toàn duy nhất. Chọn một RNG trực tuyến với rủi ro của riêng bạn. Ngay cả khi bản thân RNG tốt, vẫn có thể có phần mềm độc hại trên trang web. Bạn càng biết nhiều! Vì vậy, chúng tôi có những lời bí mật của mình. Hãy xem điều gì sẽ xảy ra tiếp theo. Đây là một dạng rất đơn giản của hàm cửa sập của chúng tôi. “G đến a mod n” đại diện cho khóa công khai cuối cùng của chúng tôi (mod là viết tắt của số học mô-đun, giới hạn câu trả lời của chúng tôi ở một giới hạn số nhất định, trái ngược với mọi số tự nhiên ). Tuy nhiên, ngay cả khi bạn biết G và n, không có cách nào dễ dàng để bạn tìm thấy một, đại diện cho khóa cá nhân của bạn. Tính toán G cho mod n tương đối dễ dàng, nhưng không có gì phải quay ngược lại, nhờ vào Sự cố nhật ký rời rạc . N nói chung là một số nguyên tố lớn vì chúng không thể thay đổi được theo định nghĩa. Ngoài ra, nếu bạn quan tâm đến độ phức tạp tương đối của các chức năng/vấn đề, vui lòng xem xét Độ phức tạp về thời gian của thuật toán . Hãy đi sâu hơn một chút và xem xét nó bằng đồ thị để hiểu cụ thể hơn. Đường màu đỏ là đường cong của chúng tôi và là đường cụ thể được sử dụng bởi ECDSA của Bitcoin. G là điểm chúng tôi bắt đầu,”máy phát điện”của chúng tôi, nếu bạn muốn. Sau đó, chúng ta sẽ “thêm” G vào chính nó (mặc dù nó không phải là bổ sung theo nghĩa thông thường-những nhà toán học điên rồ đó thích xác định lại mọi thứ. Thậm chí đừng bắt đầu với tôi cấu trúc liên kết !). Trong trường hợp này, thêm nó có nghĩa là chúng ta sẽ lấy đường tiếp tuyến của điểm này. Bất cứ nơi nào mà đường tiếp tuyến cắt đường cong sẽ là điểm tiếp theo của chúng ta. Chúng ta sẽ lại tiếp tuyến và tìm một điểm mới. Trong thực tế (trên máy tính), điều này đang được thực hiện hàng nghìn, thậm chí hàng triệu lần. Kết quả cuối cùng là ngay cả khi bạn biết tôi bắt đầu từ đâu, bạn cũng không biết tôi đã “thêm” G vào chính nó bao nhiêu lần để đi đến điểm cuối cùng. Chúng tôi đã thực hiện thêm bao nhiêu lần việc bổ sung khóa cá nhân của bạn (số riêng của bạn). Một lần nữa, điều này rất dễ kiểm tra khi đưa ra một câu trả lời tiềm năng, nhưng hầu như không thể “vũ phu”. Tuyệt vời! Vì vậy, chúng tôi có thông tin xác định đầu tiên (một đầu vào cung cấp cho bạn một câu trả lời) xáo trộn thông tin, nhưng nó không phải ở định dạng tuyệt vời (ngay bây giờ, nó chỉ là một cặp có thứ tự (x, y). Giờ đây, chúng tôi có một khóa công khai, bắt nguồn từ khóa riêng tư. Hãy xáo trộn lại thông tin đó và biến đổi nó. Chúng tôi thực hiện việc này thông qua SHA 256, viết tắt của Thuật toán băm an toàn. Thuật toán băm là một tập hợp các bước cụ thể áp dụng cho thông tin, dẫn đến một tập dữ liệu được mã hóa có độ dài cố định, bất kể độ dài của đầu vào là bao nhiêu. Đúng, họ thuật toán này được phát triển bởi Cơ quan An ninh Quốc gia Hoa Kỳ (NSA), nhưng đừng để điều đó làm bạn lo lắng. Vẻ đẹp của khoa học ứng dụng-bao gồm toán học, là khám phá và kiến thức độc lập với người phát triển nó. Đây là lý do tại sao chúng tôi có bằng chứng. Nếu một bằng chứng là “âm thanh”, thì bằng chứng đó sẽ tự đứng vững bằng hai chân của mình và không thể bị “hack” hoặc làm việc xung quanh. Họ SHA2 là kiến thức công cộng. Bạn có thể lên mạng và xem mã, và nếu bạn thích tự sử dụng SHA256 để mã hóa một số thứ. Bạn sẽ thấy rằng một thay đổi rất nhỏ trong đầu vào sẽ có kết quả đáng kể cho câu trả lời. Lý thuyết hỗn loạn rất hay. Nhưng dù sao đi nữa. Khi nhiều người bảo mật hàng tỷ đô la với SHA256, họ cũng đã chi rất nhiều tiền để thử nghiệm nó để đảm bảo tính bảo mật của nó. Mọi người thường đưa ra tính toán lượng tử như một cách tiềm năng để phá vỡ mã hóa này. Tuy nhiên, nếu tính toán lượng tử trở nên khả thi, thì có rất nhiều tiền nữa sẽ bị đánh cắp bằng cách hack năm ngân hàng lớn nhất trên thế giới. Tôi chắc chắn rằng Bitcoin không nằm trong danh sách vì một khi nó bị tấn công, giá trị của nó có thể sẽ giảm đáng kể. Tất cả những gì đang nói, nếu SHA256 trở nên kém an toàn hơn trong tương lai, chúng tôi luôn có thể nâng cấp các phương pháp mã hóa của Bitcoin. Tiền có thể lập trình được! SHA256 tương tự như ECDSA ở chỗ rất dễ kiểm tra một câu trả lời, nhưng rất khó để bắt bẻ-thử mọi câu trả lời cho đến khi bạn tìm thấy câu trả lời đúng. SHA256 được đặt tên như vậy bởi vì nó tạo ra một chuỗi 256 bit-một chuỗi 256 số không và số lẻ. Điều này tạo ra một số lượng lớn các kết hợp có thể có, nhiều hơn số nguyên tử trong vũ trụ có thể quan sát được. Chúng tôi sẽ sử dụng lại một hàm băm khác để có được đầu ra nhỏ hơn, điều này làm cho cho một địa chỉ cuối cùng ngắn hơn. Hàm băm này được gọi là RIPEMD-160. Khi chúng ta có kết quả này, chúng ta sẽ chuyển nó thành cái gọi là Base58, đây chỉ là một dạng dễ đọc hơn đối với con người. Nó bỏ qua cả số không (0) và chữ hoa O (o), để chúng không phải là’không nhầm lẫn với nhau, cũng như bỏ qua chữ hoa I (i), để nó không bị nhầm với số một (1) hoặc chữ thường l (L) Nó bỏ qua cả số 0 (0 ) và chữ hoa O (o), để chúng không bị nhầm lẫn với nhau, cũng như bỏ qua chữ hoa I (i), để nó không bị nhầm với số một (1) hoặc chữ thường chữ hoa l (L). Và bây giờ chúng ta có một địa chỉ công cộng có thể chứng minh được (theo nghĩa chính thức, toán học) được tạo ra từ một địa chỉ riêng duy nhất. Ngay cả khi tất cả bảy tỷ người trên thế giới tạo một khóa công khai bitcoin mới mỗi ngày trong một nghìn năm, thì có rất nhiều khả năng xảy ra đến mức khả năng tạo cùng một khóa hai lần gần như bằng không. Tất cả đều là quá trình tạo và xác minh khóa, do đó thời gian chặn trung bình của chúng tôi là mười phút. Mười phút cho quyết toán cuối cùng được đảm bảo bằng toán học có giá trị tất cả. Đây là một bài đăng của khách của Nameless. Các ý kiến được bày tỏ hoàn toàn là của riêng họ và không nhất thiết phải phản ánh ý kiến của BTC Inc. hoặc Tạp chí Bitcoin .