Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.73k stars 445 forks source link

Central Bank Digital Currency (CBDC): towards proven technology, ready for large-scale deployment #6306

Open synctext opened 2 years ago

synctext commented 2 years ago

The goal of this master thesis research is to take the necessary steps to mature Central Bank Digital Currency (CBDC). The level of maturity of CBDC targeted within this thesis is "proven technology, ready for large-scale deployment".

Stress testing and integration with the upcoming digital European identity is expected to be a significant part of this thesis work. All software will be open source and all gained technical expertise will be shared publicly. The permissionless ledger technology used will be Trustchain, this is formalised an IETF Internet Standard draft since 2018. The solution is required to be ledger agnostic.

This CBDC technology is required to be fully decentralised. Inefficient and wasteful "mining" is explicitly not allowed. No critical dependency on existing banking infrastructure may exist. No central points of failure or performance bottleneck can be present in the system architecture. Due to the critical nature of financial infrastructure, an "offline mode" must be supported. Transfer of money using QR-codes or some other mechanism must be supported together with fraud measures.

Delft University of Technology has already conducted small trails with digital Euros, supporting offline transactions. The work by Wessel Blokzijl resulted in a fully functional prototype, featuring real Euros, real retail testing, and integration with the IBAN banking system using a "Tikkie"-based gateway. Read the full master thesis here. Delft University of Technology is also a government partner for digital identity at passport-level. We have an operational open source prototype for digital identity, integrated with the European Commission EBSI infrastructure. By using EU EBSI this thesis aims for seamless integration of identity and money. See: https://github.com/Tribler/tribler/issues/6023 This existing self-sovereign identity work of Delft will be re-used.

Stress testing is also a key part of demonstrating the maturity of this technology based on open source and open standards. The requirement is horizontal scalability, feasible due to the inherent parallelism of the used Trustchain ledger. The ambitious target for experimental demonstration is 1 million transactions per second. This will provide the irrefutable proof required that a digital Euro can underpin the entire digital economy of Europe. The check-pointing mechanism used by Wessel might need replacing or improvement. Finally, a small field trail (4 people) would demonstrate the end-to-end feasibility and maturity level of this system. In the ideal case CBDC would utilise an IBAN account owned by the central bank to conduct several 1 Euro transactions in the wild. Possible joint experiments of other governments will be explored with actual money, but very low amounts. For instance, exchange of 1 actual Euro into an equivalent Singapore Dollars, e-Kroner (Sweden) or collaboration with the German Bundesbank to conduct end-to-end system testing.

KoningR commented 2 years ago

Progress Report

synctext commented 2 years ago

2020 work by Jetse: https://repository.tudelft.nl/islandora/object/uuid%3Ad3d56dd8-60ee-47f7-b23a-cdc6c2650e14 Spend 50% of time understanding the Joost Code in superapp please. Sprint goal: reliable digital Euro transfers

KoningR commented 2 years ago

Sprint log (last week)

synctext commented 2 years ago

Comments. This is an important CBDC report from China

The People’s Bank of China (PBOC) attaches great importance to the research and
development of digital fiat currency. In 2014, it set up a task force to study digital fiat
currency, and its scope of research covered the issuance framework, key technologies,
issuance and circulation environment, and international experience.

ECB has started the task force and announced their "digital Euro" exploration. Still, Europe is 7 years behind.

For future direction the "stress testing" part could be the key to your results section. This towards 1 million transactions per second. Offline double spending is known open issue; no need to fix this. Tikkie API key: Joost has one @jwbambacht I believe. Is he also running a Blokzijl gateway locally? Calling it a "Stable Euro token" with gateway at AFM is possible alternative, CBDC requires central bank involvement.

For context, core banking systems on mainframes are from '70. Commercial ageing infrastructure. Replace after 50 years, trustworthy new infrastructure, uncompromising open source, no commercial banks with default risk, no single point of failure, and mobile-first.

Sprint goal: duplicate test-money infrastructure via test-Tikkie account that Joost has operational. Unit testing as next item.

synctext commented 2 years ago

First live digital Euro transaction?! Worldwide state-of-the-art, parties are mentioning cross-border CBDC; never actually achieved yet! Market analysis: all commercial offerings are needlessly complex, brittle, not disaster-proof (e.g. offline support), and therefore insecure.

Disaster-proof infrastructure is investigated in this master thesis (telecom thesis, not related to CBDC). The 1994 Northridge earthquake destroyed infrastructure. It might take 30 to 90 days to fully repair. Is there no digital money when there is no Internet? Thesis illustration:

KoningR commented 2 years ago

Sprint log (until 15-10-21)

synctext commented 2 years ago

Possible thesis focus: make Wessel prototype ready for large-scale production usage + also fully decentralised. ideas: permissionless accounting. Everybody can undersign a transaction, remove single points of failure.

Practical next sprint demo: ability to create 4 times 1 Euro and send them to 4 contacts? (custom .APK)

Conceptual architecture: offline double spending problem is probably impossible to prevent. We assume everybody can double spend and estimate this likelihood with the counter-party risk assessment function. An offline verifier is a trustworthy node which checks and signs offline spending records. [Alternative architecture is preferred, give each minted coin a unique serial number. Then double spending is trivial to prove: fraudster signed away the same coin twice!]

No Internet is needed when using offline verifiers. What guarantees are offered by your system when two offline nodes using same trusted verifier? idea: If every counterparty of two transacting nodes inform the offline verifier we can guarantee detecting of double spending. (drawback: temporary central authority) {gateway == Kotlin == library == .apk?}

KoningR commented 2 years ago
synctext commented 2 years ago
KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago

Progress:

KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
synctext commented 2 years ago

Related CBDC work with instant payments: https://www.bis.org/publ/othp39.htm France: https://www.banque-france.fr/sites/default/files/media/2021/11/09/821338_rapport_mnbc-04.pdf https://www.jpmorgan.com/news/jpmorgan-central-bank-digital-currency-report German digital (IoT) Euro report: https://www.fpmi.de/files/fpmi/content/downloads/en/expertopinion/Studie_programmierbarer_Euro_en.pdf Google search query anything open source? true simple solutions? passport-grade ID for wallet? Fully non-custodian?

KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
Month activity
Jan Define scope and read background, first prototyping; write problem description chapter and introduction
Feb Experiment plan and first iteration of prototype
March First round of real-world testing
April First round of incremental improvements
May Next rounds of real-world testing, identify issues and improvements
June Obtain measurement results and write chapters of report
July Finalize documantation
KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
synctext commented 2 years ago
KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
synctext commented 2 years ago
KoningR commented 2 years ago

For a (slightly more) documented Wessel gateway refer to my fork. Do note that I am not maintaining this fork or the corresponding upstream repository.

KoningR commented 2 years ago

Sprint Log

synctext commented 2 years ago

repeating Grand storyline: we take the existing WesselEuro, dump all the code, redo stuff, and get it a step close to production usage. For that testing is essential.

Suddenly there is a wealth of interesting results. Why? (reason: IPC was the first hard task, delayed everything) We learned a lot about performance, now try to wrap up "exploratory performance mode" in 1 sprint:

Focus for this sprint: single comparative performance plot for thesis :dart:

KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
synctext commented 2 years ago

Related work by guardtime.com

KoningR commented 2 years ago

Sprint log

synctext commented 2 years ago
KoningR commented 2 years ago

Sprint log

Introduction+ProblemDescription-24-05-22.pdf

synctext commented 2 years ago
KoningR commented 2 years ago

Sprint log

KoningR commented 2 years ago

Thesis_Eurotoken_27-06-22.pdf

synctext commented 2 years ago

Introduction: real bank insolvency stats. happens all the time: bank got bankrupt.

An important difference is that Blokzijl’s system is balance based and this scenario is token-based.

Problem descriptions are neutral. Not a single Blokzijl reference please. Build up the problem, then discuss timeguard and Blokzijl testing at 1 retail location (with photo) in related work. You can be very direct there: our work build fully upon this prior work. We aim to advance it further on the long road towards mass adoption.

We assume the reader to be familiar with this so-called ’double spending problem’

Explain this in a few lines. Is this the main scientific challenge you work on? Then you use this as the opening sentence in your problem description. Put science at the center, not Wessel :dart:

You central creative idea: Bitcoin provides a partial solution to the double spending problem by severely constraining transaction rates and introducing a consistent global broadcast (known for their failure to scale). Our work is based on similar avoidance, based on the legal system. We believe that without any assumptions the double spending is impossible to solve. An impossibility result is outside the scope of this work, but there has been prior work in this direction. Passport-grade ID.. used to... negative balance... We re-formulate and solve the double spending problem as follows: any transaction validated with your legally-binding digital signature while being offline is guaranteed to have finality for the counter-party with successful dissemination.

If validators are unreachable, Blokzijl’s system allows transactions to be made in a peer-to-peer fashion, deferring finality until the proper validator is available again.

is this section becoming mostly a Wessel tutorial? Solution: keep problem description neutral, add related work, and use a section called: "The Delft Euro" to explain The Wessel System. Sounds more sciency... In your "Architecture and Design" section you can explain why you do 'as-simple-as-possible': serial number, value, signature.

Examples. master thesis core: 10-pages IEEE format with max. 6 figures. (14 figure example https://arxiv.org/pdf/2203.00398.pdf) (15 figure example https://arxiv.org/pdf/2110.11006.pdf). Student report (5 ECTS): "Double spending prevention of digital Euros using a web-of-trust". "industry-grade self-sovereign identity" by Rowdy. You can find the 2021-2022 teaching and exam regulations here {see "Article 3 — The thesis project", note footnote "22)". Following footnote 22 we get to this list. It says nowhere that each needs a separate page, your IEEE format should contain all this}. Please make your thesis as much as possible into the standard scientific IEEE format, reduce your "overhead" pages to 1 cover page only {title+also preface!}. Note: offer your sponsoring governmental institute to list their logo on your front page.

III. EVALUATION In an attempt to improve Blokzijl’s proof-of-concept implementation, we found that it was unsuited for major expansion and opted to rewrite our own reference implementation in Kotlin.

What is the highest level goal? Our evaluation determines to which degree our work could serve as the foundation for the digital Euro. Cardinal requirement is secure offline usage.

"Performance analysis and experiments" section? Are we doing a 10:00am - 12:00am pub-based field experiment? Go beyond cmline digital Euro; superapp?

synctext commented 1 year ago

https://nieuws.ing.nl/nl-NL/216305-ing-nxp-en-samsung-ontwikkelen-nieuwe-manier-van-onderling-betalen-met-mobiele-telefoon

ING is not giving any credits to TUDelft, but they are trying also P2P payments :2nd_place_medal: (deployed 2021 with live IBAN linkage). Requires special radio chip and special Samsung permissions. Good GUI and roadmap to mass deployment, positioning as alternative against ABN Tikkie. Digital Euro needs to match this market-based innovation!

KoningR commented 1 year ago

Sprint log

synctext commented 1 year ago
KoningR commented 1 year ago

Sprint Log

KoningR commented 1 year ago

Thesis_Eurotoken 05-09-22.pdf

New cryptography image:

synctext commented 1 year ago
synctext commented 1 year ago

This thesis is extremely relevant for society. Only open source and transparent technology, now full frontal competition against Amazon? https://www.ecb.europa.eu/paym/intro/news/html/ecb.mipnews220916.en.html https://worldline.com/en/home/pressroom/press-releases/2022/pr-2022_09_16_01.html

Worldline has been selected for the specific use case “peer-to-peer offline payments” of a digital euro, which focuses
on the payment between individuals.
As a leader in payment services, Worldline can rely on its expertise and assets to build a digital wallet supporting
the physical storage of funds that can be transferred without connectivity. The aim of the prototyping exercises is
to test how well the technology behind a digital euro integrates with various use-cases.
Worldline is sharing the common goal of the ECB and its partners and intends to be an active participants of
payment industry evolution, by contributing to strategic and potentially transformative projects such as the
digital euro. Its entire corporate product portfolio can be leveraged to deliver pilots and facilitate a successful
CBDC roll-out

You can use this as Figure 1 of your thesis to get the reader into a "this is really real" mode of thinking. image https://www.ecb.europa.eu/paym/digital_euro/investigation/profuse/shared/files/dedocs/ecb.dedocs220428.en.pdf

KoningR commented 1 year ago

Sprint log

KoningR commented 1 year ago

Thesis_Eurotoken_09_26_22.pdf

synctext commented 1 year ago
KoningR commented 1 year ago

https://www.ecb.europa.eu/paym/digital_euro/investigation/profuse/shared/files/dedocs/ecb.dedocs220422_keymilestones.en.pdf

Slide 2

synctext commented 1 year ago

Australian CBDC Pilot for Digital Finance Innovation

KoningR commented 1 year ago

Sprint log

(Some) Papers Regarding Digital Cash