Limit OUTPUT length
Today it is possible to have unlimited length for a transaction ouput. We should set a limit. I decide arbitrarily to set this limit to 2000 characters.
We had the following conversation justifying this decision:
(09:38:20) tortue: pour BT: // Maximum script length in bytes static const int MAX_SCRIPT_SIZE = 10000; (09:48:48) cgeek: Donc si l'on considère principalement la taille du hash pour XHX, soit 32 bytes, on a 10000 / 32 = 312 appels. (09:49:18) tortue: soit 4,21875Ko de données :) (09:50:00) tortue: he non me suis planté la (09:51:14) cgeek: 10000 octets = 9,76 Ko, non ? (09:54:17) tortue: XHX(e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)|| = 71 characteres 10000/71 = 140 appel de XHX soit 4.37Ko (09:57:26) cgeek: Comment calcules tu cette taille en octets ? J'aurais plutôt fait une relation proportionnelle au BT plutôt que de transcrire une taille en octets qui dépend aussi de l'encodage, notamment. (09:57:42) cgeek: Et donc donner une taille en nombre de caractères, directement. (09:58:18) cgeek: Là par exemple on aurait environ 31271 = 22152 caractères (09:58:44) tortue: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 = 256 bit de stockage 256140/8/1024 (09:59:01) tortue: je suis dans le cas de vouloir stocker de la data en blockchain (09:59:40) cgeek: le *140 me paraît incorrect, à cause de l'encodage justement (10:01:20) tortue: on est pas en 1 octet par charactere? (10:01:29) cgeek: ah oui .. remarque, UTF-8 signifiant 8 bits, 1 caractère = 1 octet (10:02:09) tortue: :) (10:03:47) cgeek: Si on veut avoir la même longueur max que BT, en tout cas, on est bien dans l'ordre des 20.000 caractères max. (10:04:31) cgeek: Ça me paraît beaucoup :/ (10:04:43) tortue: moué... ca fait bc