--- Log opened Fri Feb 17 00:00:46 2023 04:16 < michaelfolkson> darosior: I'm skimming the code for the Miniscript you use in Liana https://github.com/wizardsardine/liana/blob/master/src/descriptors.rs 04:17 < michaelfolkson> Do you have a policy you can give me to feed through the C++, Rust compilers :) 04:18 < darosior> Yeah i don't use the policy compiler but the corresponding policy would be or(9@pk(primary),1@and(older(X),pk(recovery))) 04:18 < darosior> Then you can do multi-keys too instead 04:18 < darosior> Oh wait someone asked me about a Miniscript.fun example, i can find it and share it with you 04:19 < darosior> https://miniscript.fun/#/full/eyJpZCI6ImRlbW9AMC4xLjAiLCJub2RlcyI6eyIxIjp7ImlkIjoxLCJkYXRhIjp7Im51bSI6NTI1NjB9LCJpbnB1dHMiOnt9LCJvdXRwdXRzIjp7InBvbCI6eyJjb25uZWN0aW9ucyI6W3sibm9kZSI6MTIsImlucHV0IjoicG9sMSIsImRhdGEiOnt9fV19fSwicG9zaXRpb24iOls0NTIuNTQzMjExMjcxOTUxMzUsLTMwNi41ODAyMjgyNTkxNzY1XSwibmFtZSI6Ik9sZGVyIn0sIjYiOnsiaWQiOjYsImRhdGEiOnt9LCJpbnB1 04:19 < darosior> dHMiOnsicG9sIjp7ImNvbm5lY3Rpb25zIjpbeyJub2RlIjo4LCJvdXRwdXQiOiJwb2wiLCJkYXRhIjp7fX1dfX0sIm91dHB1dHMiOnsiZGVzYyI6eyJjb25uZWN0aW9ucyI6W3sibm9kZSI6NywiaW5wdXQiOiJkZXNjIiwiZGF0YSI6e319XX19LCJwb3NpdGlvbiI6WzEyNjMuMzA1MzA3MTkyMzI4LDE5MC41NTMwOTU0Njk3NTAwOF0sIm5hbWUiOiJEZXNjcmlwdG9yIn0sIjciOnsiaWQiOjcsImRhdGEiOnsiaWR4IjowfSwiaW5wdXRzIjp7ImRlc2MiOnsiY29ubm 04:19 < darosior> VjdGlvbnMiOlt7Im5vZGUiOjYsIm91dHB1dCI6ImRlc2MiLCJkYXRhIjp7fX1dfX0sIm91dHB1dHMiOnsiYWRkciI6eyJjb25uZWN0aW9ucyI6W119fSwicG9zaXRpb24iOlsxNTYzLjgwMjQ2MTA1NzEyMzgsMTkzLjE5MTM1NjU1NTg0MDY2XSwibmFtZSI6IkFkZHJlc3MifSwiOCI6eyJpZCI6OCwiZGF0YSI6eyJyYXRpbyI6MC4wMX0sImlucHV0cyI6eyJwb2wxIjp7ImNvbm5lY3Rpb25zIjpbeyJub2RlIjoxMiwib3V0cHV0IjoicG9sIiwiZGF0YSI6e319XX0s 04:19 < darosior> InBvbDIiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjEzLCJvdXRwdXQiOiJrZXkiLCJkYXRhIjp7fX1dfX0sIm91dHB1dHMiOnsicG9sIjp7ImNvbm5lY3Rpb25zIjpbeyJub2RlIjo2LCJpbnB1dCI6InBvbCIsImRhdGEiOnt9fV19fSwicG9zaXRpb24iOls5NTIsMTg2LjVdLCJuYW1lIjoiT3IifSwiOSI6eyJpZCI6OSwiZGF0YSI6eyJ0aHJlc2giOjJ9LCJpbnB1dHMiOnsicG9saWNpZXMiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjE1LCJvdXRwdXQiOiJrZX 04:19 < darosior> kiLCJkYXRhIjp7fX0seyJub2RlIjoxNiwib3V0cHV0Ijoia2V5IiwiZGF0YSI6e319LHsibm9kZSI6MTcsIm91dHB1dCI6ImtleSIsImRhdGEiOnt9fV19fSwib3V0cHV0cyI6eyJwb2wiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjEyLCJpbnB1dCI6InBvbDIiLCJkYXRhIjp7fX1dfX0sInBvc2l0aW9uIjpbNDUwLjA3NDA3NTYxNjM2NzMsLTI0LjUxODQ5OTU3MDM0NDY2XSwibmFtZSI6IlRocmVzaG9sZCJ9LCIxMiI6eyJpZCI6MTIsImRhdGEiOnt9LCJpbnB1 04:19 < darosior> dHMiOnsicG9sMSI6eyJjb25uZWN0aW9ucyI6W3sibm9kZSI6MSwib3V0cHV0IjoicG9sIiwiZGF0YSI6e319XX0sInBvbDIiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjksIm91dHB1dCI6InBvbCIsImRhdGEiOnt9fV19fSwib3V0cHV0cyI6eyJwb2wiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjgsImlucHV0IjoicG9sMSIsImRhdGEiOnt9fV19fSwicG9zaXRpb24iOls2NzguNjY4MTQyNzE4MTUsLTE3Ny42MDE3NjI3ODUwNTAzXSwibmFtZSI6IkFuZCJ9LC 04:19 < darosior> IxMyI6eyJpZCI6MTMsImRhdGEiOnsia2V5IjoieHB1YjY5UWh1Ym90QUxudFhDM25DNEtMSHdNOHZzYUxyenNyQ1FYd2NMeXRmaG1LYXZUTG5HQjVtWXQ3SkVWc3J6MjQybjRwVmhYbUdDRzJRTkRKN3hOU1RobWRaQTI4WndxR1VVUnNKeU1vSllXIn0sImlucHV0cyI6eyJrZXkiOnsiY29ubmVjdGlvbnMiOltdfX0sIm91dHB1dHMiOnsia2V5Ijp7ImNvbm5lY3Rpb25zIjpbeyJub2RlIjo4LCJpbnB1dCI6InBvbDIiLCJkYXRhIjp7fX1dfX0sInBvc2l0aW9uIjpb 04:19 < darosior> Njc2LjE5OTExNjI1MjgyNzcsNDY2LjMxODU3NzUyNzc5NDczXSwibmFtZSI6IktleSJ9LCIxNSI6eyJpZCI6MTUsImRhdGEiOnsia2V5IjoieHB1YjY5UWh1Ym90QUxudFRMV1ZZQ0dNNDFhQkwxTDM5RzFzMUZHNkhLUVRLR1pXdDFybWtRWk12cURCc2FoUFh0NEtaS01SYjc0dHBISzc4dkdGbXV6SFRYeHVMNWlZS3NtRnhEbzg3ZkZoQU1oIn0sImlucHV0cyI6eyJrZXkiOnsiY29ubmVjdGlvbnMiOltdfX0sIm91dHB1dHMiOnsia2V5Ijp7ImNvbm5lY3Rpb25zIj 04:19 < darosior> pbeyJub2RlIjo5LCJpbnB1dCI6InBvbGljaWVzIiwiZGF0YSI6e319XX19LCJwb3NpdGlvbiI6WzE1NC41MjIxMjY2NDQzNjY1OCwtMjIyLjg4OTM3NjE5Njc1NTczXSwibmFtZSI6IktleSJ9LCIxNiI6eyJpZCI6MTYsImRhdGEiOnsia2V5IjoieHB1YjY5UWh1Ym90QUxudFFaTG01VXRVV2J5WEY4RUxCNnBmQ2ZjQlVTdko1UEJ5a3YyVkFEZTJucjZuenZqMlIzaDZMZ1E1dTNWMTN0OWhrQWN1NnB5bUR4cWZQczFyMzVpM3dRc2tkU2E5Mm1ZIn0sImlucHV0cyI6 04:19 < darosior> eyJrZXkiOnsiY29ubmVjdGlvbnMiOltdfX0sIm91dHB1dHMiOnsia2V5Ijp7ImNvbm5lY3Rpb25zIjpbeyJub2RlIjo5LCJpbnB1dCI6InBvbGljaWVzIiwiZGF0YSI6e319XX19LCJwb3NpdGlvbiI6WzE1NC41MjIxMjY2NDQzNjY1MiwtOS44MTQxNTQwODI2MzkwOTZdLCJuYW1lIjoiS2V5In0sIjE3Ijp7ImlkIjoxNywiZGF0YSI6eyJrZXkiOiJ4cHViNkV4bWJUeTE2Q05vdUhDWjdMMVdHaXhtUHBoUTZlNUtkajVLQTZlU1pYSlNGM3oxS0oxRjdqNFd3UEJ5UF 04:19 < darosior> U3cW5jUzQxSDdDZzViMlozN0VzWW5vZWZNM05wWktVVERyN1hhNXcxcnBVVUEifSwiaW5wdXRzIjp7ImtleSI6eyJjb25uZWN0aW9ucyI6W119fSwib3V0cHV0cyI6eyJrZXkiOnsiY29ubmVjdGlvbnMiOlt7Im5vZGUiOjksImlucHV0IjoicG9saWNpZXMiLCJkYXRhIjp7fX1dfX0sInBvc2l0aW9uIjpbMTUwLjgxODU4Njk0NjM4MzIyLDE5OS41NTc1MjgzMzM0OTQxM10sIm5hbWUiOiJLZXkifX0sImNvbW1lbnRzIjpbXSwibmV0d29yayI6ImJpdGNvaW4ifQ== 04:19 < darosior> Wow 04:19 < darosior> Sorry about this 04:19 < michaelfolkson> Ha 04:20 < darosior> Clickable here https://gist.github.com/darosior/2dca9b32768720072be0029eb1db2f26 04:21 < michaelfolkson> Thanks. Maybe add to the README, docs on the repo? 04:28 < darosior> Maybe, do you think it's helpful? On Liana i want to hide Miniscript as much as possible and rather emphase on the usecase 04:31 < michaelfolkson> Personally I think Policy is the easiest way for a human to quickly understand whether the resulting script is going to do what they want it to or not 04:31 < michaelfolkson> Diagrams like Miniscript.fun help too 04:32 < michaelfolkson> Even a non technical, non dev is going to need to construct the diagram of what they want 04:33 < darosior> But when using Liana they do not have to create their policy. Having an always available and a timelocked backup key is all they need to know. "Give me a primary key, give me a recovery key, give me the timelock value" is all they need to configure 04:34 < darosior> Liana is not a "Miniscript showcase" wallet. It's a wallet that makes use of Miniscript. Miniscript is the mean toward in-script inheritance or recovery path, not the goal in itself 04:34 < michaelfolkson> Right, to use it that's all they need. But to decide that it is what they need and they don't need something different, more complex or more flexible or whatever they need more than that. They need to understand what it does 04:35 < michaelfolkson> Bare minimum a diagram (imo) 04:36 < michaelfolkson> It is a bit black box-y otherwise. And if you are deviating from basic single sig or basic multisig you have to have a understanding of why you are deviating 05:02 < darosior> Ok i see 05:02 < darosior> Thanks for the feedback 08:10 < michaelfolkson> The motivation for using this policy is you're worried about the possibility of losing the primary key and being locked out of your funds. Hence you want a backup key but you only want the backup to be able to be used after a certain time period has passed 08:11 < michaelfolkson> That gives you time to move the funds using the primary key so that backup key can never be used whilst you have the primary key 08:12 < michaelfolkson> Something like that might suffice, it is a pretty simple policy 08:13 < michaelfolkson> Everything is a trade-off between making it as easy for you to move the funds as possible whilst making it as hard as possible for an attacker to move the funds 08:32 < michaelfolkson> The competition for this simple policy is a 2-of-3 threshold. There you can lose your primary key and not be locked out of your funds. But that needs two signers to move the funds at any point in time which is more of a burden for spending 08:33 < michaelfolkson> (I know you know all this btw but just trying to formulate an explanation on why someone might want to use this) 08:55 -!- salvatoshi [~salvatosh@genymobile-2-6-86.fib.nerim.net] has quit [Ping timeout: 246 seconds] 10:06 -!- jon_atack [~jonatack@user/jonatack] has quit [Quit: WeeChat 3.8] 10:28 -!- jonatack [~jonatack@user/jonatack] has joined ##miniscript --- Log closed Sat Feb 18 00:00:48 2023