commit f1c039566d980a155d14854e17f3b39eaa7847c1
parent 2afd4c128bf151552b23b14c9f7ee2b0cb260385
Author: Mikolai Gütschow <mikolai.guetschow@tu-dresden.de>
Date: Mon, 30 Jun 2025 10:43:10 +0200
-update xml
Diffstat:
1 file changed, 122 insertions(+), 116 deletions(-)
diff --git a/draft-guetschow-taler-protocol.xml b/draft-guetschow-taler-protocol.xml
@@ -29,7 +29,7 @@
</address>
</author>
- <date year="2025" month="June" day="13"/>
+ <date year="2025" month="June" day="30"/>
<workgroup>independent</workgroup>
@@ -481,7 +481,7 @@ nonce = EdDSA-Keygen() |
persist nonce.priv |
| |
|------- /orders/{order.id}/claim ------>|
- | (nonce, token?) |
+ | (nonce.pub, token?) |
| |
| h_wire = HKDF(wire_salt, payto,
| "merchant-wire-signature", 64)
@@ -516,8 +516,6 @@ persist (contract, sig, *deposit) |
check EdDSA-Verify(merchant.pub, msg2, sig2) |
]]></artwork></figure>
-<t>TODO: discuss - nonce doesn't strictly need to be EdDSA keypair?</t>
-
<t>where <spanx style="verb">msg0</spanx>, <spanx style="verb">*msg1</spanx>, and <spanx style="verb">msg2</spanx> are formed as follows:</t>
<figure><artwork><![CDATA[
@@ -537,6 +535,11 @@ msg2 = bigEndian(32, 72) | bigEndian(32, 1104) /* TALER_SIGNATURE_MERCHANT_PAYME
<t>(without age restriction, policy and wallet data hash)</t>
+<t>Note that the private key of <spanx style="verb">nonce</spanx> is currently not used anywhere in the protocol.
+However, it could be used in the future to prove ownership of an order transaction,
+enabling use-cases such as "unclaiming" or transferring an order to another person,
+or proving the payment without resorting to the individual coins.</t>
+
</section>
<section anchor="deposit"><name>Deposit</name>
@@ -689,7 +692,7 @@ msg3 = bigEndian(32, 344) | bigEndian(32, 1033) /* TALER_SIGNATURE_EXCHANGE_CONF
-<?line 559?>
+<?line 562?>
<section anchor="change-log"><name>Change log</name>
@@ -707,122 +710,125 @@ Education and Research (BMBF) within the project Concrete Contracts.</t>
</back>
<!-- ##markdown-source:
-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
+H4sIAAAAAAAAA808W1vbSpLv+hU95EVmLOML4STecLKES2ASTD4gk53NsLgt
+tW0tsuTVBfDJ4fyyeds/tlXV3ZJaFmBy28OXLzat6urquld1C8dxrOs+61lW
+6qeB6LO186lgbwcf2TkPRMw+xFEauVGwZnmRG/IZQHgxH6fOJBNp4k6jGydF
+QGeuAC2Xp2ISxYs+88NxZFn+PO6zNM6StNtuv2x3rZsovprEUTZHCE/MBfwX
+plaSxoLPzLErsQBor28x5jBah7658WKeRpOYz6cLGhAuT6b0bc4XM5iZWNaz
+axFmom89YywW86jPpmk6T/obGxM/bU3CLBRpK4onG0HitYGwFgxvIHAA9Cdp
+AQ7Pa8A3LItn6TSKgTYHVmZMMufYv4oC7rO3//svyR56BhP77PzjHtuLRQI7
+Yx9D/1rEiZ8uWDRm58KdhlEQTRYEzUejWFzjBA1Pw8ggAYQdimA2jYL0Nxho
+sU6bHrqAqm+Au5EH9Ow57U5766UaycIUBfNWxDMeysXEjPtBn80k3a1crP+e
+Zo4n0bU8YVlhBHNSoBqFcXqw223rL532pvr6/MXWS/V1q9uj0cN3ewdAxclR
+q9OGf+1fNl7+8sLpOVubXaezCVDOL5e9TQA8OzzL4bba3Rcbg6Oz89bB0Yez
+VudF29kERQJ1ymmwLMdxgFPAA+6mlvXPz+z8zSf2zwv5YOZ7XgBUP2NHsOXI
+y9zUj0ID7I244bFg6ZSn8J+fMFDwDHWHwfck9YOAoaY6foi6PQFWJIyHHpvx
+BXAyTLkfMhHHUZy0rI+JYIBmEWUxi25CFvvJ1V9w9UGUcrmyw4ZrfOSuDRlw
+NAIVg0UFC/xUxDxA2frhhA0BYshEiLLzGE/Yztnu0RH7TPy+QByc/c5GJg4g
+Bm0upIVQnTi78dMpGyH8nHv/KeLI7nSbjDfMiaNFKvTKvMl+AzgH4HHpNJLk
+iXACmABnp0vgCeIc+Wli3wIye0hj+L1hYJ75oT+DbYXZbAROBObjHGYTeIOF
+wgVu8niB64BxAm+R7zQzC1J/HggGg66f4I78EBwKYLmVa0/2Q8/nod3ZarLb
+yo46W0AyT1KW+JPQH/suB7S0NJCAADmunMkgRTBtlLTkB7gbeG7DOo6ghRrG
+sjszNCKb0wesDrqCWgmIxnE0A9aP/VvhOfMIViq2lotmKCcOQeFBuqXdbG2C
+fOhZ65oHmWignPOnvW7+dIz6DtgQwBCufOxmcQxbWzSGTVjjZipAxYdlxEQy
+siKMQicUE7KnnC9zHqeaVyMOWq3xIbZhhQRCNYHpKCOWhT6KASZHoWDTLATv
+AdYCdgSgoER2RzgvGvciR9MaVjYxZNJCBes5nY4yBnfKcX3wnixLpJVoePJ5
+IEaaIm4BMpyIFsovBvTRzO4+3yppDGdyOFiwiQjBDlNAl4j/yQCXQEIBnLRH
+Gt46GzF7FnlsUNE6pbOgbciVJsEawJKcOfAlTP2SmeKeR00GYFkQsQE6jN0i
+tPkuRF9/5qOAMJ5VHx5CzGMHWUiyIIBn4EV3HKT6y7NkyuHLnWX98ccflhq2
+Z8mkwZxf2RTDpXUUzrO0T1EAHuAHyBGG2Aytc0IsUB7gPXvFuv+11WERcB6j
+60mW5pMRGyFR0zx/AhEUZ5MxaBxI73vQlW3W62o8SJw1RAS5XkaEGWfrzYCE
+56CbZ0LulG22Ok32HP/bwv+Qi1utLs74rCLPRatgx3NwXcQO+FJiB/z2rezo
+dJ9/H35sba7MD9zNMj+6yI8u8qOn+bH5AD+IqzbkZBQ4PD3cyPnk0LM/Kbcq
+2nNe8Egxzo3AHSRgbl6iA9nYjwFnPlN7oWXeemLshzIsfPmilOauLxmRitkc
+1i/zwyLqtxk++tzu9zoXkiiI++XUIpqjd0G79/zxGF0XRQuFaUMpeWntz5AO
+XeAXGbTAB0A0pbXIiYM40R8cK5btQCaKrkU6ILYLXlD5g8PjnV2Q6nTGtTRx
+xEFm2pBcN4Hw25SkCqwAucwRgZTLoZKLazgdomGsnI7MMxQTTTkZCgIrkYIk
+wo1FSr8W2sFTFbP1TIREsgqV8njKyWPG4I0xbZBTTT0CMpj6VDKtUCRtCx6T
+abk8cLOA1L/CepXTXigmvwNq90TsX0vmVhwu5rfI4CtvfCd1EZcDTPdMYzbO
+aMjQBavJKsvH1BJ+TVJejhCfVU59YRGjIUtR+oPZkiEJykJIWfZvKSMmL7B/
+O8ePJBVz3GSSTdC01DaRjou+NcRPR80aIl2Ql5CSgHaCcg6bkEX4kJBpQERZ
+hQMFhmzQHbfAaEjX7hotpW4wyU54kDbZ0bvjJtWETfaeVO7k3bFSk0SKEOFI
+hKSGmBbjAGk8szllLEqFZOCWjxr/RpOLH38MoClkkNG1DykeLCpzepgH7oDr
+lBcYDI4Xs17I4HEeEFjyY6ClCAUFB0iRB5Z8Mo4MArEQQFVFNvN5ngOwZA7Z
+K+SfLC9aorBCpQ3JKRtB3SATb6WskrYGwb5XkEUWrnS7QhqKU3nEyhKvtiGH
+eb4Ofm+bvehstRumyZyoDd+H14Yl3yvUjSVvi7OXDGkcBUF0kyiP+eH0Haxc
+1rBCFxrSexxKB6r9r12Oig0L18gRoObZgLKkRVUUFNjKoUKRrU3VOY48KP04
+Wl8kvStZsOH2yZjvmtJ1574O1C6LQzJUpIqcO2oV1DlowvB7CLKU6fADVcyg
+ZBhIjT1osop91BvHQEv1fuSGEf1/W9EKZvQT7Ohp+m4Ic1BSedAOeK7TDMBD
+McQTMHFGiqO/+gmG4QBKipFWMi4bL+jmZSD3f0NbSYlepQ0aYpu1LS+CWir1
+AyL3FRtI2m+VHVSdqVEnYk2sUDWasmC3B41GvvntEixV8YMGFtFFdwhI+Os2
+62ijYQNQljeBD1I5g4qagwXozGLfA8/SeUlQ9RCnZzvOwd4hRMc44c7Ym97R
+OGSh2XwexSmyvhRNcUk1BVOrJptnIxAQGQNMNo1Bp5wqaaQxCc9wXfwOOkSZ
+BqhWglKRukq1VpaANaGqKTBdmzFh6gssS6uMsyBwwFKw5UNhFxEBBdE1lsy0
+bGug8guYU80vck3QNi+zP+loHKDo7m7ZdZJst9maZMkOOzifJ5/+smaRMW9X
+ZC4lrSlpNJaUwgAQSiOwg6CmFF+FhbvezmnNsWo3RbIhN1WYB8gcnRJ2sGj/
+yiQpycEMHBN6PuGY4IA5gJH5rh+BFJSoAL8FVTtw0x+TRarMWbBJLKgdC1Kc
+zTB9hrIbrIynkO3YE9ejfoJckxoImlgSQadlaJVD6ZiwR1eJoVyU+ZaVCwCI
+PSNUayQH1Ui5zHJVUy5FfowC6py2TgGRyjoFrElwv0kB32guwNxc/YxRIJ9i
+O8iE6g2gZu0xLSIhlLSIHINGaoqNRqVLeFR0dX7hzydOXeoSRdg6jLQUV5Ch
+dqtKhNq31kiQyqZtVudUrbh4UGcXVnwpACLGRpZ2DLKflTsZC3cDIAC4Liu0
+yvNCrhgZlsSKgzbOg0VhfS3SxJ+YIiXU+hOcCfgV7O5iRsKLtMqI3AofmATJ
+Uf4m5UgFmXhckAoul6RnShIoYOpTxjyUDFEIfkwtqGQJIDUFpykpRLct5yPD
+Ffme4qjeTZmlH8NRrbGocRswrmAuehs0p9jMn9RsslAbTEHpQ0W9yePHNd4P
+rwEG/hdxQv2ruF7lkWvrTMLfq/N/18HMlI8clrZIMnqqN6vRvLHmOYUDmPSD
+5ZDGmWhifYC0YOsCKwh/Jal8Zy8GlGp5POanbIlnG3dXKgp3Aw5ZinOGB7Bx
+jB14zGdkV0a22/MjcMva2AAH5EV9xBFgLJ7jGW4C4cydCveKcuFPUJF6Mb+B
+UodSoxv0S5C/yESGDUP2K2tjj9IP5XlijAcOSYqPhgULVYewfJDRtHgKVc0o
+I+HJek61NxU2141iMlUYRmzuNEpEKWnCRLtFVKVRCvWMxIFE3ORUs7EADup6
+uHKWQn3nMrqGNcsgO0OfrBwwhDLYEOBRpMkjHajHoljW1ziYAJEBpY0ivlZ5
+IgbBggxJZrKYjaKADdeHOBM4Eqby5MQVMR3A0nnVTPAwUQU51aixmAtSN2RC
+6s9E0R4jtiC3mpY6HHu9bp7moIe51SeXwzZ7tc1er0MdFg5VOlkuPpV0H/3R
+DLSuQtBstk48bIGO3jfBhANvVal6IWFf8ed3S7N5G4q2PTCjd2IxEaHdeHym
+0m9mKxRN1St4fObXU1sdcIofZo94eAX+B+Q9hhKXlZ79WrOmnWSj/xZu2tea
+hhzXR6X9fC/fk9r7IKuclJRICr5h+RlPoGa/VGF5m5XOOR+ZqQkyMayy5rqN
+BtSUiYGa2IC136oz1F14ahtom2BBDZyJE1vTS9Lq0kmKedDdXj777uBQbjMN
+a12ujehKUV0WChoprYXQJqXNMh5wt+3cLCghzcUDJke1bruOkT9Iv1HFN7QP
+ZOaDOv2mH1OjDBY3V6G2xEtKScr7/RmWsa61YQ8/nfdRdJXN7fI2VjcQCsNl
+74puNKQIh73MIrw4EMF9CEhPxCwVReVwBt91QvdUWrVvfvePXYiREPqhqL/C
+IIr0hkJ4T6ZRkzXiAcd7DL9CgpTNbMUUGfL/qnkEwf5Sc2V10qtLON9/CaWV
+sjAySsayuhbhcXXM2vEVyvAdlfyVYculTZjG7HyLYUkTNzmjy758wQecnjKS
+SkVS4zb1OsZszb7aKCDzapVYofMsX5BayuwRwGhlkqvfqvP/3TaMbqyz8533
++6eXZ0dvBzvnH0/3Lz/tvH+/f355un+2f/p3+PXo/HDvdOcTW9/QHc7qza2q
+oprN0mUgQ33zvqnmFrBBfy14tER++5YCWKG5DdZYog+DNoK2ax5JJDWMIfC8
DauyUY+q26RUY+Q1vJQT3pyiZm05ZA/1DTYZunWpTycyRZ+FsmNMzkGudE8y
9t00WOBBDb+ii4QAO5sHYpZfe/MEpOoB5vyuvMxlLgBYQoGFawz/Q91FHWMe
QjULsPJG2gJKH7x56U+mVGuoukY2g/LV8BRGn44Hi1apXPP8xM2SRJ4WHgRR
-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
+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
-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
-V/LmcYRXpXBPeE4j8A1JJmlZ/weR36loJUgAAA==
+GLIXa3hY6XO/171oMvzW6/YvwJ0ph5XncW9F+iEbFdOVgdhYAoLTa5IaYFOA
+T4QDCkAqTLUs1u8f5AXyry/1ZiLGWi9VpZ7+9f5irwqHxZ4ck22Vda0D987N
+OwR4/T2NfkLSdgPJ06U6C1A1R6f74ulBWN62Bcn6HrWBXaEP99PoSoSvm8VK
+31ImVQfyMM1soqD1BdaXK96Vq8pvCdNhhP7uqTV3uTQjDNI1rbjm11NbHcjL
+EeJPsvFF8sn37jbcgPsz9khVgj+22gDmx5K5P7u2mF6i+mjnlKuSspPmV1Kw
+pm3VQYxO3rNTjmtVpPntAdmiSvls3oSANM7A9XqCe+CDhdJ//evqpUAUymtg
+22UNlwZG9qWU/etYUPgbyeBmaQdfhfDhXT+1ptKbb9Em8XYmbfbJzGtpE6bP
+J/s2jWblicvdCCMoqHbED6pWcnKbko7vVa3UFM7lkCg3Jdds1M2sF8bDa56f
+7J1A1hdBriQciYaOqOXZOQ28rp+pq5riLYtthnnfmQjkbWs7p+dLbgVkVhA3
+5LKQ5gaZJ9gxj6/2fEheGZZD1jrssGNKd72U4awDGzr1rSYoROZR4qMtS/Ja
+X5BxWJipBsldQTBxUiIqtW8N2TaZxnhfNPpJgQSccK5mDwYS/LHvJfpnBBKp
+RKosJDJaZRXJlYJUYfUmh0S7JzHaeoNPcRjdxxxG90c5DClWIqE6+sMdRpcU
+uVtxGEvNhyYbkl0N5UsRONiV5cx9LYnpZSly5i0RDj4Hb/X97exkkNtSA+qF
+2g7GL92aBkan3altYBzvn+4e7gzOL3dPBuenO7vnpdZFQYxF21haaRPb/DW9
+kvqlVK9k9+RocLm3/+Hk7KhYzFjtoa6E8ex5p+hL5Cagcq7fzVb08uxzSBkK
+b5onEI37YSpZQg1Fqn2zrm3T7EJW7Ktm3jIsQBkVXO32UQ+6q+rB5sN68GHn
+H8f78Hnyrl4TZC1bKmFZqYSFxDYKfHchz3RVNwjPvTHwNczXUoRxGQav0VFk
+lSf29EId9nWwDS1fswsX0rTUEa5+37tlHUY32L+hC8JulAVefvVPgY4zuqeQ
+RnSZWOAbshAJpv6cznJDVQTSqZ4KYpYIOfYgJojHcTm+bJBk7hQNdi0LqQKB
+p2vYKNengbHqPils2ENSHSRYDHHiJSu8zEz3C4V+UzzvBgAb1aVUdXKNrZNr
+38voerKPJ+fYH1DO2ugPaA3ZWKVHUDkKzl9TfKQ/UMAV/YFVewvFgYiaKMsf
+ViqI0J02y3omAYvEIc9CqEuouyRV7/3w1kuADx7zbox46k4dveJjx2ClnKyo
+Q4wKollxHXc1hBd7bzIz4Eje3Ec409zUHCr3LB7c8tcz6z7I+rO0PGX5IYdq
+CvnTT9QqAeM7F+n5z3eq1hUXjLzE4KvOTToqBX8q5nvOY6prNL6VIQbC6unO
+02hG8eOdswT/XgdedVt1ui5MtO7EAm8uYas4vnIQ2xOKZiDFywJ8o7x0NWTl
+6dqtXuaeg0rMG/tJWXjPzMINX01K0fv+WTit26zbwA/KwsuRSm6KNL33cBbe
+e+wIsLeUOPU2N2syp3avV5s57f8HJk5v9zGDPjg6PV7KbSup7XKiWpfRqZlm
+JrrM6wey1boW1hNT23sPJs0KlDl1We7SWWU+T3YIzMRW3YjEl8qzGP8szS7e
+E/XUa8uJ+sspe/SXU56xo53BzhLEIArxxWRUzRGn25BsV94aDKIJ/rbjYuQI
+hDeRf6LnS1/eshPe9tqYB4lYuzPWoUNG+sscN/T2Kr01JNNKuvenLifKv2bD
+DoRHf0rlmF7CijGltfa9TL1IhtHqVCSCw5aZ/eb4zYF8ebDIZvGiGO4JT6kE
+fiHJQNb3f2muy5AjSQAA
-->