Được viết bởi: git-sgmoore và fiatjaf (nostr)
Tổng hợp: Đạo của DeFi
Lưu ý: Gần đây, một giao thức xã hội phi tập trung có tên nostr đã trở nên phổ biến trong cộng đồng Bitcoin, điều này đã thu hút chính sách cấm gây tranh cãi của Giám đốc điều hành Twitter hiện tại Elon Musk, đồng thời cũng khiến cựu Giám đốc điều hành Twitter Jack Dorsey phải bỏ ra 14 BTC từ tiền túi của mình để cung cấp it Tài trợ, sức mạnh kỳ diệu của nostr là gì?

Chính sách cấm mới nhất của Twitter
Theo phần giới thiệu, nostr là một giao thức tối giản có thể tạo ra một mạng "xã hội" toàn cầu chống kiểm duyệt một lần và mãi mãi.
nostr không dựa vào bất kỳ máy chủ trung tâm đáng tin cậy nào, nó dựa trên các khóa và chữ ký mật mã, đồng thời không dựa vào công nghệ P2P cũng như không phát hành mã thông báo.
Vì vậy, làm thế nào nó hoạt động? Nói một cách đơn giản: mọi người đều điều hành một máy trạm, đây có thể là máy trạm gốc, máy trạm web, v.v. Để xuất bản nội dung nào đó (chẳng hạn như một bài đăng), bạn ký tên bằng khóa của mình và gửi nó đến nhiều máy chủ chuyển tiếp (máy chủ do người khác hoặc chính bạn lưu trữ). Để nhận thông tin cập nhật từ người khác, bạn có thể hỏi nhiều người lặp lại xem họ có biết về những người khác này không. Bất kỳ ai cũng có thể chạy bộ lặp, việc này rất đơn giản và không làm gì khác ngoài việc chấp nhận bài đăng của một số người và chuyển tiếp chúng cho người khác. Chúng ta cũng không cần phải tin tưởng vào rơle, chữ ký đã được xác minh máy trạm.
2. So sánh chức năng máy trạm Nostr
3. Danh sách dự án dựa trên Nostr
1. Vấn đề với các giải pháp khác
1. Vấn đề của Twitter
- Twitter có quảng cáo;
- Twitter sử dụng những thủ thuật kỳ lạ để khiến bạn nghiện;
- Twitter không hiển lịch sử thực tế của những người bạn theo dõi;
- Twitter cấm tài khoản của một số người;
- Twitter sử dụng Shadowbans .
- Twitter có rất nhiều thư rác;
2. Sự cố với Mastodon và các ứng dụng tương tự
- Danh tính người dùng được gắn với tên miền do bên thứ ba kiểm soát;
- Chủ sở hữu máy chủ có thể cấm bạn giống như Twitter, chủ sở hữu máy chủ cũng có thể chặn các máy chủ khác;
- Việc di chuyển giữa các máy chủ là một việc cần làm sau và chỉ có thể được thực hiện bằng sự cộng tác của máy chủ. Nó không hoạt động trong hoàn cảnh đối nghịch (tất cả những người theo dõi đều bị mất);
- Không có động cơ rõ ràng để vận hành một máy chủ, vì vậy chúng có xu hướng được điều hành bởi những người có sở thích và những người muốn gắn tên của mình với một tên miền thú vị . Người dùng sau đó phải chịu sự chuyên chế của một người, điều này thường tệ hơn cả một công ty lớn như Twitter và họ không thể di cư ra ngoài;
- Vì các máy chủ có xu hướng nghiệp dư nên chúng thường bị bỏ rơi sau một thời gian - điều này thực chất có nghĩa là cấm tất cả mọi người;
- Sẽ chẳng ích gì khi có lượng lớn máy chủ nếu các bản cập nhật của mỗi máy chủ phải được đẩy (và lưu!) sang lượng lớn máy chủ khác một cách khó khăn, điều này càng trở nên trầm trọng hơn do số lượng máy chủ quá lớn, do đó, nhiều dữ liệu hơn phải được phân phối nhiều hơn; thường xuyên đến nhiều nơi hơn;
- Đối với ví dụ cụ thể về chia sẻ video, những người đam mê Hoạt độngPub nhận thấy rằng việc truyền video giữa các máy chủ như chú thích văn bản là hoàn toàn không thể;
3. Sự cố với SSB (Secuttlebutt an toàn)
- Không có nhiều vấn đề với nó, điều mà tôi cho rằng là tuyệt vời. Trên thực tế, tôi định xây dựng dựa trên điều này, nhưng giao thức quá phức tạp vì nó hoàn toàn không cho rằng một giao thức mở. Nó chỉ được viết bằng JavaScript, có thể là một phương pháp nhanh chóng để giải quyết một vấn đề cụ thể, vì vậy nó có những điều kỳ lạ và không cần thiết, chẳng hạn như ký một chuỗi JSON, phải tuân thủ nghiêm ngặt các quy tắc phiên bản thứ 6 của ECMA-262;
- Nó đòi hỏi phải nhận được nhiều bản cập nhật từ một người dùng, điều này đối với tôi là không cần thiết và làm tăng thêm sự cồng kềnh và cứng nhắc của nội dung - mỗi máy chủ/người dùng cần lưu trữ tất cả Chuỗi bài đăng để đảm bảo các bài đăng mới có hiệu quả. Tại sao họ làm điều này? (Có thể họ có lý do chính đáng);
- Nó không đơn giản như Nostr vì nó chủ yếu được thiết kế để đồng bộ hóa P2P;
- Tuy nhiên, có thể đáng cân nhắc sử dụng SSB thay vì giao thức tùy chỉnh này và chỉ điều chỉnh nó cho phù hợp với mô hình máy chủ chuyển tiếp máy trạm, vì việc sử dụng lại một tiêu chuẩn luôn tốt hơn là cố gắng khiến mọi người sử dụng một tiêu chuẩn mới.
4. Các vấn đề khác yêu cầu giải pháp máy chủ đang chạy
- Họ yêu cầu mọi người chạy máy chủ của riêng họ;
- Đôi khi người ta vẫn bị kiểm duyệt ở những khu vực này vì tên miền có thể bị kiểm duyệt;
2. Nguyên lý hoạt động của Nostr
- Nostr có hai thành phần: máy trạm và rơle. Mỗi người dùng chạy một máy trạm và bất kỳ ai cũng có thể chạy một bộ lặp.
- Mỗi người dùng được xác định bằng khóa chung, mỗi bài đăng đều được ký và mỗi máy trạm xác minh các chữ ký này.
- Máy trạm nhận dữ liệu từ người chuyển tiếp mà họ lựa chọn và xuất bản dữ liệu tới những người chuyển tiếp khác mà họ lựa chọn. Bộ lặp không giao tiếp với bộ lặp khác mà chỉ giao tiếp trực tiếp với người dùng.
- Ví dụ: để "theo dõi" ai đó, người dùng chỉ cần hướng dẫn máy trạm của họ truy vấn một rơle mà họ biết về các bài đăng từ khóa chung đó.
- Khi khởi động, máy trạm truy vấn tất cả các bộ lặp mà nó biết dữ liệu tất cả người dùng mà nó quan tâm (ví dụ: tất cả các bản cập nhật từ ngày gần đây nhất) và sau đó hiển thị dữ liệu đó cho người dùng theo thứ tự thời gian.
- "Bài đăng" có thể chứa bất kỳ loại dữ liệu có cấu trúc nào, nhưng dữ liệu được sử dụng phổ biến nhất sẽ được tạo thành tiêu chuẩn để tất cả máy trạm và bộ lặp có thể xử lý chúng một cách liền mạch.
3. Nostr giải quyết những vấn đề mà các giải pháp khác không thể giải quyết được như thế nào?
Vấn đề 1: Người dùng bị cấm, máy chủ tắt
Trình chuyển tiếp có thể ngăn người dùng đăng bất kỳ nội dung nào lên đó nhưng điều này không ảnh hưởng gì đến người dùng vì họ vẫn có thể đăng nội dung lên các trình chuyển tiếp khác. Vì người dùng được xác định bằng khóa chung nên họ không bị mất danh tính và lượng người hâm mộ khi bị cấm.
Thay vì yêu cầu người dùng nhập địa chỉ chuyển tiếp mới theo cách thủ công (mặc dù điều này cũng cần được hỗ trợ), bất cứ khi nào ai đó bạn theo dõi đăng đề xuất máy chủ, máy trạm sẽ tự động thêm địa chỉ đó vào danh sách các chuyển tiếp mà nó sẽ truy vấn.
Nếu ai đó đang sử dụng một trình chuyển tiếp để xuất bản dữ liệu của họ nhưng muốn di chuyển sang một trình chuyển tiếp khác, họ có thể xuất bản đề xuất máy chủ cho trình chuyển tiếp trước đó rồi rời đi;
Nếu ai đó bị cấm sử dụng nhiều chuyển tiếp đến mức họ không thể phát khuyến nghị máy chủ của mình, họ vẫn có thể cho một số bạn thân biết theo những cách khác mà họ hiện đang đăng lên chuyển tiếp nào. Sau đó, những người bạn thân này có thể đăng đề xuất máy chủ lên máy chủ mới và dần dần, lượng người hâm mộ cũ của người dùng bị cấm sẽ bắt đầu tìm lại bài đăng của họ từ người chuyển tiếp mới.
Tất cả các quy định trên cũng có hiệu lực khi bộ lặp không hoạt động.
Vấn đề 2: Chống kiểm duyệt
Mỗi người dùng có thể xuất bản nội dung cập nhật của họ tới bất kỳ số lượng bộ lặp nào.
Người chuyển tiếp có thể tính phí cho người dùng (việc thương lượng phí hiện nằm ngoài phạm vi của giao thức) để xuất bản ở đó, điều này đảm bảo khả năng chống kiểm duyệt.
Vấn đề 3: Thư rác
Nếu thư rác là mối lo ngại của người chuyển tiếp, nó có thể yêu cầu thanh toán hoặc hình thức xác thực khác (chẳng hạn như địa chỉ email hoặc số điện thoại) để xuất bản, liên kết nội bộ những nội dung này với khóa chung và sau đó xuất bản nó lên. -công nghệ thư rác (chẳng hạn như hashcash hoặc CAPTCHA). Nếu một rơle được sử dụng làm vật mang thư rác, nó có thể dễ dàng bị máy trạm hủy bỏ, máy trạm có thể tiếp tục nhận được các bản cập nhật từ các rơle khác.
Câu 4: Lưu trữ dữ liệu
Để mạng duy trì hoạt động tốt, không cần hàng trăm bộ lặp hoạt động. Trên thực tế, nó chỉ cần một số ít để hoạt động tốt, vì trong trường hợp những cái hiện có bắt đầu gặp trục trặc, những cái mới có thể dễ dàng được tạo và phổ biến trên toàn mạng. Do đó, dung lượng lưu trữ dữ liệu cần thiết thường ít hơn so với Mastodon hoặc phần mềm tương tự.
Hoặc xem xét một kết quả khác: trong đó tồn tại hàng trăm người chuyển tiếp thích hợp do những người nghiệp dư điều hành, mỗi người chịu trách nhiệm chuyển tiếp các bản cập nhật cho một nhóm nhỏ người dùng. Kiến trúc này cũng mở rộng: dữ liệu được gửi từ người dùng đến một máy chủ duy nhất và từ máy chủ đó trực tiếp đến người dùng sẽ sử dụng dữ liệu. Nó không cần phải được lưu trữ bởi bất cứ ai khác. Trong trường hợp này, việc xử lý các bản cập nhật từ các máy chủ khác không phải là gánh nặng lớn đối với bất kỳ máy chủ nào và việc gặp phải các máy chủ nghiệp dư cũng không phải là vấn đề.
Câu 5: Nội dung nặng như video
Người chuyển tiếp có thể dễ dàng từ chối nội dung Dữ liệu lớn hoặc tính phí chấp nhận và lưu trữ nội dung Dữ liệu lớn. Các lực lượng thị trường có thể dễ dàng giải quyết vấn đề này khi thông điệp và khích lệ rõ ràng.
Câu 6: Phương pháp hiển thị
Mỗi máy trạm có thể quyết định cách hiển thị bài đăng tốt nhất cho người dùng, từ việc sử dụng trí tuệ nhân tạo để quyết định thứ tự các bản cập nhật bạn sẽ thấy cho đến việc đọc chúng theo trình tự thời gian.
4. Câu hỏi thường gặp
1. Việc này rất đơn giản, vậy tại sao trước đây chưa có ai làm việc này?
Đáp: Tôi không biết, nhưng tôi đoán nó có liên quan đến thực tế là những người tạo ra mạng xã hội này là những công ty muốn kiếm tiền hoặc họ là những nhà hoạt động P2P muốn tạo ra những thứ không cần máy chủ. , và cả hai đều không nhìn thấy Nostr đang sử dụng thứ gì. Một sự kết hợp nhất định của hai thế giới.
2. Làm cách nào để tìm được người theo dõi?
Đáp: Đầu tiên, bạn phải biết họ và lấy được khóa công khai của họ bằng cách nào đó, bằng cách hỏi hoặc nhìn thấy nó ở đâu đó. Khi tham gia mạng xã hội Nostr, bạn có thể thấy sự tương tác của họ với những người khác và sau đó bạn có thể bắt đầu theo dõi và tương tác với những người đó.
3. Làm cách nào để tìm bộ lặp? Điều gì xảy ra nếu tôi không kết nối với cùng bộ lặp tín hiệu với người khác?
Đáp: Bạn sẽ không thể liên lạc được với người đó. Tuy nhiên, gợi ý sự kiện có thể được sử dụng để phần mềm máy trạm của bạn (hoặc theo cách thủ công) biết cách kết nối với bộ lặp của người khác và tương tác với họ. Có những ý tưởng khác để giải quyết vấn đề này trong tương lai, nhưng chúng tôi không bao giờ có thể đảm bảo khả năng tiếp cận hoàn hảo và không có giao thức nào có thể làm được.
4. Tôi có thể biết có bao nhiêu người đang theo dõi mình không?
Trả lời: Không, nhưng bạn có thể nhận được một số ước tính nếu các bộ lặp hợp tác với các giao thức bổ sung.
5. Động lực nào khiến mọi người chạy bộ lặp?
Đáp: Câu hỏi này gây hiểu lầm ở chỗ nó giả định rằng các bộ lặp là miễn phí và mọi người có thể di chuyển dữ liệu qua chúng. Có, khích lệ không tồn tại trong trường hợp này. Điều này thực sự cũng áp dụng cho nút DHT trong tất cả các ngăn xếp mạng p2p khác: mọi người có động cơ gì để chạy nút DHT?
6. Có gì khác biệt nếu bộ lặp chỉ có trên AWS hoặc Azure?
Đáp: Ngày nay, có hàng nghìn nhà cung cấp VPS trên khắp thế giới, không chỉ AWS hay Azure. AWS hoặc Azure chính xác là những gì bạn sẽ sử dụng cho các nhà cung cấp dịch vụ tập trung đơn lẻ quy mô lớn, trong khi đối với các máy chủ chuyển tiếp nhỏ hơn thì bất kỳ VPS nào cũng sẽ hoạt động tốt.
Thông số giao thức
Xem NIP , đặc biệt là NIP-01, để biết giải thích chi tiết hợp lý về đặc tả giao thức (gợi ý: nó rất ngắn gọn).






