Yesterday was demo day in #sec03 and I demoed a new relay I created called MIMO. The primary goal is to add a remote signing functionality to a personal relay, allowing you to set a root key in the relay that will be used to sign incoming events from subkeys or hosted keys (I'm still deciding on the final terminology, as 'subkeys' is a simpler concept but not entirely accurate, while 'hosted keys' is more accurate but slightly less intuitive). These subkeys/hosted keys can be created and managed in the relay dashboard, which uses NIP98 to protect the HTTP endpoints. When you create a new subkey, the relay will automatically sync the kind 0, 3, and 10002 events from the root key, simplifying the user experience and making the subkeys ready to use immediately. The process is straightforward: create a new subkey, import it into your preferred client or signer, and you're ready to go. You can then use the created subkey to publish content in the client of your choice, without requiring the client to be compatible with any new features. When you write a note signed with the created subkey, it will be resigned and broadcasted with the root key.
One of the key benefits of this relay is that you can create any number of subkeys, enabling use cases such as subkey-per-device. Additionally, subkeys have scoped permissions to publish, allowing you to define the specific kinds of events that a subkey can publish. Another feature of the relay is that it also function as a Web of Trust (WoT) relay, computing your WoT to allow your network to publish in the relay. In this case, events are stored as-is, without being resigned with the root key, whereas events from subkeys are resigned. The relay also actively stores the kinds 0, 3, and 10002 of your WoT, similar to the use case of purplepag.es relay. This enables correct delivery of notes to the inbox of the user you are chatting with.
!! Note that the implementation is still incomplete, and there is ongoing work to make this a more useful and secure tool.
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyqreuzpj5pscs7skm4nz6adymh5vtmpltnpjz3xpe3s6s06tk0e2c0nneje
CC nostr:nprofile1qqsdulkdrc5hdf4dktl6taxmsxnasykghdnf32sqmnc7w6km2hhav3gpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszyrhwden5te0dehhxarj9ekk7mf0qy2hwumn8ghj7un9d3shjtnwdaehgu3wvfnj7yl8fqe subkeys per device 👀
What do these two notes have in common?... They were signed with my keys, but they were not published by me 👀
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyzj7mzllhy9v6lazvzka7g8q9xq0spv2u90pcgxmr00zpl4d2a04wzsktk4
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyzj72g6g8kztahrmep74eljeryvy23v6a89vcgkasu0rv73t7cge7j5grnv
Yesterday was demo day in #sec03 and I demoed a new relay I created called MIMO. The primary goal is to add a remote signing functionality to a personal relay, allowing you to set a root key in the relay that will be used to sign incoming events from subkeys or hosted keys (I'm still deciding on the final terminology, as 'subkeys' is a simpler concept but not entirely accurate, while 'hosted keys' is more accurate but slightly less intuitive). These subkeys/hosted keys can be created and managed in the relay dashboard, which uses NIP98 to protect the HTTP endpoints. When you create a new subkey, the relay will automatically sync the kind 0, 3, and 10002 events from the root key, simplifying the user experience and making the subkeys ready to use immediately. The process is straightforward: create a new subkey, import it into your preferred client or signer, and you're ready to go. You can then use the created subkey to publish content in the client of your choice, without requiring the client to be compatible with any new features. When you write a note signed with the created subkey, it will be resigned and broadcasted with the root key.
One of the key benefits of this relay is that you can create any number of subkeys, enabling use cases such as subkey-per-device. Additionally, subkeys have scoped permissions to publish, allowing you to define the specific kinds of events that a subkey can publish. Another feature of the relay is that it also function as a Web of Trust (WoT) relay, computing your WoT to allow your network to publish in the relay. In this case, events are stored as-is, without being resigned with the root key, whereas events from subkeys are resigned. The relay also actively stores the kinds 0, 3, and 10002 of your WoT, similar to the use case of purplepag.es relay. This enables correct delivery of notes to the inbox of the user you are chatting with.
!! Note that the implementation is still incomplete, and there is ongoing work to make this a more useful and secure tool.
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyqreuzpj5pscs7skm4nz6adymh5vtmpltnpjz3xpe3s6s06tk0e2c0nneje
Mmm webposter privacy seems right, they just have an nsec derived of a password so if you know the password you can post, no more info needed. But this is basically symmetric encryption, while if you use the relay I made it would be like asymmetric, since posters just post using the nsec they control and the post will be resigned when broadcast to the mixer relay. This may be chaotic, so the relay also allows you to define a whitelist of pubkeys that can publish, which is not public, and will be the equivalent of share the password with the people you want to publish in the webposter example. Also the relay I made can expose the notes through http without need to interface with any other piece of software. Which is very convenient, and also allows you to expose the mixer relay through tor and automatically you can have a deployed blog over tor that you can interface by just sending notes. Hope all of this doesn't sounds confusing xD
What do these two notes have in common?... They were signed with my keys, but they were not published by me 👀
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyzj7mzllhy9v6lazvzka7g8q9xq0spv2u90pcgxmr00zpl4d2a04wzsktk4
nostr:nevent1qvzqqqqqqypzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qyt8wumn8ghj7mn0wd68yetvd96x2uewdaexwtcqyzj72g6g8kztahrmep74eljeryvy23v6a89vcgkasu0rv73t7cge7j5grnv
Hal Finney, was cryonically preserved on August 28, 2014, after succumbing to ALS at age 58. He became Alcor's 128th patient, having arranged for his preservation over 20 years prior. Would this mean Hal can come back in 2034? We are not bullish enough 👀
I was thinking in something you run locally so is client agnostic, you can react to notes in whatever client and the code you run locally just listen for that and do payments. You can even set different emojis for different amounts ❤️ = 100 SATs, 🔥 = 500, etc
Yes, it can also be done that way. At the end of the day, it computes your reactions and distributes the budget among them, with the option to weight them. This means that posts with 🔥 will be given more importance
Its a cool project indeed, I can try to put it together soon (tm) xD I imagine a desktop app that do the work and also gives you insights, ideally running 24/7
Wait for meatspace 👀
nostr:nevent1qqsz6chmauayp07hrs407fk3yrztp9x76yxgflnkm8nt9m884ngh30qpz3mhxue69uhkummnw3ezu7psvchx7un89upzqvhpsfmr23gwhv795lgjc8uw0v44z3pe4sg2vlh08k0an3wx3cj9qvzqqqqqqyqlk2lw
Estas preparado?
nostr:nevent1qqspjtmnn2ulgwttadqa76x9ef7dssmh33098552vj3uvfss3ryazucpzpmhxue69uhkummnw3ezumt0d5hsygpyud7pukcv3w5dmcn4f08lcca4k2vlspj037uj308nzkuuf9jl8vpsgqqqqqqs57e0g0
Estas preparado?
nostr:nevent1qqspjtmnn2ulgwttadqa76x9ef7dssmh33098552vj3uvfss3ryazucpzpmhxue69uhkummnw3ezumt0d5hsygpyud7pukcv3w5dmcn4f08lcca4k2vlspj037uj308nzkuuf9jl8vpsgqqqqqqs57e0g0
What kind of people are you?
nostr:nevent1qqsr3wwuy3cfv8gvhjkqylwn5a8tmmld0sd27s357l8lyedfc2wu4qqpz3mhxue69uhhwmm59enh5at4w5h8s7t69upzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qvzqqqqqqygsje3a
What kind of people are you?
nostr:nevent1qqsr3wwuy3cfv8gvhjkqylwn5a8tmmld0sd27s357l8lyedfc2wu4qqpz3mhxue69uhhwmm59enh5at4w5h8s7t69upzqs9eep0ll6hurjkl3sc2fewgses07mjfwxsdcu3at2m8fd0xrdz3qvzqqqqqqygsje3a
Notes by Gzuuus | export