Yop,
non, pas avec le smart contract
je vais commencer par définir ce que j’entends par “smart contract”
Pour moi, c’est l’utilisation d’une source soumise a des conditions.
de maniere simple, utiliser un operateur [et, ou] c’est definir un smart contract.
De la, c’est destiné a celui qui sait se débrouiller a minima pour composer un tel document
pour eviter toute confusion, oui je fais bien référence aux opcodes existants SIG,XHX et les operateurs… qui ne me permettent pas de deverrouiller des sources.
pas encore de la creation de nouveau opcodes / operateurs. (ca va peut etre venir…)
A ce titre, j’ai vaguement survoler comment ils definissent “smart contract” dans ethereum,
puis j’ai regardé P2SH dans bitcoin
l’un dans l’autre, cela nécessite d’implementer une machine virtuelle.
Dans ethereum, ce sont les devs qui ecrivent un bout de code et ce code est inscrit dans la blockchain,
j’ai pas encore trouver les infos expliquant , quand comment, tout ca c’est gérer
a quel moment ce code s’execute, par qui…
et a premiere vue ca me semble délicat.
Sachant qu’un “contrat” peut en appeler un autre, qu’il y a egalement une limite du nombre d’appel de fonction,
et que enfin de compte, il est possible d’arriver a ce qu’un contrat n’execute pas l’ensemble de ses instructions dans ce cas où il y a une succession d’appel d’autre fonction appartenant a d’autre contrat…
Coté P2SH
si je considere que en l’etat aujourd’hui dans duniter, je dispose des opcodes SIG , etc…les operateurs et/ou
les seuls operateurs manquant
ce serait eventuellement des operateurs de comparaison, >, >= , <, <= , == , !=
j’ai vu tourner un document qui date de 2014 sur le bitcoin
99,9% des transactions sont “simple signature”
je ne sais pas ce qu’il en est aujourd’hui
C’est pour en venir au fait que , oui, implementer une machine virtuelle dans duniter,
je trouve cela techniquement parlant interessant,
cela ne “me” semble pas pour autant etre une priorité
dans la mesure où
on peut déjà proposer des contrats intéressants avec ce dont on dispose,
commencer par s’assurer que tout cela soit bien en place
a l’ecriture de ce post,
je vous propose 1 opcode :
NOTSIG => en parametre une clé publique dont la signature est exclue du document de transaction, exemple : NOTSIG(7t38…)