Check-in [a69544dd75]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Bump version number
Timelines: family | ancestors | descendants | both | trunk | 0.7.4-20180726
Files: files | file ages | folders
SHA1: a69544dd75805c9570698640f464349922d062f1
User & Date: bernd 2018-07-25 23:08:55
Context
2018-07-25
23:10
Bump Gforth version number used in do check-in: 5f153f7de7 user: bernd tags: trunk
23:08
Bump version number check-in: a69544dd75 user: bernd tags: trunk, 0.7.4-20180726
2018-07-19
01:04
Bump version number check-in: 5b5037e9fc user: bernd tags: trunk, 0.7.4-20180719
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to configure.ac.

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

AC_INIT([net2o], [0.7.4-20180719], [bernd@net2o.de], [net2o], [https://fossil.net2o.de/net2o/reportlist])
AC_PREREQ([2.59])
AC_CONFIG_MACRO_DIR([m4])
AC_USE_SYSTEM_EXTENSIONS
LT_INIT

AC_MSG_CHECKING([for gforth])








|







11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

AC_INIT([net2o], [0.7.4-20180726], [bernd@net2o.de], [net2o], [https://fossil.net2o.de/net2o/reportlist])
AC_PREREQ([2.59])
AC_CONFIG_MACRO_DIR([m4])
AC_USE_SYSTEM_EXTENSIONS
LT_INIT

AC_MSG_CHECKING([for gforth])

Changes to doc/34c3-presentation.fs.

43
44
45
46
47
48
49



50
51
52
53
54
55
56
...
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
...
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
...
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
...
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
...
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
...
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
...
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
...
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
...
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
...
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
...
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
...
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
...
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
...
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
...
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
...
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
0 Value n2-img
0 Value m2-img
0 Value $q-img

5 Constant n/m-switch
10 Constant m/$-switch




: >slides ( o -- ) slides[] >stack ;

: glue0 ( -- )
    glue-left  >o 0glue hglue-c glue! o>
    glue-right >o 0glue hglue-c glue! o> ;
: !slides ( nprev n -- )
    over >r
................................................................................
' net2o-logo "net2o-200.png" 0.666e }}image-file Constant net2o-glue
' minos2 "net2o-minos2.png" 0.666e }}image-file Constant minos2-glue
' $quid  "squid-logo-200.png" 0.5e }}image-file Constant $quid-glue

: img ( xt xt -- o ) 2>r
    baseline# 0e to baseline#
    {{ 2r> }}image-tex /right
    glue*1 }}glue
    }}v outside[] >o font-size# f2/ to border o o>
    to baseline# ;

: pres-frame ( color -- o1 o2 )
    glue*wh swap slide-frame dup .button1 simple[] ;

{{
{{ glue-left }}glue

\ page 0
{{
$FFFFFFFF pres-frame
{{
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"net2o: GUI, realtime mixnet, $quid" /title
"($quid = Ethical micropayment with efficient BlockChain)" /subtitle
glue*2 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"Bernd Paysan" /author
"34c3, Leipzig #wefixthenet" /location
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o font-size# to border o Value title-page o o>
}}z box[] dup >slides

\ page 1
{{
$FFFFFFFF pres-frame
{{
"Motivation" /title
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
tex: bad-gateway
' bad-gateway "bad-gateway.png" 0.666e }}image-file
Constant bgw-glue /center
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 2
{{
$FF7F7FFF pres-frame
{{
................................................................................
"  “Crypto” now means BitCoin" "🤦🤦🤦🤦🤦🤦" e\\
\skip
"Competition" /subsection
"  faces Stasi–like Zersetzung (Tor project)" \\
\skip
"Solutions" /subsection
"  net2o starts becoming useable" \\
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o o Value snowden-page font-size# to border o o>
}}z box[] /flip dup >slides

\ page 3
{{
$BFFFBFFF pres-frame
{{
................................................................................
"net2o in a nutshell" /title
"net2o consists of the following 6 layers (implemented bottom up):" \\
\skip
{{
vt{{
"2. " b0 blackish "Path switched packets with 2" }}text
"n" }}smalltext >o font-size# -0.4e f* to raise o o>
" size writing into shared memory buffers" }}text  glue*1 }}glue }}h box[] >bl
"3. " "Ephemeral key exchange and signatures with Ed25519," b\\
"" "symmetric authenticated encryption+hash+prng with Keccak," b\\
"" "symmetric block encryption with Threefish" b\\
"" "onion routing camouflage probably with AES" b\\
"4. " "Timing driven delay minimizing flow control" b\\
"5. " "Stack–oriented tokenized command language" b\\
"6. " "Distributed data (files, messages) and distributed metadata (DHT)" b\\
"7. " "Apps in a sandboxed environment for displaying content" b\\
}}vt
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 4
{{
$BFFFBFFF pres-frame
{{
"Realtime Mixnet" /title
"Problem with onion routing: Timing correlation" \\
"Problem with mixnets: need to wait for enough messages" \\
"Solution: Fill up the output with constant bandwidth garbage" \\
"and otherwise set up the network as with a mixnet" \\
"Bonus: Evenly distribute packets over a set of mix routes, to get more bandwidth" \\
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 5
{{
$BFBFFFFF pres-frame
{{
................................................................................
"Font to texture: " "Freetype–GL (with own improvements)" b\\
"Image to texture: " "SOIL2 (needs some bugs fixed)" b\\
"Video to texture: " "OpenMAX AL (Android), gstreamer for Linux (planned)" b\\
"Coordinates: " "Single float, origin bottom left" b\\
{{ "Typesetting: " b0 blackish
"Boxes & Glues close to " }}text
\LaTeX
" — including ascender & descender" }}text glue*1 }}h box[] >bl
"" "Glues can shrink, not just grow" b\\
"Object System: " "extremely lightweight Mini–OOF2" b\\
"Class number: " "Few classes, many possible combinations" b\\
}}vt
glue*1 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 6
{{
$FFBFFFFF pres-frame
{{
"ΜΙΝΩΣ2 Widgets" /title
"Design principle is a Lego–style combination of many extremely simple objects" \\
{{ {{ vt{{
"actor " "base class that reacts on all actions (clicks, touchs, keys)" b\\
"widget " "base class for all visible objects" b\\
{{ "edit " b0 blackish "editable text element " }}text
\chinese "复活节快乐!" }}edit dup Value edit-field glue*1 }}glue }}h edit-field edit[] >bl
\latin \normal "glue " "base class for flexible objects" b\\
"tile " "colored rectangle" b\\
"frame " "colored rectangle with borders" b\\
"text " "text element" b\\
also fonts
[IFDEF] emoji
    "emoji " "emoji element " "😀🤭😁😂😇😈🙈🙉🙊💓💔💕💖💗💘🍺🍻🎉🎻🎺🎷" bbe\\
................................................................................
previous
"icon " "image from an icon texture" b\\
"image " "larger image" b\\
"animation " "action for animations" b\\
"canvas " "vector graphics (TBD)" b\\
"video " "video player (TBD)" b\\
}}vt
glue*1 }}glue
tex: vp0 glue*1 ' vp0 }}vp vp[]
$FFBFFFFF to slider-color
font-size# f2/ f2/ to slider-border
dup font-size# f2/ fdup vslider
}}h box[]
}}v box[] >bdr
}}z box[]
/flip dup >slides
................................................................................

\ page 7
{{
$BFFFFFFF pres-frame
{{
"ΜΙΝΩΣ2 Boxes" /title
{{
"Just like " }}text \LaTeX ", boxes arrange widgets/text" }}text glue*1 }}h box[]
>bl
\skip
vt{{
"hbox " "Horizontal box, common baseline" b\\
"vbox " "Vertical box, minimum distance a baselineskip (of the hboxes below)" b\\
"zbox " "Overlapping several boxes" b\\
"grid " "Free widget placements (TBD)" b\\
"slider " "horizontal and vertical sliders (composite object)" b\\
\skip
"There will be some more variants for tables and wrapped paragraphs" \\
}}vt
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 8
{{
$FFFFBFFF pres-frame
{{
................................................................................
"ΜΙΝΩΣ2 Displays" /title
"Render into different kinds of displays" \\
\skip
vt{{
"viewport " "Into a texture, used as viewport" b\\
"display " "To the actual display" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 9
{{
$BFDFFFFF pres-frame
{{
................................................................................
"icon " "draw items of the icon texture" b\\
"thumbnail " "draw items of the thumbnail texture" b\\
"image " "images with one draw call per image" b\\
"marking " "cursor/selection highlight round" b\\
"text " "text round" b\\
"emoji " "emoji round" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 10
{{
$D4AF37FF pres-frame
{{
................................................................................
"BitCoin " "Shortcomings of a first proof of concept" b\\
"Wealth " "Ethical implication in deflationary systems" b\\
"Proof of " "Trust instead Work" b\\
"BlockChain " "What’s the actual point?" b\\
"Scale " "How to scale a BlockChain?" b\\
"$quid " "Ethical ways to create money" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
{{
glue*1 }}glue
tex: $quid-logo-large
' $quid-logo-large "squid-logo.png" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 11
{{
................................................................................
vt{{
"Commodity ~: " "Objects with inherent value" b\\
"Promissory note: " "Bank created paper for commodity" b\\
"Representative ~: " "Promise to exchange with “standard object” (e.g. gold)" b\\
"Fiat ~: " "No inherent value; promise, if any, as legal tender" b\\
"Legal tender: " "Medium of payment by law" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
{{
glue*1 }}glue
{{
{{
tex: shell-coins
tex: feiqian
tex: huizi
tex: chao
glue*1 }}glue
' shell-coins "shell-coins.png" 0.666e }}image-file drop
glue*1 }}glue
' feiqian "feiqian.png" 0.666e }}image-file drop
glue*1 }}glue
' huizi "huizi.png" 0.666e }}image-file drop
glue*1 }}glue
' chao "chao.jpg" 0.666e }}image-file drop
glue*1 }}glue
}}h box[]
tex: vp1 glue*1 ' vp1 }}vp vp[]
}}v box[] >bdr
}}z box[]
/flip dup >slides

\ page 12
{{
$f4cF57FF pres-frame
................................................................................
"• " "Proof of work: wasteful and yet only marginally secure" b\\
"• " "Inflation is money’s cancer, deflation its infarct" b\\
"• " "Consequences: unstable exange rate, high transaction fees" b\\
"• " "Ponzi scheme–style bubble" b\\
"• " "(Instead of getting Viagra spam I now get BitCoin spam)" b\\
"• " "Can’t even do the exchange transaction on–chain" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
{{
glue*1 }}glue
tex: bitcoin-bubble
' bitcoin-bubble "bitcoin-bubble.png" 0.85e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 13
{{
................................................................................
vt{{
"• " "Huge first mover advantage" b\\
"• " "Already worse wealth distribution than neoliberal economy" b\\
"• " "Huge inequality drives society into servitude, not into freedom" b\\
"• " "No concept of a credit" b\\
"• " "Lightning network also binds assets (will have fees as consequence)" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
{{
glue*1 }}glue
tex: free-market
' free-market "free-market.jpg" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 14
{{
................................................................................
"How? " "Having signed many blocks in the chain gains points" b\\
"Multiple signers " "Not only have one signer, but many" b\\
"Suspicion " "Don't accept transactions in low confidence blocks" b\\
"Idea " "Repeated prisoner’s dilemma rewards cooperation" b\\
}}vt
\skip
"BTW: The attack for double spending also requires a MITM–attack" \\
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 15
{{
$a4df87ff pres-frame
{{
................................................................................
"• " "Lightning Network doesn’t stand an overrun–the–arbiter attack" b\\
"• " "Therefore, the BlockChain itself needs to scale" b\\
\skip
"• " "Introduce double entry booking into the distributed ledger" b\\
"• " "Partitionate the ledgers by coin pubkey" b\\
"• " "Use n–dimensional ledger space to route transactions" b\\
}}vt
glue*1 }}glue
{{
tex: stage1
tex: stage2
' stage1 "ledger-stage1.png" 0.666e }}image-file drop
"   " }}text
' stage2 "ledger-stage2.png" 0.666e }}image-file drop
glue*1 }}glue
}}h box[]
}}v box[] >bdr
{{
glue*1 }}glue
tex: bank-robs-you
' bank-robs-you "bank-robs-you.jpg" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 16
{{
................................................................................
"• " "Concept of mining: Provide difficult and rare work" b\\
"• " "Suggesting: Provide vouchers for free software development sponsorships" b\\
"• " "These vouchers are tradeable on their own" b\\
"• " "Free software is public infrastructure for the information age" b\\
"• " "That way, we can encourage people to sponsor out of self–interest" b\\
"• " "They get a useful and valueable token back" b\\
}}vt
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 17
{{
$FFFFFFFF pres-frame
vt{{
................................................................................
"Literature & Links" /title
{{
"Bernd Paysan " "net2o fossil repository" bi\\
"" "https://fossil.net2o.de/net2o/" bm\\
"Bernd Paysan " "$quid cryptocurrency & SwapDragonChain" bi\\
"" "https://squid.cash/" bm\\
}}vt
glue*1 }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ end
glue-right }}glue
}}h box[]
{{







>
>
>







 







|













|





|








|



|







 







|







 







|









|













|







 







|




|













|







 







|
|







 







|











|







 







|







 







|







 







|


|







 







|


|






|

|

|

|

|

|







 







|


|







 







|


|







 







|







 







|






|



|







 







|







 







|







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
...
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
...
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
...
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
...
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
...
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
...
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
...
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
...
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
...
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
...
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
...
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
...
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
...
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
...
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
...
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
0 Value n2-img
0 Value m2-img
0 Value $q-img

5 Constant n/m-switch
10 Constant m/$-switch

glue new Constant glue-left
glue new Constant glue-right

: >slides ( o -- ) slides[] >stack ;

: glue0 ( -- )
    glue-left  >o 0glue hglue-c glue! o>
    glue-right >o 0glue hglue-c glue! o> ;
: !slides ( nprev n -- )
    over >r
................................................................................
' net2o-logo "net2o-200.png" 0.666e }}image-file Constant net2o-glue
' minos2 "net2o-minos2.png" 0.666e }}image-file Constant minos2-glue
' $quid  "squid-logo-200.png" 0.5e }}image-file Constant $quid-glue

: img ( xt xt -- o ) 2>r
    baseline# 0e to baseline#
    {{ 2r> }}image-tex /right
    glue*l }}glue
    }}v outside[] >o font-size# f2/ to border o o>
    to baseline# ;

: pres-frame ( color -- o1 o2 )
    glue*wh swap slide-frame dup .button1 simple[] ;

{{
{{ glue-left }}glue

\ page 0
{{
$FFFFFFFF pres-frame
{{
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"net2o: GUI, realtime mixnet, $quid" /title
"($quid = Ethical micropayment with efficient BlockChain)" /subtitle
glue*2 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"Bernd Paysan" /author
"34c3, Leipzig #wefixthenet" /location
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o font-size# to border o Value title-page o o>
}}z box[] dup >slides

\ page 1
{{
$FFFFFFFF pres-frame
{{
"Motivation" /title
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
tex: bad-gateway
' bad-gateway "bad-gateway.png" 0.666e }}image-file
Constant bgw-glue /center
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 2
{{
$FF7F7FFF pres-frame
{{
................................................................................
"  “Crypto” now means BitCoin" "🤦🤦🤦🤦🤦🤦" e\\
\skip
"Competition" /subsection
"  faces Stasi–like Zersetzung (Tor project)" \\
\skip
"Solutions" /subsection
"  net2o starts becoming useable" \\
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o o Value snowden-page font-size# to border o o>
}}z box[] /flip dup >slides

\ page 3
{{
$BFFFBFFF pres-frame
{{
................................................................................
"net2o in a nutshell" /title
"net2o consists of the following 6 layers (implemented bottom up):" \\
\skip
{{
vt{{
"2. " b0 blackish "Path switched packets with 2" }}text
"n" }}smalltext >o font-size# -0.4e f* to raise o o>
" size writing into shared memory buffers" }}text  glue*l }}glue }}h box[] >bl
"3. " "Ephemeral key exchange and signatures with Ed25519," b\\
"" "symmetric authenticated encryption+hash+prng with Keccak," b\\
"" "symmetric block encryption with Threefish" b\\
"" "onion routing camouflage probably with AES" b\\
"4. " "Timing driven delay minimizing flow control" b\\
"5. " "Stack–oriented tokenized command language" b\\
"6. " "Distributed data (files, messages) and distributed metadata (DHT)" b\\
"7. " "Apps in a sandboxed environment for displaying content" b\\
}}vt
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 4
{{
$BFFFBFFF pres-frame
{{
"Realtime Mixnet" /title
"Problem with onion routing: Timing correlation" \\
"Problem with mixnets: need to wait for enough messages" \\
"Solution: Fill up the output with constant bandwidth garbage" \\
"and otherwise set up the network as with a mixnet" \\
"Bonus: Evenly distribute packets over a set of mix routes, to get more bandwidth" \\
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 5
{{
$BFBFFFFF pres-frame
{{
................................................................................
"Font to texture: " "Freetype–GL (with own improvements)" b\\
"Image to texture: " "SOIL2 (needs some bugs fixed)" b\\
"Video to texture: " "OpenMAX AL (Android), gstreamer for Linux (planned)" b\\
"Coordinates: " "Single float, origin bottom left" b\\
{{ "Typesetting: " b0 blackish
"Boxes & Glues close to " }}text
\LaTeX
" — including ascender & descender" }}text glue*l }}h box[] >bl
"" "Glues can shrink, not just grow" b\\
"Object System: " "extremely lightweight Mini–OOF2" b\\
"Class number: " "Few classes, many possible combinations" b\\
}}vt
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 6
{{
$FFBFFFFF pres-frame
{{
"ΜΙΝΩΣ2 Widgets" /title
"Design principle is a Lego–style combination of many extremely simple objects" \\
{{ {{ vt{{
"actor " "base class that reacts on all actions (clicks, touchs, keys)" b\\
"widget " "base class for all visible objects" b\\
{{ "edit " b0 blackish "editable text element " }}text
\chinese "复活节快乐!" }}edit dup Value edit-field glue*l }}glue }}h edit-field edit[] >bl
\latin \normal "glue " "base class for flexible objects" b\\
"tile " "colored rectangle" b\\
"frame " "colored rectangle with borders" b\\
"text " "text element" b\\
also fonts
[IFDEF] emoji
    "emoji " "emoji element " "😀🤭😁😂😇😈🙈🙉🙊💓💔💕💖💗💘🍺🍻🎉🎻🎺🎷" bbe\\
................................................................................
previous
"icon " "image from an icon texture" b\\
"image " "larger image" b\\
"animation " "action for animations" b\\
"canvas " "vector graphics (TBD)" b\\
"video " "video player (TBD)" b\\
}}vt
glue*l }}glue
tex: vp0 glue*l ' vp0 }}vp vp[]
$FFBFFFFF to slider-color
font-size# f2/ f2/ to slider-border
dup font-size# f2/ fdup vslider
}}h box[]
}}v box[] >bdr
}}z box[]
/flip dup >slides
................................................................................

\ page 7
{{
$BFFFFFFF pres-frame
{{
"ΜΙΝΩΣ2 Boxes" /title
{{
"Just like " }}text \LaTeX ", boxes arrange widgets/text" }}text glue*l }}h box[]
>bl
\skip
vt{{
"hbox " "Horizontal box, common baseline" b\\
"vbox " "Vertical box, minimum distance a baselineskip (of the hboxes below)" b\\
"zbox " "Overlapping several boxes" b\\
"grid " "Free widget placements (TBD)" b\\
"slider " "horizontal and vertical sliders (composite object)" b\\
\skip
"There will be some more variants for tables and wrapped paragraphs" \\
}}vt
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 8
{{
$FFFFBFFF pres-frame
{{
................................................................................
"ΜΙΝΩΣ2 Displays" /title
"Render into different kinds of displays" \\
\skip
vt{{
"viewport " "Into a texture, used as viewport" b\\
"display " "To the actual display" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 9
{{
$BFDFFFFF pres-frame
{{
................................................................................
"icon " "draw items of the icon texture" b\\
"thumbnail " "draw items of the thumbnail texture" b\\
"image " "images with one draw call per image" b\\
"marking " "cursor/selection highlight round" b\\
"text " "text round" b\\
"emoji " "emoji round" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 10
{{
$D4AF37FF pres-frame
{{
................................................................................
"BitCoin " "Shortcomings of a first proof of concept" b\\
"Wealth " "Ethical implication in deflationary systems" b\\
"Proof of " "Trust instead Work" b\\
"BlockChain " "What’s the actual point?" b\\
"Scale " "How to scale a BlockChain?" b\\
"$quid " "Ethical ways to create money" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
{{
glue*l }}glue
tex: $quid-logo-large
' $quid-logo-large "squid-logo.png" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 11
{{
................................................................................
vt{{
"Commodity ~: " "Objects with inherent value" b\\
"Promissory note: " "Bank created paper for commodity" b\\
"Representative ~: " "Promise to exchange with “standard object” (e.g. gold)" b\\
"Fiat ~: " "No inherent value; promise, if any, as legal tender" b\\
"Legal tender: " "Medium of payment by law" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
{{
glue*l }}glue
{{
{{
tex: shell-coins
tex: feiqian
tex: huizi
tex: chao
glue*l }}glue
' shell-coins "shell-coins.png" 0.666e }}image-file drop
glue*l }}glue
' feiqian "feiqian.png" 0.666e }}image-file drop
glue*l }}glue
' huizi "huizi.png" 0.666e }}image-file drop
glue*l }}glue
' chao "chao.jpg" 0.666e }}image-file drop
glue*l }}glue
}}h box[]
tex: vp1 glue*l ' vp1 }}vp vp[]
}}v box[] >bdr
}}z box[]
/flip dup >slides

\ page 12
{{
$f4cF57FF pres-frame
................................................................................
"• " "Proof of work: wasteful and yet only marginally secure" b\\
"• " "Inflation is money’s cancer, deflation its infarct" b\\
"• " "Consequences: unstable exange rate, high transaction fees" b\\
"• " "Ponzi scheme–style bubble" b\\
"• " "(Instead of getting Viagra spam I now get BitCoin spam)" b\\
"• " "Can’t even do the exchange transaction on–chain" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
{{
glue*l }}glue
tex: bitcoin-bubble
' bitcoin-bubble "bitcoin-bubble.png" 0.85e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 13
{{
................................................................................
vt{{
"• " "Huge first mover advantage" b\\
"• " "Already worse wealth distribution than neoliberal economy" b\\
"• " "Huge inequality drives society into servitude, not into freedom" b\\
"• " "No concept of a credit" b\\
"• " "Lightning network also binds assets (will have fees as consequence)" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
{{
glue*l }}glue
tex: free-market
' free-market "free-market.jpg" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 14
{{
................................................................................
"How? " "Having signed many blocks in the chain gains points" b\\
"Multiple signers " "Not only have one signer, but many" b\\
"Suspicion " "Don't accept transactions in low confidence blocks" b\\
"Idea " "Repeated prisoner’s dilemma rewards cooperation" b\\
}}vt
\skip
"BTW: The attack for double spending also requires a MITM–attack" \\
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 15
{{
$a4df87ff pres-frame
{{
................................................................................
"• " "Lightning Network doesn’t stand an overrun–the–arbiter attack" b\\
"• " "Therefore, the BlockChain itself needs to scale" b\\
\skip
"• " "Introduce double entry booking into the distributed ledger" b\\
"• " "Partitionate the ledgers by coin pubkey" b\\
"• " "Use n–dimensional ledger space to route transactions" b\\
}}vt
glue*l }}glue
{{
tex: stage1
tex: stage2
' stage1 "ledger-stage1.png" 0.666e }}image-file drop
"   " }}text
' stage2 "ledger-stage2.png" 0.666e }}image-file drop
glue*l }}glue
}}h box[]
}}v box[] >bdr
{{
glue*l }}glue
tex: bank-robs-you
' bank-robs-you "bank-robs-you.jpg" 0.666e }}image-file drop /right
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 16
{{
................................................................................
"• " "Concept of mining: Provide difficult and rare work" b\\
"• " "Suggesting: Provide vouchers for free software development sponsorships" b\\
"• " "These vouchers are tradeable on their own" b\\
"• " "Free software is public infrastructure for the information age" b\\
"• " "That way, we can encourage people to sponsor out of self–interest" b\\
"• " "They get a useful and valueable token back" b\\
}}vt
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ page 17
{{
$FFFFFFFF pres-frame
vt{{
................................................................................
"Literature & Links" /title
{{
"Bernd Paysan " "net2o fossil repository" bi\\
"" "https://fossil.net2o.de/net2o/" bm\\
"Bernd Paysan " "$quid cryptocurrency & SwapDragonChain" bi\\
"" "https://squid.cash/" bm\\
}}vt
glue*l }}glue
}}v box[] >bdr
}}z box[] /flip dup >slides

\ end
glue-right }}glue
}}h box[]
{{

Changes to doc/ft2018-presentation.fs.

213
214
215
216
217
218
219


220
221
222
223
224
225
226
\ page 0
{{
$FFFFFFFF pres-frame
{{
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"net2o: ΜΙΝΩΣ2 GUI, $quid “crypto”" /title
"($quid = Ethisches Micropayment mit effizienter BlockChain)" /subtitle


glue*2 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"Bernd Paysan" /author
"Forth–Tagung 2018, Essen" /location
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o font-size# to border o Value title-page o o>
}}z box[] dup >slides








>
>







213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
\ page 0
{{
$FFFFFFFF pres-frame
{{
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"net2o: ΜΙΝΩΣ2 GUI, $quid “crypto”" /title
"($quid = Ethisches Micropayment mit effizienter BlockChain)" /subtitle
\ {{ blackish \tiny s" Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." }}text glue*l }}glue }}p
\ dpy-w @ .666e fm* dup .par-split /center
glue*2 }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
"Bernd Paysan" /author
"Forth–Tagung 2018, Essen" /location
glue*l }}glue \ ) $CCDDDD3F 4e }}frame dup .button1
}}v box[] >o font-size# to border o Value title-page o o>
}}z box[] dup >slides