@ETF BTC but that's... the thing. I can't expect my heir to learn multisig, and the whole point was to avoid hiring an escrow =)
It's easy to create such contract without multisig
<needed time> OP_CLTV OP_DROP <pubkey> OP_CHECKSIG
With ordinary locktime, your heir must keep signed transaction and also his (recepient) privatekey. In example above he's only need to keep privatekey (if he generate redeem script by himself) or privatekey + redeem script (if it was generated by you).
But in case above you can forget about your money before needed time and even if you don't want to give away your money to your heir. So, we need to create script where you can spend your money in some cases.
pooya87's example is the closest one to such conditions. But without multisig, of course. BUT: his script is for P2PKH address (pub key hash, in P2SH we must provide pubkey), so i woud not recommend to use it. We have such conversation in our local russian topic, and one user,
Balthazar, said that most of bitcoin core nodes will reject P2PKH non standard scripts, so without mining powers or at least without friends in a big mining pool you're not will be able to confirm such transaction.
let's not confuse P2SH with multi-sig, the latter is only a subcategory of a wider range of scripts called pay to script hash. also your script will lock up his funds and can ONLY be unlocked by the heir. when inheritance is involved you want to continued having control over your own money until you are alive and only give it up after you pass away. if you lock it up with this script you are giving it up NOW.
his script is for P2PKH address (pub key hash, in P2SH we must provide pubkey)
there is no "address" for uncommon scripts. addresses are only defined for the most common scripts.
additionally the script i posted was not P2PKH, it can't be since it is not OP_DUP HASH160 <> EQUALVERIFY CHECKSIG! it is a "scriptpub".
and finally there is no "must" in scripts, you can provide whatever you like. not to mention that the script included hash of pubkey not the pubkey itself. you can change the hashes with pubkeys and use it as a redeem script for a P2SH scriptpub