这两天我专门去顺着@SignOfficial 的 New ID System 往下看。发现钱包要支持离线存储和离线展示,方式包括 QR 和 NFC。 这不是我自己脑补,官方文档首页就把 offline presentation patterns 列成身份系统的共同要求,白皮书也把 offline capabilities 单独写进数字钱包能力里。
Hai ngày qua, tôi đã dành thời gian để xem qua ví dụ phân phối trong tài liệu @SignOfficial , ban đầu chỉ muốn xác nhận một ghi chép phát hành sẽ được ghi lại đến mức độ nào. Kết quả là tôi bị mắc kẹt bởi một chi tiết rất nhỏ, không phải số tiền, không phải địa chỉ, mà là phiên bản ruleset.
Tôi nghĩ rằng ghi chép phát hành chỉ cần biết ai đã nhận bao nhiêu, khi nào phát đi thì có thể đối chiếu là đủ, nhưng ví dụ của $SIGN không viết như vậy.
Nó không chỉ để số tiền/đối tượng và thời gian/trong danh sách phân phối mà còn nhét vào cả phiên bản ruleset/nhật ký kiểm tra tuân thủ/tham chiếu quyết toán, nghĩa là $SIGN không chỉ muốn lưu lại kết quả, mà còn muốn lưu lại quy tắc mà kết quả này được chạy theo lúc đó.
Tại sao chi tiết nhỏ này lại quan trọng?
Bởi vì trong quy trình thực tế, điều dễ bị nhầm lẫn nhất không phải là có phát hay không, mà là sau này không thể nói rõ đợt đó áp dụng theo phiên bản quy tắc nào, danh sách có bị cập nhật sau đó không, việc đóng băng có được bổ sung giữa chừng không, kết quả này rốt cuộc nên xem xét theo logic nào. Một khi những điều này không thể nói rõ, hệ thống tự động hóa cuối cùng cũng sẽ rơi trở lại vào bảng tính/email và khẩu vị nhân công. Tài liệu TokenTable đã viết quy tắc/đình chỉ hoàn trả/xem xét/logics có thể phát lại một cách nặng nề như vậy, về bản chất đang thừa nhận rằng nếu phân phối chỉ để lại kết quả mà không để lại quy tắc, thì sau này sớm muộn gì cũng sẽ gặp vấn đề.
Vì vậy, tôi phát hiện ra rằng điều thú vị nhất về $SIGN không chỉ là nó có phân phối hay không, mà là nó đang ép hệ thống bù vào một lớp lỗ hổng, kết quả muốn để lại, quy tắc đứng sau cũng phải được để lại. Nếu bước này chỉ đơn giản là viết tài liệu cho đẹp, thì ý nghĩa sẽ rất hạn chế.
Tôi sẽ tiếp tục theo dõi một tín hiệu rất cụ thể, nếu sau này ngày càng nhiều tình huống thực tế, thực sự bắt đầu coi phiên bản quy tắc cũng là một phần của ghi chép phân phối, thì Sign gặp phải sẽ không chỉ là cấp thực thi, mà còn là sau này có thể làm rõ tại sao lại phát như vậy hay không, nói rõ một cách hoàn chỉnh.
Gần đây Sign bổ sung, không chỉ đơn giản là phần thưởng, mà là vị trí của $SIGN
Gần đây$SIGN trong sự điều chỉnh, ban đầu tôi định xem xét cơ chế phát hành token, kết quả là tôi vô tình nhấp vào trang OBI đã được cập nhật. Lúc đầu tôi nghĩ rằng chỉ đơn giản là cập nhật nội dung sự kiện, phát một số phần thưởng cho những người nắm giữ token, ổn định tâm lý và cung cấp cho thị trường một lý do để tiếp tục giữ. Nhưng khi tôi xem trang quy tắc xuống dưới, càng xem tôi càng cảm thấy chuyện này không đơn giản như vậy, @SignOfficial không chỉ là những con số phần thưởng đơn giản, mà nó nhấn mạnh liên tục về việc tự quản lý. Nếu đây chỉ là một sự kiện bình thường thì thực sự chỉ cần nói về việc nắm giữ là đủ, nhưng nó lại phải lặp đi lặp lại việc này. Hành động này trong mắt tôi không chỉ là chi tiết vận hành, mà nó giống như đang hỏi Sign trong câu chuyện hệ thống ngày càng lớn hiện nay, Sign thực sự đang đứng ở đâu?
Lại một đêm thức trắng nữa, cảm giác như sắp trở thành người Mỹ rồi.
Thức khuya lật lại tài liệu @SignOfficial , ban đầu tôi định tìm một chỗ không quá nổi bật để bắt đầu, nhưng cuối cùng lại bị một tham số làm vướng chân, maxValidFor.
Lúc đầu tôi thật sự không coi trọng nó, tôi nghĩ cái này chẳng phải là thời gian hiệu lực sao, giống như lúc điền biểu mẫu thì tiện tay thêm một mục ngày hết hạn, tối đa chỉ coi như một cấu hình nhỏ. Kết quả là tôi theo dõi trang Schema đi xuống, mới phát hiện ra là hoàn toàn khác.
Trong $SIGN , maxValidFor không phải là một ghi chú bổ sung ở phía sau, mà là một ràng buộc đã được viết vào Schema ngay từ đầu, có nghĩa là loại chứng nhận này có thể tồn tại tối đa bao lâu.
emm... Điều này thật thú vị, nhiều dự án bạn có đủ điều kiện hôm nay không có nghĩa là ba tháng sau vẫn còn, việc hôm nay vượt qua kiểm tra không có nghĩa là sau nửa năm vẫn còn hiệu lực. Nếu như thời gian hết hiệu lực không được ghi ngay từ đầu trong cấu trúc, cuối cùng chắc chắn sẽ lại quay về con đường cũ với danh sách phía sau và việc cập nhật thủ công, mỗi người một kiểu.
Và $SIGN chính là đang giải quyết vấn đề này, nó không chỉ muốn dạy bạn cách phát chứng nhận, mà còn đang xử lý trước việc chứng nhận này hết hạn bao lâu thì có thể bị thu hồi, sau này sẽ được các hệ thống khác hiểu thống nhất như thế nào.
Điều này cực kỳ thuận tiện, vì vậy bây giờ tôi không còn hiểu Sign chỉ là nó có thể phát thêm một số chứng nhận nữa. Tôi quan tâm hơn là, nó có thể biến logic chứng nhận mang theo ranh giới thời gian này thành một hành động mà các hệ thống khác sẽ tự động tuân thủ hay không.
Nếu không làm được thì nhiều chứng nhận cuối cùng vẫn chỉ là giấy khen điện tử, nhưng nếu làm được thì những gì Sign gặp phải không chỉ là tầng chứng nhận, mà còn là khi nào chứng nhận này nên tự động hết hiệu lực. #Sign địa chính trị cơ sở hạ tầng
Sign|Nó không chỉ giúp hệ thống ghi sổ, có thể còn muốn giúp hệ thống trông coi
Trong hai ngày qua, tôi đã đặc biệt xem qua hướng dẫn hook của @SignOfficial . Ban đầu tôi nghĩ đây chỉ là một tính năng bổ sung như nhiều giao thức khác sẽ có một tùy chọn nâng cao, nhưng khi tôi theo dõi tài liệu chính thức, tôi càng xem càng thấy không đúng. Bởi vì ở $SIGN đây, hook hoàn toàn không phải là trang trí, tài liệu chính thức đã viết rõ rằng schema hook có thể chạy logic tùy chỉnh khi tạo hoặc hủy bỏ chứng chỉ. Quan trọng hơn, chỉ cần hook ở đó quay ngược lại, toàn bộ cuộc gọi sẽ bị quay ngược lại, có nghĩa là đây không phải là kiểm tra bổ sung sau đó, mà là chứng chỉ của bạn có thể vào hệ thống hay không phải vượt qua được nó, bên trong có đủ loại danh sách trắng / phí / cũng như các logic kinh doanh tùy chỉnh có thể được gắn vào hook.
Night|Midnight có thể không phải là một rào cản trên chuỗi, mà ở chiếc Docker đó của bạn
Trong hai ngày qua, tôi liên tục vọc vạch môi trường phát triển@MidnightNetwork của mình, ban đầu tôi nghĩ sẽ rất đơn giản chỉ cần triển khai một hợp đồng cơ bản nhất, tiện tay thử trải nghiệm Compact và TypeScript xem có mượt mà không, nhưng khi môi trường thật sự chạy lên thì tôi bị choáng. Tôi bất chợt nhận ra$NIGHT nơi nặng nhất có thể không nằm trên chuỗi, mà ở máy tính của nhà phát triển, cái proof server đó. Hiện tại, hướng dẫn Preview / Preprod chính thức yêu cầu phải chạy proof server trên máy local trước, và nó phải luôn hoạt động, bất kể là triển khai hợp đồng hay gửi giao dịch, nếu proof server không trực tuyến thì quy trình sẽ không thể tiếp tục. Ngay cả Docker, ở đó không phải là bạn có điều kiện để cài đặt mà thực sự là một phụ thuộc bắt buộc, bạn còn chưa bắt đầu viết nghiệp vụ một cách nghiêm túc, môi trường đã ép bạn ngồi ghế và giáo dục bạn một lượt.
Đại mao chắc chắn, nghe nói sau này còn vài cái nữa sẽ lên alpha, lại ăn thêm một cái cộng với hoạt động của night, tháng này là đủ rồi.
Lúc đầu còn ở đó tính toán lợi nhuận, định xem tài liệu DApp Connector của @MidnightNetwork , nghiên cứu xem ví làm thế nào để cung cấp cấu hình cho front-end. Kết quả là đang xem thì đột nhiên nghĩ đến bộ riêng tư Midnight này, cuối cùng không biết có bị dồn hết vào tay một vài cổng cơ sở hạ tầng không, điều này làm tôi hơi khó chịu.
Tài liệu của $NIGHT viết rất thẳng thắn, ví có thể tự cấu hình URI cho node, indexer, proving server, DApp cũng tốt nhất nên theo cấu hình của ví, và còn đặc biệt nhắc đến rằng điều này liên quan đến riêng tư.
Tôi còn đặc biệt đi xem tại sao connector lại yêu cầu DApp cố gắng đi theo URI của ví, kết quả càng xem càng cảm thấy, đây không phải là thói quen cấu hình bình thường, nó bản thân là một phần của thiết kế riêng tư.
Đến đây tôi cảm thấy không ổn.
Lý do ai cũng hiểu, lý thuyết thì đương nhiên mỗi người đều có thể tự chạy dịch vụ, tự cấu hình node, tự quản lý indexer, tự làm proving server. Nhưng vấn đề là ai sẽ hàng ngày tự vặn cấu hình nền tảng, nếu ví mặc định vẫn chỉ vào một vài dịch vụ công cộng, lưu lượng thực tế sẽ tự nhiên tập trung vào một vài nhà cung cấp dịch vụ.
$NIGHT muốn giải quyết vấn đề riêng tư, nhưng nếu cuối cùng đa số người dùng đều chen chúc vào cùng một nhóm node, cùng một nhóm indexer, cùng một nhóm proving server, thì bạn bề ngoài nhìn giao dịch nội dung được giấu kín, nhưng dưới đó con đường lại ngày càng tập trung.
Nói thẳng ra, nội dung không lộ, không có nghĩa là cổng không bị người nắm giữ.
Nếu việc này thực sự đi theo hướng này, vấn đề #night không phải là giao dịch có bị giấu hay không, mà là cuối cùng chuỗi riêng tư này nằm trong tay ai.
Ký|Tôi bị một vấn đề rất nhỏ vướng lại, tại sao Schema lại viết nặng nề như vậy
Mỗi ngày thức khuya xem @SignOfficial nội dung nhàm chán, lần này cuối cùng tôi đã phát hiện ra một nơi hai mắt Schema. Ban đầu tôi thật sự không coi trọng nó, tôi nghĩ Schema không phải chỉ là mẫu thôi sao, như việc xác định các trường trước khi điền biểu mẫu, nhiều nhất cũng chỉ coi là chi tiết kỹ thuật. Kết quả tôi theo tài liệu $SIGN xuống dưới xem, càng xem càng cảm thấy không đúng. Tại đây, Schema hoàn toàn không phải là thứ dễ dàng để phối hợp, chính thức đã viết Schemas và Attestations thành hai cốt lõi của Giao thức Ký, cho rằng cái trước định nghĩa cấu trúc, cái sau mới là dữ liệu ký được tạo ra theo cấu trúc này.
Lại thức cả đêm, lần này tôi đặc biệt đi xem quy trình tạo attestation của @SignOfficial , ban đầu tưởng rằng việc lưu trữ chỉ là vấn đề chi phí. Kết quả, khi tôi đến phần hybrid attestation, tôi mới phát hiện ra rằng mọi chuyện không đơn giản như vậy.
Bạn không chỉ lưu xong là xong, mà còn liên quan đến API, chỉ mục, đường dẫn truy vấn, việc chứng minh sau này có thể được người khác tiếp tục sử dụng hay không, gắn chặt vào việc lưu ở đâu, thật sự khiến người ta đau đầu.
Tài liệu trong $SIGN đã cung cấp một lộ trình rõ ràng, schema có thể hoàn toàn on-chain, cũng có thể sử dụng Arweave/IPFS dạng hybrid, thậm chí một số attestation còn phải được khởi động qua API, rồi dựa vào dịch vụ chỉ mục để tìm kiếm. Ban đầu tôi nghĩ đây chỉ là sở thích lưu trữ, nhưng càng xem càng thấy không phải.
Tất cả trên chuỗi thì sạch sẽ nhất, nhưng đắt, nặng, ngốc nghếch; tất cả dưới chuỗi thì nhẹ nhất, nhưng người khác sau này không nhất định sẽ muốn theo đường dẫn của bạn để lấy dữ liệu. Hybrid nhìn có vẻ như là sự thỏa hiệp, nhưng khi bạn nhìn xuống, phát hiện nó đồng thời mang theo API, chỉ mục, và đường dẫn truy vấn. Nói cách khác, Sign ở đây xử lý không phải là lưu ở đâu, mà là chứng minh này sau này có còn được hệ thống gọi tiếp hay không.
Lần này thì cảm giác đã khác.
Nhiều dự án nói về attestation rất đơn giản. Còn bộ Sign này thì giống như một người lớn lo lắng, dữ liệu quá lớn thì phải làm sao, quyền riêng tư quá nhạy cảm thì phải làm sao, hệ thống khác sau này sẽ kiểm tra, xác minh, và tiếp tục sử dụng như thế nào.
Bây giờ để tôi xem $SIGN điểm thú vị nhất không phải là nó có thể phát thêm nhiều chứng minh hay không, mà là chứng minh của nó sau này có bị hệ thống khác dễ dàng lấy đi sử dụng hay không.
Nếu đường dẫn này không được làm phẳng, hybrid chỉ là một sự thỏa hiệp trông có vẻ thông minh. Nhưng nếu đường dẫn này thực sự chạy mượt mà, thì Sign gặp phải không chỉ là tầng chứng minh, mà là cách chứng minh có thể tồn tại giữa các hệ thống. #sign地缘政治基建
Điều nguy hiểm nhất trên Midnight, có lẽ không phải là hợp đồng không thể nâng cấp, mà là nó phải được nâng cấp
Tôi hai ngày nay liên tục xem tài liệu cập nhật hợp đồng của @MidnightNetwork . Ban đầu tôi chỉ muốn xác nhận hợp đồng bảo mật trên Midnight có giống như các chuỗi khác không, sau khi triển khai xong tốt nhất là đừng động vào, nếu không cần thì đừng nâng cấp. Kết quả là nhìn một lúc, tôi bắt đầu cảm thấy chuyện này có gì đó không ổn. Điều phiền phức nhất ở đây có thể không phải là vấn đề liệu hợp đồng có thể nâng cấp hay không, mà là nó phải được nâng cấp. Chúng tôi rất quen thuộc với các chuỗi công cộng thông thường, nâng cấp thường là một sự lựa chọn, nếu bạn muốn linh hoạt hơn thì giữ lại đại lý, nếu bạn muốn tiết kiệm công sức thì cứ hàn chết, nhiều dự án thậm chí coi việc không thể nâng cấp là một ưu điểm.
Đã lăn lộn cả ngày với môi trường Preview của @MidnightNetwork , ban đầu chỉ muốn xem họ xuất chứng minh hợp đồng riêng tư như thế nào, kết quả chạy đi chạy lại tôi suýt nữa thì chạy sai đường. Càng chạy càng thấy điều thực sự khó khăn của Midnight có thể không phải là giấu dữ liệu lên chuỗi, mà là một khi dữ liệu đã ở lại địa phương, người dùng sẽ sống như thế nào.
Trong khi chính thức rất rõ ràng, trạng thái công khai lên chuỗi, trạng thái riêng tư để lại tại chỗ, Preview còn mặc định kết nối với máy chủ proof địa phương và lưu trữ riêng tư mã hóa. Nhìn lần đầu tôi đã muốn vỗ tay, cuối cùng không phải là loại dự án chỉ nói miệng về sự riêng tư, nhưng trên chuỗi vẫn đang bơi không mặc đồ.
Nhưng vấn đề nằm ở hai chữ 'tại chỗ'.
Với chuỗi công khai chúng ta đã hình thành phản xạ có điều kiện, đổi thiết bị, nhập cụm từ ghi nhớ, tài sản vẫn còn đó. Nhưng với Midnight, bạn cần khôi phục không chỉ khóa công khai và số dư, mà còn trạng thái riêng tư, dữ liệu chứng kiến, ngữ cảnh chứng minh, tất cả lộn xộn đều đi theo môi trường địa phương.
Hôm nay sau khi cài đặt lại môi trường, hợp đồng trên chuỗi vẫn còn, địa chỉ cũng còn, kết quả là khi trạng thái riêng tư tại chỗ bị ngắt, toàn bộ gọi ngay lập tức bắt đầu phát điên. Ngay khoảnh khắc đó tôi cảm thấy cách mà chuỗi này bảo vệ sự riêng tư, về bản chất chính là đưa một đống trách nhiệm mà vốn dĩ bạn không cần phải lo toan, đổ ngược lại vào máy tính của chính bạn.
Điều này thật quá kỳ quái. Vấn đề của chuỗi công khai truyền thống là quá minh bạch, $NIGHT đã lật ngược sự minh bạch, nhưng cái giá phải trả là đổi toàn bộ độ phức tạp thành quản lý trạng thái tại chỗ. Muốn đồng bộ đa đầu cuối? Muốn khôi phục không đau? Quá mệt mỏi. Ví này không giống ví, mà giống như một phòng thí nghiệm nhỏ chứa đựng cơ sở dữ liệu mã hóa và động cơ chứng minh.
Hiện tại tôi càng cảm thấy, điều khó khăn nhất của Midnight bây giờ là liệu người bình thường có thể sống lâu dài và an toàn với đống trạng thái riêng tư này hay không. Nếu việc này không suôn sẻ, sự riêng tư không phải là hào thành, mà thực sự là địa ngục chuyển nhà.
Tiếp theo sẽ xem trạng thái riêng tư khôi phục và đồng bộ đa đầu cuối có được tiêu chuẩn hóa hay không, máy chủ proof có luôn kết nối với địa phương hay không. Nếu không thì #night điểm khó khăn nhất không nằm trên chuỗi, mà nằm ở việc bạn phát điên trong máy tính của mình.
Gần đây, khi tôi xem white paper @MidnightNetwork , điều đầu tiên làm tôi bối rối không phải là quyền riêng tư, cũng không phải là ZK. Đó là một vấn đề rất cơ bản nhưng thực sự nghiêm trọng, tại sao doanh nghiệp vẫn không dám đưa công việc của mình lên blockchain?
Câu trả lời có thể không lãng mạn như mọi người nghĩ.
Nhiều khi, không phải họ không muốn lên blockchain, mà là ngân sách không thể thực hiện được. Chi phí gas và giá token của các blockchain công cộng thường bị ràng buộc quá chặt chẽ, hôm nay giá token tăng, ngày mai chi phí mạng lại biến động theo. Đối với các nhà đầu tư nhỏ lẻ, có thể chỉ là hơi đắt một chút. Nhưng đối với những đội ngũ thực sự muốn vận hành công việc, sự không chắc chắn này là một nhược điểm nghiêm trọng.
Chính phủ trong thiết kế kinh tế của $NIGHT đã nhấn mạnh nhiều lần về khả năng dự đoán hoạt động, tức là chi phí vận hành phải có thể dự đoán. Họ tách NIGHT và DUST không phải để làm màu, mà là để giá tài sản và chi phí sử dụng mạng không bị ràng buộc hoàn toàn. NIGHT là vốn nền tảng và tài sản quản trị, DUST mới là tài nguyên thực thi, và DUST không thể chuyển nhượng, sẽ suy giảm, giống như dung lượng, không giống như tiền.
Bây giờ thì cảm giác đã khác.
Bởi vì nhiều blockchain thực chất giống như thị trường giao dịch, bạn mua token, bán token, trả phí giao dịch, chịu đựng sự biến động. Nhưng Midnight muốn trở thành một cái gì đó không phải là một thị trường kích thích hơn, mà là một hệ thống cơ sở hạ tầng có thể được ngân sách, có thể được vận hành, có thể được doanh nghiệp tiếp nhận. Trang chính thức đã định vị mình là blockchain quyền riêng tư hợp lý, không chỉ nói đến việc che giấu dữ liệu, mà còn nói đến utility và quyền riêng tư không cần phải chọn một trong hai. Utility này nếu nói thẳng ra, không chỉ là chức năng có thể làm hay không, mà còn là chi phí có thể quản lý hay không.
Vì vậy, bây giờ tôi nhìn lại $NIGHT , sẽ cảm thấy điều mà họ thực sự muốn sửa chữa có thể không phải là làm cho chain riêng tư trở nên thú vị hơn, mà là một vấn đề cũ mà nhiều blockchain chưa thực sự giải quyết.
Khi blockchain bắt đầu giống như cơ sở hạ tầng, chứ không chỉ là một thị trường giao dịch, ai sẽ đảm bảo quyền sử dụng không bị giá token chiếm đoạt mãi mãi. #night
Điều mà Sign thực sự muốn quản lý không phải là “chứng minh”, mà là “chứng minh khi nào nó hết hiệu lực”
Sau khi xem nhiều nội dung như vậy, lần này tôi không tiếp tục xem @SignOfficial những từ lớn nữa. Những thứ như danh tính, xác nhận, Bảng mã thông báo, nếu viết tiếp tôi cũng thấy chán. Vì vậy, tôi đã quyết định làm ngược lại và chỉ tập trung vào một thứ rất nhỏ, rất vụn vặt, mà người bình thường nhìn vào tài liệu trắng có khả năng chỉ lướt qua trong ba giây: thu hồi. Đúng vậy, đó là thu hồi. Còn có thời hạn, danh sách trạng thái, sổ đăng ký tin cậy, dãy này nhìn qua đã rất giống như những công việc lặt vặt trong phần phụ lục, cực kỳ không hấp dẫn, rất giống kiểu ừ ừ biết rồi đến cái tiếp theo. Kết quả là khi tôi nhìn, ôi không. Cái này hoàn toàn không phải là chức năng phụ, cái này chính là xương cốt. Bởi vì tài liệu trắng của Sign không chỉ đơn giản đề cập đến việc hỗ trợ thu hồi mà kết thúc, mà nó đã nhét chuyện này vào toàn bộ vòng đời của hệ thống danh tính.