Với thiết kế không phụ thuộc vào máy chủ trung tâm, Nostr sử dụng khóa mã hóa và chữ ký để bảo vệ tính xác thực của nội dung. Điều này giúp người dùng có toàn quyền kiểm soát nội dung và đảm bảo quyền tự do ngôn luận, ngay cả khi đối mặt với những thách thức về kiểm duyệt và bảo mật. Trong bài viết này, chúng ta sẽ khám phá mạng Nostr là gì? Cách thức hoạt động và những lợi ích mà Nostr mang lại trong thế giới mạng xã hội hiện đại.

Nostr là gì?
Nostr là một giao thức mở, được thiết kế đơn giản nhất có thể, nhằm tạo ra một mạng xã hội toàn cầu có khả năng chống kiểm duyệt vĩnh viễn.
Vì không phụ thuộc vào bất kỳ máy chủ trung tâm nào, nên Nostr có tính linh hoạt và khả năng phục hồi cao. Giao thức này sử dụng khóa mã hóa và chữ ký để đảm bảo tính an toàn và ngăn chặn việc giả mạo. Đồng thời, vì không dựa trên công nghệ P2P, Nostr đảm bảo tính ổn định và khả năng hoạt động hiệu quả.
Nostr hoạt động như thế nào?
Hệ thống giao thức Nostr bao gồm 2 thành phần: client và relay. Mỗi người dùng chạy một client và bất kỳ ai cũng có thể vận hành một relay.
- Mỗi người dùng được xác định bằng một khóa công khai và nếu muốn đăng bài, bạn phải ký tên bằng khóa riêng của mình và gửi bài đến nhiều relay. Các client sẽ nhận dữ liệu từ các relay mà người dùng chọn, sau đó xác thực và gửi dữ liệu đến các relay khác theo sự lựa chọn của người dùng.
- Relay chỉ giao tiếp trực tiếp với người dùng, không trao đổi thông tin với các relay khác.
- Khi người dùng muốn “theo dõi” ai đó, họ chỉ cần cấu hình client của mình để truy vấn các relay mà họ biết, tìm kiếm bài đăng từ khóa công khai của người đó.
- Khi khởi động, client sẽ yêu cầu dữ liệu từ tất cả các relay mà nó biết về các người dùng mà nó theo dõi (ví dụ: tất cả các cập nhật từ ngày hôm qua) và hiển thị dữ liệu đó theo thứ tự thời gian cho người dùng.
- Một “bài đăng” có thể chứa bất kỳ loại dữ liệu có cấu trúc nào, nhưng các loại dữ liệu phổ biến nhất sẽ được chuẩn hóa để tất cả client và relay có thể xử lý một cách dễ dàng và nhất quán.

Tại sao Nostr lại cần thiết?
Nostr ra đời để giải quyết một số vấn đề của các nền tảng khác:
Vấn đề của Twitter
Mạng xã hội này có chứa quảng cáo, sử dụng các kỹ thuật kỳ quái khiến người dùng dễ bị “nghiện”.
Twitter không hiển thị dòng thời gian thực tế từ những người bạn theo dõi.
Twitter chặn người dùng một cách công khai hoặc âm thầm (shadowban).
Nền tảng này chứa nhiều nội dung spam.
Vấn đề của Mastodon và các nền tảng tương tự
Mastodon và các dịch vụ tương tự hoạt động dựa trên các máy chủ độc lập mà người dùng đăng ký theo tên miền do bên thứ ba quản lý. Chủ sở hữu máy chủ có thể cấm bạn hoặc chặn các máy chủ khác. Việc chuyển đổi giữa các máy chủ không dễ dàng và chỉ khả thi nếu các máy chủ phối hợp với nhau.
Hệ thống này không hiệu quả trong môi trường có xung đột (bạn sẽ mất tất cả người theo dõi) và không có động lực rõ ràng để duy trì máy chủ, nên nó thường chỉ được vận hành bởi những người đam mê hoặc muốn có tên miền riêng.
Vì các máy chủ thường do cá nhân hoặc nhóm nhỏ quản lý, chúng có thể bị bỏ sau một thời gian. Điều này dẫn đến việc người dùng bị cấm hoặc không thể chuyển đổi máy chủ dễ dàng. Việc cập nhật và lưu trữ dữ liệu trên nhiều máy chủ có thể rất tốn kém và kém hiệu quả.
Đặc biệt trong trường hợp chia sẻ video, nhiều người đam mê ActivityPub nhận thấy việc truyền video giữa các máy chủ là rất khó khăn. Vì vậy họ quyết định chỉ lưu trữ video trên một máy chủ duy nhất – nơi nó được đăng tải, tương tự như cách tiếp cận của Nostr.

Vấn đề của SSB (Secure Scuttlebutt)
SSB không gặp nhiều vấn đề lớn, nhưng lại khá phức tạp vì nền tảng này không được thiết kế như một giao thức mở ngay từ đầu. Ban đầu, SSB chỉ được viết nhanh chóng bằng JavaScript để giải quyết một vấn đề cụ thể và sau đó phát triển thêm. Điều này dẫn đến một số đặc điểm kỳ lạ và không cần thiết, chẳng hạn như việc phải tuân theo các quy tắc chặt chẽ của ECMA-262 phiên bản 6 khi ký một chuỗi JSON.
Giao thức này cũng yêu cầu một chuỗi cập nhật từ một người dùng duy nhất. Điều này có vẻ không cần thiết và làm cho hệ thống trở nên cứng nhắc – mỗi máy chủ hoặc người dùng phải lưu trữ toàn bộ chuỗi bài đăng để đảm bảo tính hợp lệ của bài đăng mới.
Mặc dù có thể có lý do chính đáng cho những điều này, nhưng SSB không đơn giản như Nostr vì nó chủ yếu được thiết kế cho việc đồng bộ hóa P2P, với các “pubs” được thêm vào sau.
Tuy nhiên, có thể xem xét việc điều chỉnh SSB để phù hợp với mô hình máy chủ relay-client thay vì tạo ra một giao thức mới. Bởi vì việc tái sử dụng một tiêu chuẩn hiện có thường dễ dàng hơn là tạo ra một tiêu chuẩn hoàn toàn mới.

Vấn đề của các mạng khác
Các mạng khác yêu cầu mỗi người phải chạy máy chủ riêng của họ. Tuy nhiên, ngay cả trong các hệ thống này, người dùng vẫn có thể bị kiểm duyệt vì tên miền của máy chủ có thể bị chặn.
Làm thế nào Nostr giải quyết được các vấn đề mà các mạng trên không thể?
Khi người dùng bị cấm và máy chủ bị đóng
Với Nostr, nếu một người dùng bị cấm trên một relay hoặc relay đó bị đóng, người dùng vẫn có thể xuất bản bài viết trên các relay khác. Danh tính và người theo dõi của họ không bị mất vì họ được xác định bằng khóa công khai.
Để đơn giản hóa việc chuyển đổi relay, client có thể tự động thêm các relay mới khi người dùng theo dõi đăng đề xuất máy chủ. Nếu một người dùng muốn chuyển từ relay này sang relay khác, họ có thể đăng đề xuất máy chủ từ relay cũ.
Nếu họ bị cấm khỏi nhiều relay và không thể phát sóng thông tin về relay mới, họ có thể thông báo cho bạn bè qua các phương tiện khác. Những bạn bè này có thể giúp chia sẻ thông tin về relay mới, giúp người dùng khôi phục người theo dõi. Tương tự, nếu một relay ngừng hoạt động, các bước trên vẫn có hiệu lực.

Chống kiểm duyệt
Khi sử dụng Nostr, mỗi người dùng có thể xuất bản cập nhật của mình trên nhiều relay khác nhau. Một relay có thể tính phí để người dùng xuất bản trên đó (việc thỏa thuận phí không nằm trong giao thức hiện tại). Điều này giúp đảm bảo chống kiểm duyệt, vì sẽ luôn có một số máy chủ sẵn sàng nhận tiền để phục vụ bài đăng của bạn, ngay cả khi các máy chủ khác từ chối.
Spam
Nếu spam là mối quan tâm đối với một relay, relay đó có thể yêu cầu thanh toán hoặc xác thực bằng địa chỉ email hoặc số điện thoại để cho phép xuất bản bài viết. Những thông tin này sẽ được liên kết với khóa công khai của người dùng và công bố trên relay đó.
Các relay cũng có thể sử dụng những biện pháp chống spam khác như hashcash hoặc captcha. Nếu một relay bị lạm dụng để phát tán spam, các client có thể dễ dàng loại bỏ relay đó khỏi danh sách của mình và tiếp tục nhận cập nhật từ các relay khác.

Lưu trữ dữ liệu
Nostr không cần hàng trăm relay hoạt động để vận hành hiệu quả. Trên thực tế, chỉ với vài relay, mạng vẫn có thể hoạt động tốt vì các relay mới có thể được tạo ra và kết nối dễ dàng nếu các relay hiện tại gặp sự cố. Vì vậy, yêu cầu lưu trữ dữ liệu thường ít hơn so với các hệ thống như Mastodon.
Trong một tình huống khác, nếu có hàng trăm relay chuyên biệt do các cá nhân điều hành, mỗi relay chỉ cần chuyển tiếp cập nhật từ một nhóm nhỏ người dùng. Kiến trúc mở rộng của hệ thống cho phép dữ liệu được gửi từ người dùng đến một máy chủ và từ đó đến người dùng khác mà không cần phải lưu trữ bởi bất kỳ máy chủ nào khác.
Vì vậy, việc xử lý cập nhật từ các relay khác không tạo gánh nặng lớn cho bất kỳ máy chủ nào và sự hiện diện của các máy chủ nghiệp dư không gây ra vấn đề.

Video và nội dung dung lượng lớn
Một relay có thể đơn giản từ chối các tệp lớn hoặc tính phí để chấp nhận và lưu trữ chúng. Khi thông tin minh bạch và có động lực rõ ràng, thị trường sẽ tự điều chỉnh để giải quyết vấn đề này.
Kỹ thuật kiểm soát nội dung
Mỗi client có thể tự do quyết định cách hiển thị bài đăng cho người dùng. Điều này cho phép bạn chọn cách tiếp nhận nội dung theo ý muốn, từ việc sử dụng AI để sắp xếp thứ tự bài đăng đến đơn giản là đọc chúng theo thứ tự thời gian.
Câu hỏi thường gặp về chủ đề “Nostr là gì?”
Làm cách nào tôi tìm được người để theo dõi trên mạng Nostr?
Trước tiên, bạn cần biết họ và lấy khóa công khai của họ, có thể bằng cách hỏi trực tiếp hoặc tìm thấy ở đâu đó.
Khi bạn tham gia vào mạng xã hội Nostr, bạn sẽ thấy họ tương tác với người khác và từ đó, bạn có thể bắt đầu theo dõi và tương tác với những người này.
Làm thế nào để tôi tìm được relay? Điều gì sẽ xảy ra nếu tôi không kết nối với cùng một relay với người khác?
Bạn sẽ không thể giao tiếp trực tiếp với người đó. Tuy nhiên, có các gợi ý về sự kiện mà phần mềm client của bạn (hoặc bạn tự làm) có thể sử dụng để tìm và kết nối với relay mà người đó đang dùng để tương tác.
Cũng có những ý tưởng khác để giải quyết vấn đề này trong tương lai, nhưng không có giao thức nào có thể đảm bảo khả năng truy cập hoàn hảo.
Tôi có thể biết bao nhiêu người đang theo dõi tôi không?
Không, nhưng bạn có thể ước tính chúng nếu các relay hợp tác theo cách extra-protocol (ngoài giao thức).
Nostr cho phép bạn chuyển đổi giữa các relay máy chủ hoặc sử dụng nhiều relay nhưng nếu các relay này chỉ trên AWS hoặc Azure thì có gì khác biệt?
Hiện nay có hàng nghìn nhà cung cấp VPS trên khắp thế giới, không chỉ giới hạn ở AWS hay Azure. AWS và Azure thường được dùng cho các dịch vụ lớn, tập trung cần quy mô cao. Nhưng với các máy chủ relay nhỏ, bất kỳ nhà cung cấp VPS nào cũng có thể hoạt động tốt.

Kết luận
Nostr đại diện cho một bước tiến đáng kể trong việc xây dựng mạng xã hội phi tập trung và chống kiểm duyệt. Bằng cách dựa vào hệ thống relay phân tán và các phương pháp xác thực mạnh mẽ, Nostr mang đến một giải pháp bền vững cho các vấn đề liên quan đến kiểm soát và giám sát thông tin.
Nguồn: fiatjaf