I have a problem with how everyone seems to HD wallets. It seems to be skipping the huge value of having hierarchical deterministic keys.
So what everyone does is has some path for their coin with some public and some private derivations and then from that point they generate receive addresses and change addresses
this is all well and good if you have one pool of funds, but what if you want separate pools but don't want a proliferation of seeds?
I'd like to see clients able to create sub groups of wallets that could be imported into clients on their own or used from the master key and seen as a tree
so for example, I could have a master fireduck seed and then under that a wallet for mining proceeds, a wallet for transaction escrows, etc
if I wanted to take one of those sub wallets and install that on a machine, I should be able to do that without exposing the master keys
This is of course all doable already with BIP39 HD, but no one seems to do it
There are some tricky bits, like for that sub wallet derivation, you probably want it to be a private derivation
which is fine, but it means the user needs to store or remember the key names somewhere
Since we are in the business of making the snowblossom protocol, we can help there.
lets suppose we have a standard where whatever level you are, there is private derivation that can be used to generate a key pair for a "recovery hint"
you send a snowblossom transaction to that address with an extra encrypted payload (encrypted to the key pair) that lists the private key labels for the sub keys
If you want to update it, then spend that transaction to a new output to that hint address with the new list
that way, you can always do a quick getunspent for the hint address to get the recovery hint from the network
wiki that if ever in need of fanning hype flames
ha
no, really, that’s the main appeal here - going off the beaten path with well executed simple good ideas
right. I've wanted to do this with a bitcoin client forever
Other than the recovery hint storage, there is no reason it can't be done with any EC key based crypto
@Fireduck `I'd like to see clients able to create sub groups of wallets that could be imported into clients on their own or used from the master key and seen as a tree` I thought they had this by producing sub public keys with recursive key functions `This is of course all doable already with BIP39 HD, but no one seems to do it` yeah that, seriously, no one does? wtf `that way, you can always do a quick getunspent for the hint address to get the recovery hint from the network` using the blockchain to store your sub derivation paths? neat thoughts.
yeah, for low volume storage a blockchain is pretty neat
@Fireduck I thought electrum was doing something like that.
looks like they're probably doing similar with bip44, which I imagine you could mix with bip39 if you're clever.
`m / purpose' / coin_type' / account' / change / address_index`
ah, right. Now that you mention it, i think trezor is doing that
I retract my claim that no one was
@Fireduck tumblr is banning porn on the 17th. More mass migration primed and ready.
where will alt porn communities go then, back to usenet?
also channels ~ nntp on blockchain
I'm telling you man, people all over the internet are *begging* for alternatives to facebook, youtube, reddit, and tumblr and such.
I should quit my job and just knock it out
but you are aware you’re effectively trying to resurrect usenet? :P
and everyone loved usenet
yep, the main issue are the archival gaps
there are a few differences, mainly that anyone can create a channel
without anyone's permission
also my university still had a campus nntp, good fun
and distribution of the channel will be proportional to interest in it
as in how non-usenet nntp servers worked
Didn't know there were non-usenet nntp servers
even my hometown isp ran a local one
but I could see that making sense
and had a bbs interface to it too
yep, no need to confuse the americans with non-english non-ascii
in̯̼͉̲͉͉ͅd͔̬̬̫̖e̶ę͚̙͉̣̰̗d̵̤
just tried to rub his screen off
Be careful, your text might all get stuck that way.
speaking of which, how hard would it be to add text snippets and images to your slack archive
?
shouldn't be too hard
ideally, we would mirror the images rather than pointing to them on slack servers
a shame slack itself already has decent decompression bomb filtering
lol
but ’usenet on blockchain’ is the kinda tagline a lot of people seem to seek
@Fireduck need to see if they store things privately depending on access to a slack channel
also hilariously in line with the web site
@Clueless do you want to work on a startup?
Downsides, no pay (probably) and will likely be a failure
upside, you get to be CTO and make all technical decisions
@Fireduck depends on the startup, possibly
probably yes, depending.
also legally liable for said decisions, which is not a problem so long as you yourself are a majority owner
you can get away with quite a lot as agent of the corporation here
get an investor and you’ll waive a lot of that
they want things they can nail you to the wall with
why would there need to be an investor when you have a CTO?
that link does work, but I'd rather not depend on it
investors usually take advisory roles and actually help with the business side of the business
@Fireduck OH, I misread
`ideally, we would mirror the images rather than pointing to them on slack servers`
I read that as "we would not mirror them`
path to revenue, pivot identification, focus vs. diversification
yeah, plan is to download it ourselves
cool
I should learn proper object loading / factory stuff.
bah
you python, so just use the zope factory type mechanisms
this bullshit that I made up on the spot? ``` def message_factory(data): if "user" in data: return Message(data) elif "bot_id" in data: return BotMessage(data) elif "subtype" in data: if "file_comment" in data["subtype"]: return FileMessage(data) ```
if that sort of thing fits on a screen you are good
especially if you are using other code to actually do the reading once you figure out the type, which you are presumably doing in this constructors
that is pretty clean in my opinion
only thing I'd add, is map<string,int> unhandled_types
else unhandled_types("data")++
or whatever the syntax would be
to track a count of messages you couldn't process in some way
``` else: unhandled += 1 ```
sure, if you don't want to know what types of the unhandled messages are
but I guess you might not have a type, since it is in random fields
if I am reading this right
I didn't bother with catching because that appears to be the only three types of messages that actually exist, but I think that's a good suggestion.
yeah, if it isn't relevant to the problem feel free to ignore me of course
@Fireduck what's the terminology around this? @Rotonen said zope factories which looks sorta like it. Other terms seem like `interfaces` `adapters`
I don't have a term for it
I'd call it a parser, but I use that for any process that involves hey, here is some lump of something, figure out what it is to decode into that thing
I feel like this should be a standard library thing
where you pass in a list of classes to a parser, pass it data, passes out appropriate objects.
yeah, but your typing isn't clean
some are identified by the presence of some field
and then further subtyped by other fields
what you have now is cleaner than anything you are going to find a library for
and readable
and maintainable
you add a new type, or fine some message needs some special handling in some way, easy to add to your if blocks
a library is like a closed machine, if it works for you, great but if it doesn't have the right ins and outs and levers, it might be more limiting than helpful