Đây là một bài xã luận quan điểm của Shinobi, một nhà giáo dục tự học trong không gian Bitcoin và người dẫn chương trình podcast Bitcoin theo định hướng công nghệ.
Tôi đề nghị, trước khi đọc điều này, bạn nên đọc bài viết trước tôi đã viết giải thích Nostr là gì và nó hoạt động như thế nào ở cấp độ cao. Sau đó, bạn nên có một ý tưởng hay về thiết kế cốt lõi của hệ thống tại thời điểm đó, vì vậy, bây giờ chúng ta hãy xem xét các vấn đề có thể xảy ra khi nó phát triển trong quá trình áp dụng. Với nền tảng trở thành một thứ phổ biến cho cộng đồng Bitcoin, những vấn đề này là những vấn đề cần lưu ý.
Như tôi đã thảo luận trong bài viết trước, các cặp khóa công khai/riêng tư của người dùng là không thể thiếu đối với cách Nostr hoạt động như một giao thức. Không có tên người dùng hoặc bất kỳ loại số nhận dạng nào mà máy chủ chuyển tiếp kiểm soát để liên kết với người dùng cá nhân. Đơn giản là các khóa của người dùng hoàn toàn nằm dưới sự kiểm soát của họ.
Điều này hoạt động như một ràng buộc chặt chẽ giữa người dùng thực tế và cách họ được xác định bởi những người khác để ngăn bất kỳ máy chủ chuyển tiếp nào hủy liên kết hai điều đó, tức là cung cấp số nhận dạng của ai đó cho người dùng khác. Điều này giải quyết một trong những vấn đề cơ bản lớn nhất của các nền tảng được sử dụng để liên lạc giữa mọi người: thiếu kiểm soát đối với danh tính của chính người dùng. Nhưng nó cũng đưa ra tất cả các vấn đề về quản lý khóa mà ai đó sở hữu khóa riêng gặp phải. Các khóa có thể bị mất và các khóa có thể bị xâm phạm và nếu một sự kiện như vậy xảy ra, người dùng sẽ không có ai để được hỗ trợ, giống như với Bitcoin. Không có hỗ trợ khách hàng để phục hồi bất cứ điều gì. Bạn mất nó, đó là nó.
Điều này chắc chắn sẽ đòi hỏi một sơ đồ để người dùng xoay vòng từ cặp khóa này sang cặp khóa khác theo cách có thể xác minh và có thể khám phá đối với những người dùng khác mà họ tương tác thông qua giao thức. Toàn bộ giao thức dựa trên việc chứng minh rằng một sự kiện đến từ một người dùng cụ thể (khóa nhận dạng), vì vậy tất cả những đảm bảo đó sẽ bị loại bỏ sau khi khóa của ai đó bị xâm phạm.
Làm thế nào để bạn xử lý đó? Chỉ cần đi kiểm tra tài khoản Twitter của họ? Chà, cuối cùng thì đó không phải là một hệ thống phi tập trung nếu bạn yêu cầu sử dụng một nền tảng tập trung nơi họ không kiểm soát danh tính của mình để xác minh danh tính Nostr của họ.
Những người dùng khác có chứng thực tính hợp pháp của khóa mới không? Điều đó không giải quyết các tình huống như thỏa hiệp khóa hàng loạt hoặc không biết ai đủ thân cận để tin tưởng vào chứng thực của họ.
Nostr cần một sơ đồ mật mã thực tế buộc vòng quay của khóa này sang khóa khác. Đây là một đề xuất từ nhà phát triển fiatjaf cho một chương trình cơ bản có khả năng giải quyết vấn đề này. Ý tưởng cơ bản là lấy một tập hợp dài các địa chỉ bắt nguồn từ một hạt giống chính duy nhất và tạo một tập hợp các khóa “được điều chỉnh” tương tự như cách các cây Taproot được cam kết với một khóa Bitcoin. Taproot lấy gốc cây Merkle của cây Taproot và “thêm” nó vào khóa chung để tạo khóa chung mới. Điều này có thể được sao chép bằng cách thêm gốc cây Merkle đó vào khóa riêng để đạt được khóa riêng phù hợp cho khóa chung mới. Ý tưởng của Fiatjaf là xâu chuỗi các cam kết từ đầu đến cuối để mỗi khóa được điều chỉnh sẽ thực sự chứa bằng chứng cho thấy khóa được điều chỉnh tiếp theo đã được sử dụng để tạo ra nó.
Vì vậy, hãy tưởng tượng bắt đầu với khóa Z, khóa cuối cùng trong chuỗi. Bạn sẽ chỉnh sửa cái này bằng thứ gì đó, sau đó quay ngược lại và tạo một phiên bản đã chỉnh sửa của phím Y bằng cách sử dụng phím Z đã chỉnh sửa (Z' + Y = Y'). Từ đây, bạn sẽ lấy Y' và sau đó sử dụng nó để điều chỉnh X (Y' + X = X'). Bạn sẽ làm điều này cho đến khi quay lại phím A, để lấy A', và từ đó, bắt đầu sử dụng phím đó. Khi nó bị xâm phạm, người dùng có thể phát một sự kiện chứa khóa A chưa được chỉnh sửa và khóa B' đã được chỉnh sửa. Điều này sẽ chứa tất cả dữ liệu cần thiết để hiển thị B' đã được sử dụng để tạo A' và người dùng có thể ngừng theo dõi A' ngay lập tức và thay vào đó theo dõi B'. Họ sẽ biết chắc chắn rằng B' là khóa tiếp theo của người dùng đó và thay vào đó sẽ theo dõi khóa đó.
Đề xuất này vẫn còn một số vấn đề mặc dù. Trước tiên, bạn phải tạo trước tất cả các khóa mà bạn sẽ sử dụng và không có cách nào để chuyển sang một bộ khóa hoàn toàn mới. Điều này có thể được giải quyết bằng cách cam kết một khóa chính trong sơ đồ này có thể chứng thực các phép quay như vậy hoặc đơn giản là tạo một bộ khóa rất lớn ngay từ đầu. Một trong hai con đường sẽ là một khóa học hợp lệ để thực hiện, nhưng cuối cùng sẽ yêu cầu giữ an toàn cho khóa gốc hoặc tài liệu khóa và chỉ hiển thị các phím nóng riêng lẻ cho các máy khách Nostr.
Tuy nhiên, sơ đồ này không có tác dụng gì để bảo vệ người dùng hoặc cung cấp cơ chế khôi phục danh tính trong trường hợp tài liệu khóa gốc bị mất hoặc bản thân nó bị xâm phạm. Bây giờ, điều này không có nghĩa là kế hoạch của fiatjaf không có lợi ích gì, hoàn toàn là có, nhưng điều quan trọng là phải làm rõ rằng không có giải pháp nào giải quyết được mọi vấn đề.
Để đánh giá một chút về các giải pháp tiềm năng ở đây, hãy tưởng tượng thay vì một chuỗi các phím được điều chỉnh như anh ấy đề xuất, một phím được điều chỉnh bằng một phím lạnh chính cũng phải được sử dụng để ký sự kiện xoay từ phím này sang phím khác. Bạn có khóa A', được lấy bằng cách thêm A và M (khóa chính) và sự kiện xoay vòng sẽ là A, M và B' (được tạo bằng cách thêm B và M) với chữ ký từ M. M có thể là một khóa ngưỡng đa chữ ký — hai trên ba, ba trên năm, v.v. Điều này có khả năng bổ sung khả năng dự phòng chống mất mát cũng như cung cấp một cơ chế an toàn cho việc xoay khóa. Điều này cũng mở ra cơ hội sử dụng các dịch vụ để hỗ trợ phục hồi hoặc chia sẻ một số chìa khóa đó cho những người bạn đáng tin cậy. Nó cung cấp tất cả tính linh hoạt giống như multisig thực hiện với chính Bitcoin.
mã PIN26 cũng là một đề xuất có thể rất hữu ích trong việc xử lý vấn đề này. Điều này chỉ định một phần mở rộng giao thức cho các sự kiện cho phép chữ ký từ một khóa ủy quyền cho một khóa khác thay mặt nó đăng các sự kiện. Sau đó, “mã thông báo” hoặc bằng chứng chữ ký của ủy quyền sẽ được đưa vào tất cả các sự kiện được đăng bởi khóa công khai thứ hai thay mặt cho người thứ nhất. Nó thậm chí có thể bị giới hạn thời gian để mã thông báo ủy quyền tự động hết hạn và phải được gia hạn.
Cuối cùng, tuy nhiên nó được giải quyết, vấn đề này có sẽ được giải quyết cho Nostr trong dài hạn. Một giao thức hoàn toàn dựa trên các cặp khóa công khai/riêng tư đang được sử dụng làm danh tính không thể thu hút và áp dụng nếu tính toàn vẹn của những danh tính đó không thể được bảo vệ và duy trì cho người dùng. Điều đó cuối cùng sẽ dẫn đến việc phải liên tục sử dụng các nền tảng tập trung và ngoài băng tần để xác minh các khóa mới và điều phối những người theo dõi danh tính mới của bạn khi thứ gì đó bị mất hoặc bị xâm phạm và tại thời điểm đó, các nền tảng khác đó trở thành phương tiện gieo rắc sự nhầm lẫn và tham gia kiểm duyệt.
Các vấn đề về quản lý khóa và bảo mật là những vấn đề lớn với một không gian thiết kế rất rộng chứa đầy những điểm yếu và khó khăn, nhưng chúng là những vấn đề sẽ phải được giải quyết trong bối cảnh của Nostr để nó hoạt động. Trong bài viết tiếp theo của mình, tôi sẽ tóm tắt một số vấn đề mà tôi thấy nảy sinh liên quan đến kiến trúc máy chủ chuyển tiếp và các vấn đề mở rộng quy mô mà các nhà phát triển Nostr sẽ phải đối mặt với các cấu trúc dữ liệu cơ bản mà Nostr được xây dựng trên đó.
Đối với bất kỳ ai đọc và thắc mắc tại sao tôi chưa đề cập đến số nhận dạng phi tập trung (DID): Vâng, đó là một giải pháp tiềm năng cho những vấn đề này, theo ý kiến của tôi, là khá toàn diện. Tuy nhiên, các nhà phát triển Nostr dường như rất do dự trong việc tích hợp DID vào giao thức hoặc ứng dụng khách do thực tế là nó sẽ tạo ra các phụ thuộc bên ngoài bên ngoài giao thức Nostr. Nếu bạn không quen thuộc với cách DID hoạt động ở cấp độ kỹ thuật và quan tâm, bài viết này của Level 39 là một bản tóm tắt rất hay bằng văn bản về cách chúng hoạt động.
Đây là một bài đăng của Shinobi. 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.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- hoàn toàn
- Tài khoản
- thực sự
- địa chỉ
- địa chỉ
- Thêm
- Nhận con nuôi
- chống lại
- trước
- Hỗ trợ
- Tất cả
- Cho phép
- và
- Một
- bất kỳ ai
- kiến trúc
- xung quanh
- bài viết
- Hỗ trợ
- Liên kết
- ủy quyền
- tự động
- trở lại
- dựa
- cơ bản
- trở nên
- trở thành
- trước
- Bắt đầu
- được
- hưởng lợi
- giữa
- lớn
- lớn nhất
- ràng buộc
- Một chút
- Bitcoin
- Tạp chí Bitcoin
- phát sóng
- BTC
- BTC
- xây dựng
- không thể
- Sự kiểm duyệt
- tập trung
- chuỗi
- kiểm tra
- khách hàng
- Đóng
- cam kết
- cam kết
- Giao tiếp
- hoàn toàn
- toàn diện
- Thỏa hiệp
- nhầm lẫn
- liên tục
- bối cảnh
- điều khiển
- phối hợp
- Trung tâm
- có thể
- Khóa học
- tạo
- mật mã
- khách hàng
- Hỗ trợ khách hàng
- dữ liệu
- Phân quyền
- Nguồn gốc
- Thiết kế
- Nhà phát triển
- phát triển
- thảo luận
- Cửa
- xuống
- mỗi
- Biên tập
- hay
- thuê
- đủ
- Toàn bộ
- hoàn toàn
- vv
- Ngay cả
- Sự kiện
- sự kiện
- cuối cùng
- BAO GIỜ
- giải thích
- bày tỏ
- mở rộng
- ngoài
- quen
- Fiatjaf
- Tên
- Linh hoạt
- theo
- tiếp theo
- bạn bè
- từ
- Full
- chức năng
- cơ bản
- Thu được
- tạo ra
- tạo ra
- tạo ra
- được
- được
- Cho
- Go
- đi
- tốt
- Phát triển
- bảo đảm
- Khách
- Bài đăng của Khách
- xử lý
- Xử lý
- có
- tại đây
- Do dự
- Cao
- chủ nhà
- Độ đáng tin của
- Tuy nhiên
- HTTPS
- ý tưởng
- xác định
- định danh
- danh tính
- Bản sắc
- ngay
- quan trọng
- in
- bao gồm
- hệ thống riêng biệt,
- chắc chắn
- thay vì
- thiếu
- tích hợp
- tính toàn vẹn
- tương tác
- quan tâm
- Giới thiệu
- vấn đề
- các vấn đề
- IT
- chính nó
- giữ
- Key
- phím
- Biết
- Biết
- Thiếu sót
- lớn
- Họ
- hợp pháp
- Cấp
- Có khả năng
- Hạn chế
- dài
- Xem
- thua
- sự mất
- tạp chí
- làm cho
- quản lý
- Thánh Lễ
- chủ
- phù hợp
- vật liệu
- có nghĩa
- cơ chế
- đề cập
- Đa cấp
- nhất thiết
- nhu cầu
- Mới
- tiếp theo
- mũi
- cung cấp
- Cung cấp
- ONE
- mở ra
- Ý kiến
- Ý kiến
- gọi món
- Nền tảng khác
- Khác
- bên ngoài
- riêng
- Đau
- cặp
- con đường
- người
- nền tảng
- Nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- Podcast
- Điểm
- điểm
- Phổ biến
- Bài đăng
- đăng
- tiềm năng
- có khả năng
- Trước khi
- riêng
- Key Private
- Vấn đề
- vấn đề
- bằng chứng
- đề nghị
- đề xuất
- bảo vệ
- bảo vệ
- giao thức
- cho
- công khai
- chính công
- Đọc
- Reading
- Phục hồi
- phục hồi
- phản ánh
- liên quan
- gia hạn
- nhân rộng
- yêu cầu
- trở lại
- nguồn gốc
- an toàn
- tương tự
- mở rộng quy mô
- Đề án
- Thứ hai
- an toàn
- an ninh
- hạt giống
- DỊCH VỤ
- định
- nên
- hiển thị
- đăng ký
- tương tự
- đơn giản
- duy nhất
- tình huống
- So
- giải pháp
- Giải pháp
- động SOLVE
- Giải quyết
- một số
- Một người nào đó
- một cái gì đó
- Không gian
- riêng
- lan rộng
- Bắt đầu
- Vẫn còn
- Dừng
- như vậy
- tóm tắt
- hỗ trợ
- hệ thống
- Hãy
- mất
- rễ cái
- Kỹ thuật
- Sản phẩm
- cung cấp their dịch
- điều
- số ba
- ngưỡng
- Thông qua
- thời gian
- đến
- mã thông báo
- Tokens
- lực kéo
- thương mại
- Cây
- NIỀM TIN
- đáng tin cậy
- Cuối cùng
- Dưới
- sử dụng
- người sử dang
- Người sử dụng
- xác minh
- phiên bản
- Điều gì
- cái nào
- sẽ
- ở trong
- tự hỏi
- Công việc
- công trinh
- sẽ
- viết
- X
- Bạn
- trên màn hình
- youtube
- zephyrnet