Voorintekenen: ons nieuwe boek “Software: Deskundig en praktisch juridisch advies”

Over een week of drie te koop: ons boek Software: Deskundig en praktisch juridisch advies. Met dank aan alle reageerders die onderwerpen aandroegen. (En ik had nog een vraag aan jullie, hieronder.)

Hoofdstuk 1. Software juridisch bekeken<br/> Bescherming van een idee <br/> De geschiedenis van software <br/> De keuze van de juiste bescherming <br/> De grenzen opgezocht<br/> Octrooi op computerprogramma’s<br/> De opkomst van open source<br/> Software als dienst<br/>

Hoofdstuk 2. Auteursrecht op software<br/> Eigen intellectuele schepping<br/> Rechten op grond van software-auteursrecht<br/> Backups van software<br/> Reverse engineeren en decompileren<br/> Handhaving en naleving<br/> De rechthebbende op software<br/>

Hoofdstuk 3. Softwarelicenties<br/> Het sluiten van licentieovereenkomsten<br/> De bindendheid van licentievoorwaarden<br/> Belangrijke licentievoorwaarden<br/>

  • Geautoriseerd gebruik en doel
  • Betaling of andere tegenprestatie
  • Beperkingen van aansprakelijkheid
  • Exportrestricties
  • Aanpassen van de voorwaarden
  • Toegang tot broncode
  • Overdraagbaarheid van de licentie
  • Duur en opzegging
Licentie versus overdracht van auteursrecht<br/>

Hoofdstuk 4. Softwareontwikkeling juridisch bekeken<br/> Overeenkomst van opdracht<br/> Oplevering en aanvaarding<br/> De positie van standaardcomponenten <br/> Onderhoudscontracten<br/> Fouten, bugs en conformiteit<br/> Omgaan met mislukkingen <br/>

Hoofdstuk 5. Octrooi op software<br/> Octrooieerbaarheid van software <br/> De procedure om octrooi te krijgen <br/> Europees octrooi <br/> De kosten van een octrooi <br/> Het nut van een octrooi <br/> Wel of geen octrooi? <br/>

Hoofdstuk 6. Open source software <br/> Uitgangspunten van open source <br/> Soorten open source <br/> GPL versie 3 <br/> Werken met open source <br/> Afgeleide werken <br/> Unieke risico’s, unieke kansen <br/>

Hoofdstuk 7. Software in de wolken<br/> Licentieovereenkomsten bij cloud computing <br/> Support en ondersteuning <br/> Het maken van backups <br/> Eigendom van data <br/> Privacy en persoonsgegevens <br/> Softwaredienstverlening en faillissement <br/>

Onze ontwerpster Jolie is nu druk bezig met de vormgeving. Een preview:

software-boek-preview-p10.png

Het boek gaat 19,95 kosten. Wie voorintekent, betaalt geen verzendkosten. Wie nog leuke promotie-acties weet: ik houd me aanbevolen!

En nu de vraag terug, want zo’n aankondigblog is misschien wat saai. Ik hoor veel over Bitcoin maar ik kan maar moeilijk ontdekken hoe dat nu moet gaan werken. Is er ergens een begrijpelijke uitleg van de techniek? Zodra ik het snap, zal ik bloggen of dit legaal in te zetten is in Nederland 🙂

Arnoud

58 reacties

  1. Ik kwam het verst met deze http://www.technologyreview.com/computing/37619/ Het komt erop neer dat je zelf Bitcoins kan maken door ze letterlijk uit te rekenen maar dat schaarste wordt geborgd doordat priemgetallen schaars zijn. Je moet Bitcoints “vinden” met een rekencapaciteits-intensief algoritme. Transacties e.d. worden simpelweg geborgd door alle transacties publiek te maken, wat ik niet erg handig vind maar goed.

    Overigens ben ik helemaal niet zo van het milieu maar ben ik wel benieuwd hoeveel stroom er nodig is om een Bitcoin te maken. EDIT gevonden best een hoop en het wordt alleen maar meer http://forum.bitcoin.org/index.php?topic=8481.0

  2. Die Bitcoin, is dat niet gewoonweg een soort van ruilhandel. Vergelijk het met het jubileummuntje van je lokale winkelcentrum. Ding is geen cent waar, behalve bij aangesloten winkels. Dan is ie ineens 5 euro waard. Dat is ook legaal.

    Als ik jou een dienst lever en ik accepteer die bitcoins dan mag jij daar mee betalen. Daar heeft een wetgever mijn inziens weinig mee van doen.

  3. @Arnoud

    Er zijn een aantal exchanges waar je euro’s of dollars kunt ruilen voor bitcoins (en vice versa). MtGox.com is denk ik de grootste / bekendste. (Volume staat er op dit moment op 19781, als ik het goed begrijp is dat het aantal bitcoins dat geruild is op die site in de afgelopen 24 uur, dat is iets meer dan 170000 USD).

  4. Ik zie de bitcoins vooral als een schaarse commodity, waar je dan vervolgens een economie op kan baseren. De rol die goud lang vervuld heeft.

    In zekere zin zoals goud: – Er is een eindige hoeveelheid van (cryptografisch bewezen). – Allebei geen intrinsieke waarde, alleen wat de gek ervoor geeft. – Het ‘minen’ van nieuwe bitcoins/goudkorrels zou ongeveer netzoveel aan materiaal/energie kosten als de bitcoins/goudkorrels waard zijn (uiteindelijk).

    In zekere zin beter dan goud: – Bitcoins hebben /echt/ geen intrinsieke waarde. Goud kan nog gebruikt worden in electronica etc. – Bitcoins kun je wereldweid verzenden zonder problemen. (Een van de redenen waarom we tbv bedrijven als VOC het goud hebben afgeschaft, afaik.)

    De bitcoin mensen zelf zijn erg huiverig om het geld te noemen volgens mij. Want je eigen geld invoeren is vrijwel overal verboden. Ruilhandel overigens ook, maar daar wordt wat minder hard tegen opgetreden.

    Het wisselen van bitcoins tegen geld gebeurt gewoon door onafhankelijke bedrijfjes, per definitie. Want er is geen centrale organisatie die dat zou kunnen regelen zoals met Linden dollars. Of verbieden.

    Het is nu nog een beetje loos allemaal, want die ‘economie’ uit mijn eerste zin bestaat nog nauwlijks. De waarde van de bitcoins is dus puur gebaseerd op het vertrouwen van mensen dat die economie er ooit wel van komt.

    Ik heb ooit een dvd verkocht voor 30 bc, toen 3 euro. Nu 30 euro geloof ik! Maar dat kostte me zoveel moeite dat ik er maar niet mee ben doorgegaan. Misschien dat de markt nu inmiddels wat meer spelers heeft die daadwerkelijk waarde toevoegen.

    De legaliteitsvraag is wel interesant. Afaik is ruilhandel verboden in de EU, dus bitcoins ook.

  5. @Arnoud #4, Heeft Second Life eigenlijk wel een AFM vergunning? 🙂

    @Robert #5, niet correct. Het aantal priemgetallen is minder dan oneindig! Maar het komt wel aardig in de buurt van oneindig. 🙂

    Wel lastig dat we nog drie weken moeten wachten. 🙂 Overigens, verkoop je ze ook gesigneerd? 😉 Zou je eigenlijk kunnen doen: de eerste 100 boeken signeren. Kijken of dat een extra run oplevert…

  6. @Wim: Ik dacht dat het in- en verkopen van Linden dollars via andere bedrijven ging en niet via Linden Labs zelf?

    En waar baseer je op dat er minder dan oneindig veel priemgetallen zijn? Het is lang geleden hoor maar de Stelling van Euclides zegt het tegendeel. Natuurlijk, binnen het aantal bits dat een computer kan accommoderen zijn er maar eindig veel.

    En ja ik kan er niks aan doen, het boek moet worden opgemaakt en gedrukt…

  7. Wel, het aantal getallen is oneindig, maar het aantal priemgetallen is maar een subset van dit oneindige aantal. Dus is het minder dan oneindig. Het aantal getallen is altijd meer dan het aantal priemgetallen. Maar goed, Euclides heeft ook een goed punt, maar logisch beredeneert klopt er niets van zijn stelling! 🙂 Maar misschien kun je beiden stellen. Het aantal priemgetallen is zowel oneindig als minder dan oneindig. 🙂 Hebben we beiden gelijk.

    Betreffende het kopen van Linden Dollars, dat gaat ook via de website van SL zelf! En vanuit het spel zelf! Of een ander bedrijf dit verder afhandelt weet ik niet maar kopen gaat via deze link en verkopen via deze link. Het heet de LindeX??? exchange en is al heel lang onderdeel van de SecondLife site zelf.

  8. @wim er zijn dus niet een oneindig aantal even getallen, het aantal even getallen is een subset van het (oneindige) aantal natuurlijke getallen?

    “oneindigheden” vergelijken zoals jij dat doet werkt niet zo in de wiskunde. Wel zijn er verschillende soorten oneindigheid. Zie bijvoorbeeld http://en.wikipedia.org/wiki/Aleph_number. In het geval van natuurlijke- en priemgetallen zijn het beiden aleph-0, telbaar oneindig.

  9. Wim: Eindig betekent het dat het een keer ophoud. Oneindig betekend dat het nooit ophoud. Als ik jou vraag wat het grootste getal en jij zegt b.v. 1000, dan kan ik antwoorden dat ik nog wel een groter getal weet namelijk 1001. Dat zelfde gaat ook op met priem getallen. De vraag “wat is het grootste getal?” moet dus beantwoord als volgt beantwoord worden: dat bestaat niet!

  10. Ach, er zijn gewoon twee soorten oneindig. Tel je het aantal gehele getallen dan is het aantal oneindig. Tel je het aantal priemgetallen dan is dat aantal ook oneindig. Maar alle priemgetallen zijn positieve, gehele getallen maar niet alle gehele getallen zijn priemgetallen. De set priemgetallen, hoe oneindig dan ook, is dus kleiner dan het aantal gehele getallen. Maar goed, het is ook meer taalkundig dan wiskundig. Brengt natuurlijk ook een interessant, wiskundig probleem naar voren, want hoeveel is oneindig minus oneindig? Als je het aantal priemgetallen (oneindig) aftrekt van het aantal gehele getallen (ook oneindig) dan hou je een oneindig aantal niet-priemgetallen over. Dus oneindig minus oneindig is oneindig. Of niet?

  11. Dit probleem wat Wim “taalkundig” noemt, en niet “wiskundig” is wiskundig anders aardig goed opgelost. Alleen niet noodzakelijk op een manier die altijd heel intuitief is (maar ja, er is niet een echt intuitieve manier, dus ach). Wiskundig gezien noemen we twee verzamelingen A en B even groot als je een “bijectie” kunt maken, dat betekent dat we de elementen van A en B paarsgewijs aan elkaar koppelen (dus elk element van A is verbonden met precies 1 element van B en andersom). Op deze manier is de verzameling priemgetallen even groot als de verzameling gehele getallen. En Wim’s uitspraak dat het er toch echt minder zijn vertalen we door te zeggen dat de verzameling priemgetallen een stricte deelverzameling is van de verzameling gehele getallen. De wiskunde heeft dus taal ontwikkelt waarmee beide vergelijkingen goed te maken zijn. (Overigens moet je die taal natuurlijk maar net kennen ;-).) Zie ook de links bij andere reacties.

  12. @Fokko, duidelijke taal. De set priemgetallen P komt wel voor in de verzameling gehele getallen, maar de verzameling gehele getallen G komt niet volledig voor in de verzameling priemgetallen! We kunnen dus alle P elementen koppelen aan de G elementen, maar dan blijven er nog G elementen over die niet aan P elemeten te koppelen zijn. P is een deelverzameling dus de set G is dus groter dan de set P. Of P is kleiner dan G. Dat is het leuke van werken met oneindig. Natuurlijk is het aantal priemgetallen oneindig. Euclides heeft gelijk. Maar het aantal gehele getallen is oneindiger. 🙂

    Tja, de logica van een software ontwikkelaar, he. 🙂

  13. Volgens mij is het antwoord: ongedefinieerd. Oneindig gedeeld door nul is ook ongedefinieerd.

    Ah, dat maakt het interessanter! 🙂 Maar goed, computers hebben dit al vrij practisch geregeld omdat de numerieke processor naast de standaard getallen ook de getallen +INF, -INF en NAN kent. INF (infinity) is dus oneindig en NAN is ‘Not A Number’ ofwel ongedefinieerd. En voor rekenen met deze waardes kent de processor dus ook speciale regels. Aan de andere kant, getallen bij computers zijn eindig. Computers kennen geen oneindig grote cijfers want daarvoor hebben ze niet genoeg geheugen. Wat je bij computers krijgt als je de hoogste waarde plus 1 doet, is de laagste waarde plus een overflow flag die wordt gezet. Hoewel, bij floating-points steeds 1 optellen eindigt op een gegeven moment in een vaste waarde omdat het getal dusdanig groot wordt dat de processor de precisie ervan verliest en de eenheden niet meer bijhoudt om de rest van het getal nog maar te kunnen onthouden. En dan kun je oneindig vaak 1 erbij optellen maar die waarde verandert niet meer. Mensen vergeten het wel eens maar wiskunde is best belangrijk voor ICTers, zeker als ze programmeerwerk willen verrichten. Er gebeuren namelijk bijzondere dingen zodra je met grote nummers gaat werken die lang niet iedereen goed overziet. En als je ermee de fout in gaat dan krijg je soms hele rare resultaten. 🙂

  14. BertBert heeft het knap samengevat. Het grappige van bitcoin is dat het echt helemaal decentraal is: er is geen centrale bank die de bitcoins uitgeeft i.t.t. vroegere digitaal geld. Omwisselen naar “echt” geld doen speculanten die denken dat het inderdaad meer waard gaat worden (interessant detail: je kunt aan de transacties al zien dat er geautomatiseerde en handmatige traders zijn). Ik denk dat voor de wettelijke regels die gericht zijn op stabiliteit en betrouwbaarheid, er simpelweg geen organisatie is om aan te pakken (tenzij je het P2P netwerk als geheel als organisatie aanmerkt).

    Wat denk ik ook relevant is, is dat de bitcoin-“geld”stroom niet anoniem maar pseudoniem is, i.e. je kunt aan een bitcoin die je ontvangen hebt, een deel van de historie zien van zijn route. Het overdragen van een bitcoin is in de vorm van een soort digitaal contract, waarin staat welke public key naar welke public key een bedrag overmaakt. Voor de wettelijke regels die zoeken naar witwassen en belasting ontduiken, lijken me een hoop zaken wel geregeld als je die public keys aan personen linkt (net als rekeningnummers aan personen/bedrijven).

    Overigens in de discussies over priemgetallen: dat is hier voor bitcoin minder relevant (en dat is juist het grappige voor mij van het systeem): Je maakt een bitcoin (nu ja, 50 in 1 keer) door het geluk te hebben een blok data te genereren waarvan de SHA256 hash begint met x nullen. Dat kost ongelooflijk veel rekenkracht (performance wordt gerekend in veelvouden van 10.000.000 hashes/seconde, mijn minisupercomputer ehh grafische kaart doet 2×50.000.000 hashes/seconde) en de bodem van de kosten om bitcoins te drukken is dus inderdaad stroomkosten. Alleen het bitcoins overdragen gaat met standaard priem-gebaseerde handtekeningen.

  15. Ben ik wel benieuwd waarom gplv3 expliciet genoemd wordt en geen andere licenties. Ik neem aan dat licenties zoals BSD ook besproken worden?

    Daarnaast zou ik van de gelegenheid gebruik willen maken te vragen naar het verschil tussen ’to convey’ en ’to distribute’. Naar verluid zou hier – juridisch gezien – een verschil tussen moeten zitten, maar die kon ik niet vinden…

  16. con·vey???[kuhn-vey] ???verb (used with object) 1. to carry, bring, or take from one place to another; transport; bear. 2. to communicate; impart; make known: to convey a wish. 3. to lead or conduct, as a channel or medium; transmit.
    en
    dis·trib·ute -verb \di-??stri-byüt also -by??t British also ??dis-tri-??byüt\ dis·trib·ut·eddis·trib·ut·ing 1. to divide among several or many : apportion 2a. to spread out so as to cover something : scatter 2b. to give out or deliver especially to members of a group
    2c. to place or position so as to be properly apportioned over or throughout an area 2d. to use (a term) so as to convey information about every member of the class named 3a. to divide or separate especially into kinds 3b. to return the units of (as typeset matter) to storage 4. to use in or as an operation so as to be mathematically distributive
    Dus, ’to convey’ is het verplaatsen van A naar B. Het overbrengen van iets, waarbij het wel bij elkaar blijft. En ’to distribute’ is meer het verdelen van iest over meerdere plaatsen. Het verschil is dus het verschil tussen verplaatsen en verdelen. Dus verschillende betekenissen, wat ook juridisch het geval is, natuurlijk… 🙂

  17. Ja, ook BSD, Mozilla en (L)GPLv2 worden besproken. Ik heb GPLv3 uitgelicht omdat deze zó veel nieuwe en opmerkelijke dingen bevat dat hij echt niet onder een subkopje paste.

    In GPLv3 is gekozen voor eigen terminologie met neutrale definities om zo mogelijk te maken dat bij elk rechtssysteem aangesloten kan worden. Onze auteurswet noemt bijvoorbeeld ‘distributie’ niet maar alleen “openbaarmaken” en “verveelvoudigen”. Je moet dan in jurisprudentie zoeken of het verspreiden van een digitale kopie een openbaarmaking is (ja, dat is zo).

    To ???convey??? a work means any kind of propagation that enables other parties to make or receive copies.

    waarbij dan “propagation” weer is een handeling die onder auteursrechteninbreuk valt (afgezien van het laden, in beeld brengen of voor eigen gebruik aanpassen). Vanwege de term voor “secondarily liable” kan hiermee ook handelen dat indirecte inbreuk oplevert worden aangepakt. Zo is het beschikbaar stellen van een torrentbestand in de VS als snel secondary liability, zodat je handelen valt onder “propagation” en ook onder “conveyance”. Wie dus torrents aanbiedt naar GPLv3 code, moet ook een torrent met de broncode erbij zetten (maar zie 6e voor dit speciale geval).

    In Nederland is het aanbieden van een torrentbestand géén inbreuk maar (indien het structureel gebeurt) slechts onrechtmatig. Daarmee krijgt een torrentaanbieder die naar GPLv3 code verwijst, geen GPLv3 verplichtingen op zich.

  18. @Bram Of een soort flashspelletje waarbij je dan je email login/ww kan invullen om je vrienden ook uit te nodigen voor het spel. Dan kan Arnoud in het uitnodigingsmailtje reclame maken voor z’n boek, of gewoon in een opvolgmailtje!

    Of: Boek (laten) verspreiden op torrentsites/4chan/nieuwsgroepen en dan willekeurige mensen gaan aanklagen. En je dan heel billijk opstellen, dan kun je zo een buzz genereren waar je zelf positief uit naar voren komt. Iets als: “Ik voel me vereerd dat jullie dit boek zo geweldig vinden dat jullie het met elkaar willen delen. Het boek is echter bedoeld om als papier te lezen, het komt (vind ik) gewoon niet tot z’n recht van een scherm. Als ik het digitaal had willen uitbrengen, dan had ik dat wel gedaan. Iedereen die het illegaal gedownload heeft, geef ik gratis verzendkosten als ze het alsnog kopen.”

  19. @Wim Het aantal priemgetallen is oneindig, zoals Euclides indertijd al zeer elegant heeft bewezen. Sterker nog, er zijn evenveel natuurlijke getallen als er priemgetallen zijn! Net zoals de verzameling natuurlijke getallen even groot is als het aantal gehele getallen (dus positief en negatief). Doordat beide verzamelingen aftelbaar oneindig zijn, kun je een totale bijectie definiëren op beide verzamelingen (zie, zoals Arnoud ook al opmerkte, Hilberts hotel)!

    Om je een idee te geven, zij f : N -> Z een totale, bijectieve functie van de natuurlijke getallen (incl. 0) naar de gehele getallen, zodat f(0) = 0, f(2n + 1) = n en f(2n) = -n. Ofwel, oneven getallen worden afgebeeld op een positief getal (> 0), even getallen op een negatief getal (Het getal 0 is even noch oneven). Deze functie is totaal en bijectief, ofwel een 1-op-1 mapping. Er zijn dus evenveel getallen in beide verzamelingen!

    Eenzelfde functie kun je definiëren tussen de priemgetallen en natuurlijke getallen, maar dat wordt hier onleesbaar…

    Wiskundig zijn de verzamelingen dus even groot. Uiteraard geldt dat in veel programmeertalen de verzamelingen Integers of Long eindige deelverzamelingen zijn, en dan gaat deze vlieger natuurlijk niet op. (Er zijn trouwens een aantal programmeertalen waar deze verzamelingen echt oneindig zijn!)

    @Alex, Oneindigheid vereist een aparte algebra om mee te werken. In deze algebra, vaak een uitbreiding op de reële getallen, wordt oneindig – oneindig inderdaad niet gedefinieerd. Deze algebra wordt Affinely Extended Real Numbers genoemd.

  20. @Jan, ja en nee. Het aantal priemgetallen is oneindig maar desondanks zijn er meer gehele getallen dan priemgetallen. Een totale bijectie is namelijk niet mogelijk, want b.v. alle even getallen behalve 2 komen niet voor in de lijst van priemgetallen, maar wel tussen de gehele getallen. Sterker, als je alle priemgetallen afhaalt van alle gehele getallen hou je alle niet-priemgetallen over, en ook dat aantal is oneindig. Wiskundig gezien zijn beide sets oneindig, maar de set gehele getallen is een grotere set dan de priemgetallen omdat deze elementen kent die niet tot de priemgetallen behoren. Hetzelfde heb je met de verzameling even getallen, die ook oneindig is maar desondanks kleiner dan de verzameling gehele getallen. Want de verzameling gehele getallen minus de even getallen is de verzameling oneven getallen. De priemgetallen en oneven getallen zijn beiden injections op de verzameling gehele getallen. Maar het is geen bijection. En wat de even getallen en de priemgetallen tegenover elkaar zijn? Het enige wat ze delen is het cijfer 2. Als je zou kijken naar het aantal priemgetallen dat tevens oneven getallen zijn dan wordt het interessanter want dat zijn alle priemgetallen minus 1 getal. Dus dis is zelfs geen injection, want beide sets hebben elementen die de ander niet heeft. Verder, ook 0 is geen priemgetal. En negatieve getallen zijn ook geen priemgetallen, maar weer wel gehele getallen. Priemgetallen zijn meer een subset van alle natuurlijke getallen. Wordt ook leuk als we er rationele getallen bij halen. Want dan heb je tussen iedere twee opvolgende, gehele getallen een oneindig aantal breuken zitten. Als programmeur moet ik al heel lang in sets denken en geloof mij, het is soms complexer dan je denkt. 🙂 Kunnen rekenen met verzamelingen is iets waar je al snel door de bomen het bos niet meer ziet… 😉 Op Wikipedia is er ook het een en ander na te lezen onder Overaftelbaarheid. Het gaat hierbij om de kardinaliteit en die is te bepalen, ook bij oneindige aantallen. De kardinaliteit van gehele getallen is groter dan die van de priemgetallen. Bij Reele getallen is dit via de Diagonaalbewijs van Cantor bewezen. Uiteindelijk is de verzameling reele getallen de grootste verzameling. Door middel van kardinaliteit kun je dus alsnog oneindige verzamelingen met elkaar vergelijken.

  21. @Wim, dan moet ik je toch teleurstellen, gegeven een aftelbaar oneindige verzameling, zeg S, dan is tussen iedere oneindige deelverzameling van S en S zelf een totale bijectieve functie te definiëren. Dit betekent dat de verzameling van alle even getallen, alle oneven getallen, priemgetallen, welke alle oneindige deelverzamelingen zijn van de natuurlijke getallen, even groot zijn als de natuurlijke getallen (zelfde kardinaliteit hebben). De rationele getallen zijn ook aftelbaar oneindig, ofwel de verzameling is even groot als het aantal natuurlijke getallen. Ik geef toe, de functies zien er dan nogal vreemd uit (de functie f zoals in mijn vorige post is een van de weinige nog leesbare bijecties). De link die je geeft naar Cantor’s diagonaalbewijs zegt het trouwens ook: er zijn evenveel natuurlijke getallen als er rationele getallen zijn. Hoe vreemd dit ook klinkt…

    Het diagonaalbewijs van Cantor geeft een methode om oneindige verzamelingen te classificeren aan de hand van de kardinaliteit. Deze redenatie laat zien dat bovengenoemde verzamelingen alle dezelfde kardinaliteit hebben. Dit komt doordat ze aftelbaar zijn, en dus even “groot” als de verzameling natuurlijke getallen. Andere verzamelingen zijn echter overaftelbaar: er bestaat dan geen bijectie tussen de natuurlijke getallen en de betreffende verzameling. Twee voorbeelden zijn de reële getallen en de verzameling van alle deelverzamelingen. Beide zijn overaftelbaar, en dus groter dan de natuurlijke getallen.

    Cantor’s diagonaalbewijs zegt het volgende: geef mij twee reële getallen tussen 0 en 1, dan neem ik het gemiddelde van de twee, en heb ik een nieuw getal. Dit kan ik blijven herhalen. Ofwel, een totale bijectie van alle reële getallen tussen 0 en 1 naar de natuurlijke getallen bestaat niet. Een soortgelijk bewijs heb je voor de verzameling van alle deelverzamelingen.

    Dit maakt rekenen en redeneren met oneindige verzamelingen ook zo leuk 🙂

  22. @Jan, waar het om gaat is of priemgetallen en gehele getallen bijectief zijn. Dus dat betekent dat er een formule moet zijn waarmee je voor ieder geheel getal een bijbehorend priemgetal kunt berekenen. Maar hoewel er al veel aannames zijn, is er nog geen formule gevonden die de willekeur van priemgetallen kan berekenen. Wat il wel weet is dit: voor ieder priemgetal dat je ontdekt zijn het oneindig aantal veelvouden van dat priemgetal dus geen priemgetallen. Je genereert dus per priemgetal een oneindig aantal niet-priemgetallen. Vergelijk je dit met reele getallen dan zie je dat er voor ieder nieuw getal er een oneindig aantal andere getallen ontstaan. Dat gebeurt dus ook met priemgetallen want voor ieder priemgetal ontstaan er een oneindig aantal niet-priemgetallen. 🙂

  23. @Wim, het gaat er niet om dat je voor ieder getal het bijbehorende priemgetal kunt berekenen. Het gaat er juist om dat je een bijectieve functie kunt definiëren waarmee je voor ieder natuurlijk getal een priemgetal kunt aanwijzen. En zo’n functie bestaat.

    Zij P de verzameling van alle priemgetallen. Dan is P een oneindige deelverzameling van de natuurlijke getallen (voor het gemak zonder 0). Merk op dat ‘<‘ een totale ordening geeft op zowel P als N. Dit gebruiken we in het bewijs om te laten zien dat beide verzamelingen even groot zijn.

    Thm: P en N hebben dezelfde kardinaliteit.

    bewijs. We moeten laten zien dat een totale bijectie tussen P en N bestaat. Definieer functie g: P -> N als volgt: g(n) = `het n-de priemgetal in P’.

    Deze functie is injectief: geef mij een getal n, en ik kan de verzameling P doorlopen tot ik bij het n-de element ben. Deze geef ik terug.

    De functie is totaal: ik kan dit doen voor iedere n die je me geeft.

    De functie is surjectief. Geef me een priemgetal p. Middels de totale ordening < weet ik waar in de ordening p voorkomt, en dus het hoeveelste element dit is. Dit getal is uniek omdat < een totale ordening is, en kan ik dus retourneren.

    Functie g is dus een totale bijectie. Dus P en N hebben dezelfde kardinaliteit. QED.

    Merk op dat ik in het hele bewijs niet nodig heb hoe ik het n-de priemgetal bereken, enkel dat het bestaat (dat is het mooie van wiskunde). Omdat g een totale bijectie is, hebben P en N dezelfde kardinaliteit.

    Het argument in Cantor’s bewijs is dat je mapping nooit volledig kan zijn. Zoals g laat zien, is dat hier wel het geval.

    edit, grr: ‘<‘ is een html-karakter…

  24. -pre-edit- Jan Martijn was me voor met het bewijs 🙂

    @Wim: Blijft dat je gevoel op niet-oneindige reeksen klopt, de dichtheid priemgetallen neemt af naarmate je hoger komt: de kans dat een nummer N een priem is, is ongeveer 1/ln(N).

    En dat is toch totaal niet relevant in het bewijs dat die twee verzamelingen dezelfde kardinaliteit hebben. Niet alleen juristen kunnen tot contra-intuïtieve resultaten komen 😉

  25. @Jan Martijn: 🙂 Ja dat herken ik wel. (On?)gelukkigerwijs is de ondergrond van juristen niet de strakke logica die wij gewend zijn. Ik weet niet of het er nog steeds is, maar er was een vak bij bedrijfskunde over de “logica van de wetten” en dat was voor mij, als Dijkstra-geïndoctrineerde bewijs-alles-met-strakke-logica informatica student een zeer forse cultuurschok moet ik zeggen. Een inconsistent logisch systeem als basis nemen en daar hele redeneringen in opzetten, dat was … zo wereldvreemd voor me.

    Maar laten we eerlijk zijn: Vanuit beide gebieden lijkt andermans logica soms tot bizarre resultaten te leiden. Een van de redenen om naar Arnoud te luisteren (die immers in beide gebieden kan staan) en steeds die les weer te leren.

  26. @Wouter ik zie dat je dezelfde opleiding in Eindhoven hebt genoten 🙂 Helaas is dat vak in de loop van de tijd ergens gesneuveld, bij mij was er zo’n optie als informaticus helaas niet. Maar goed, met een achtergrond in information systems kom je weer een heel eind…

  27. Hmmm. Okay, maar dan blijft de volgende redenering nog steeds interessant: voor ieder priemgetal P komt er een oneindig aantal niet-priemgetallen bij die door dit priemgetal gedeeld kunnen worden. Als ik uit die reeks niet-priemgetallen een willekeurig getal x kies en het priemgetal op positie x ophaal, dan ontstaat er weer een enorme reeks van niet-priemgetallen. Is natuurlijk de vraag of wat voor de priemgetallen geldt dus ook voor niet-priemgetallen geldt. 🙂 Enne, doe het ongemakkelijk en neem 0 mee. 🙂

  28. Als ik Why I???m Putting All My Savings Into Bitcoin lees, heeft dit toch wel erg veel weg van een piramidespel.

    Bitcoins worden gegenereerd door een hash te zoeken die met een bepaald aantal nullen begint. Wat als een sterke partij nu een variant begint waarbij de hash juist met een aantal enen begint? Wie weet wil iedereen opeens dat soort bitcoins, en de oude bitcoins worden waardeloos…

    Maar misschien kun je het ook vergelijken met LETS. Zolang er vraag en aanbod is, blijft het werken. En er kunnen natuurlijk redenen zijn dat met liever voor LETS werkt dan voor geld.

    -edit Arnoud: Excuses namens het spamfilter voor het onterecht aanmerken als spam. Misschien omdat er spammers al met Bitcoin bezig zijn?-

  29. @Wim er zijn evenveel priemgetallen als niet-priemgetallen (dit laat ik als oefening aan de lezer 🙂 ), maar ja, dat maakt oneindigheid ook zo leuk om te bestuderen. Een favoriet voorbeeld vind ik het volgende: stel je hebt oneindig veel apen, en iedere aap heeft twee bananen. Dan kun je de bananen zo herordenen dat iedere aap precies 1 banaan heeft, er geen bananen over zijn (noch opgegeten). In de natuur is dit onmogelijk, in de wiskunde is dit heel gewoon…

    In het bewijs was 0 gewoon even onhandig. Herdefinieer de functie g als g(n) = `het (n+1)-de element in P’, en je bent klaar, maar dat is gewoon minder elegant. En in wiskunde gaat het juist om elegantie 🙂

    Overigens, tussen ieder tweetal priemgetallen zit maar een eindig aantal niet-priemgetallen: je hebt zowel een onder- als een bovengrens, dus de verzameling is eindig (ook al is deze zeer groot!).

    • edit – Wiskundig begint een ordening altijd bij het 1e element. Informatici — althans van mijn Eindhovense school — tellen graag vanaf 0 (Zie EWD831). Wanneer je in je ordening vanaf 0 telt kun je gewoon de “oude” functie g gebruiken.
  30. Tja, het verschil tussen informatica en wiskunde: de Informatie kent eigenlijk geen oneindige waardes maar moet altijd een bovengrens toekennen waarboven het oneindige begint. Een stapje verder en je krijgt een overflow. Toch is de verhouding priemgetallen vs niet-priemgetallen wel interessant, omdat voor ieder priemgetal een oneindig aantal niet-priemgetallen bestaat. (Namelijk alle veelvouden van dat priemgetal.) het voelt tegennatuurlijk om dan te kunnen stellen dat er evenveel priemgetallen als niet-priemgetallen zijn.

    Maar stel dat we de getalreeksen definieren als eindig. Dat betekent dat je vanaf 0 tot oneindig kunt tellen, maar niet verder. Je hebt dus een hoogste waarde. Eentje verder en er treedt een overflow situatie op. De ‘ERROR’ op je rekenmachine. Binnen een dergelijke, eindige reeks zie je uiteindelijk wel meer niet-priemgetallen dan priemgetallen. Het maakt dan niet uit dat de bovengrens oneindig groot is, omdat je niet voorbij oneindig kunt tellen. Oneindig +1? Oneindig x 42? Sorry, overflows. 🙂 Maar goed, dan moet je dus afspreken dat een getalreeks eindig is. Dat gaat op in de informatica, waar geheugen de beperkingen oplegt, maar niet in de wiskunde.

  31. @Wimmel: Een concurrerende cryptocurrency kan inderdaad catastrofaal zijn voor Bitcoin. Maar hopelijk is het zo goed ontworpen dat er nooit een vervanging hoeft te komen. Als mensen namelijk het vertrouwen verliezen in Bitcoin en de waarde crasht, waarom zouden ze hun geld converteren naar een nieuwe cryptocurrency die ze wel moeten vertrouwen? Er is weinig reden om een concurrerende incompatibele cryptocurrency te vertrouwen, misschien raken mensen hun geld nog wel een keer kwijt.

    @Arnoud:

    Er zitten een hoop nieuwe concepten in Bitcoin, dus dat maakt het complex. Het belangrijkste verschil met normaal geld is de manier van geld geven. Bitcoin weekly heeft een mooi artikel die de met een analogie uitlegt hoe geld van eigenaar wisselt.

    Hierover zit nog een mechanisme om coins te splitten en te joinen. Het geld wordt initieel verdeeld over mensen die hun grafische kaart hard laten werken, tot een maximum van 21 miljoen BTC. Met die berekeningen wordt ook stukje bij beetje de transactiegeschiedenis vastgelegd, zodat het veel rekenkracht kost om een alternatieve geschiedenis te maken. Daar zal geen juridisch probleem zitten denk ik.

    Mensen zijn bang dat staten Bitcoin gaan verbieden. Bitcoin is namelijk bedoeld als valuta, niet louter investering, en belasting innen is moeilijk omdat ze niet of nauwelijks traceerbaar zijn naar mensen.

  32. @ 24: Over het koppelen van Bitcoin public keys aan identiteiten: hoe moet ik dat voor me zien? Moet je dan betalingen weigeren van/naar public keys die niet aan een identiteit gekoppeld zijn? En hoe controleer je of die koppeling juist is? Met digital signatures van de overheid of zo?

    Als zoiets niet verplicht stelt, zullen mensen het niet gebruiken, omdat het geen voordelen biedt. Als je het wel verplicht stelt, creëer je een splitsing tussen een legaal en een illegaal Bitcoin-netwerk.

    Ik ben wel benieuwd naar de juridische aspecten van systemen zoals Bitcoin. Ik kan al die juridisch/financiële teksten niet echt volgen.

    Maakt het echt uit of je het geld noemt of niet? Als het voor de wet uitmaakt hoe je iets noemt, dan is dat een aanwijzing dat de wet immoreel is.

    Is ruilhandel echt verboden? Dat zou toch idioot zijn? Volgens mij heeft werkelijk niemand morele bezwaren tegen ruilhandel. Zo’n verbod kan alleen ontstaan uit politieke belangen, en niet voor het verdedigen van een bepaald moreel principe.

    En is die anonimiteit juridisch gezien echt een probleem? Contant geld (en ruilhandel) maakt anonieme betalingen toch ook mogelijk?

  33. @Corné: Geen idee, dat was mijn vraag/vermoeden, niet mijn eis/mening. Mijn vraag was meer bedoelt als: nu zijn het public keys die de identifier zijn, net als genummerde rekeningen eigenlijk. Even gesteld dat het als geld functioneert, dan lijkt me dat het vooral onder de anti-witwas en anti-belastingontduiking wetten aan komt. Die hebben allemaal als kern dat ze die identifier (je rekeningnummer, ebay accountnaam, je virtual gold ID etc) aan een persoon/bedrijf willen koppelen om dat te controleren, en ze hebben ook allemaal vrij forse straffen op dat ontwijken.

    Dus ik vermoed dat de opsporings-kant die link gaat proberen te leggen. Ergens roepen “mijn bitcoin ID is 0xDEADBEEF…” zou dan leiden tot extra aandacht waar jij ineens moet uitleggen wat je met waarde van die X bitcoins a X*wisselkoerspiek gedaan hebt. Net als met ebay IDs en veel verkopen etc. Maar dat is maar een gok (domweg doortrekken van het idee dat de staat daar controle en vooral belasting over wil hebben, dus dat ze aan die keys personen/bedrijven willen linken om dat te doen).

    En even voor de zekerheid: bitcoin is dus in mijn blik echt pseudoniem, niet anoniem. Je kunt aan de bitcoins zien hoe ze gegaan zijn van public key naar public key (iets wat je met papiergeld niet kunt). Als je public key aan je identiteit gehangen wordt, is daarmee je anonimiteit zeer vergaand weg.

  34. @ 46:

    Als je public key aan je identiteit gehangen wordt, is daarmee je anonimiteit zeer vergaand weg.

    Daar valt wel wat aan te doen, hoor. Het is geen enkel probleem om geautomatiseerd voor jezelf duizenden key pairs aan te maken, en elke key pair aan een klein bedrag te koppelen. Als dan één key pair aan jouw identiteit wordt gekoppeld, dan wordt alleen dat kleine bedrag, inclusief transactie-geschiedenis, aan jou gekoppeld. Die transactie-geschiedenis is pas interessant als van andere partijen in die transacties ook de identiteit bekend is. En zelfs dan: als er tussen jou en die andere partij een heleboel transacties van anonieme partijen zitten, dan is er geen enkel bewijs dat jij iets te maken hebt met die andere partij.

    Vergelijk het met contant geld: het schijnt dat op de meeste dollar-biljetten sporen van cocaïne aanwezig zijn. Als je aangehouden wordt, en de politie vindt sporen van cocaïne op het geld in je portemonnee, dan zegt dat niets over de vraag of je iets met hard drugs te maken hebt. Het is dan waarschijnlijker dat dat biljet ooit van een junkie is geweest, en dat het via-via-via-via bij jou is beland.

    Aangezien de complete transactie-geschiedenis van alle bitcoins openbaar is, is het een interessante vraag of je daaruit met datamining-technieken patronen kunt ontdekken die waarschijnlijk maken dat bepaalde public keys tot de zelfde persoon behoren. Ik denk dat we op dat gebied nog wel een soort wapen-wedloop kunnen verwachten.

  35. @Bram: Bitcoin is voor een groepering als LulzSec inderdaad een handige manier om aan geld te komen. Anderzijds zie je dat betaalnetwerken in fiduciaire valuta (zoals USD en EUR) zonder gerechtelijke tussenkomst in staat zijn om donaties aan groeperingen stop te zetten (zoals gedaan bij WikiLeaks). Juist deze stappen die PayPal en consorten hebben gemaakt hebben veel losgemaakt bij een aantal mensen en daarmee dus voor een deel het Bitcoin-idee gestimuleerd.

    @BertBert: Het feit dat Bitcoin schaars is (dus dat er een eindig aantal van kan bestaan) komt niet voort uit cryptografische eigenschappen, maar is een afspraak. De cryptografische aspecten van Bitcoin zorgen ervoor dat er niet gefraudeerd kan worden: enerzijds zorgt de handtekening onder transacties ervoor dat anderen jouw Bitcoin niet kunnen uitgeven, anderzijds zorgt heeft het hele mining-concept tot doel te voorkomen dat jij Bitcoins in jouw bezit meer dan 1 keer uit kan geven. Als beloning voor de moeite die een computer doet om aan dit laatste onderdeel mee te werken kunnen nieuwe Bitcoins ontstaan (vandaar de naam “mining”). Andere computers in het peer-to-peer netwerk moeten deze nieuwe ontstane Bitcoins wel accepteren en in hoeverre dit gebeurd is vastgelegd in de software en bepaald uiteindelijk hoeveel Bitcoins er in omloop zijn.

    @Wouter Slegers en @Corné: public keys zullen niet altijd te koppelen zijn naar personen. Een individu (of organisatie) kan meer dan 1 key aanmaken. Sterker nog, de oorspronkelijke Bitcoin client genereert een nieuwe key na elke transactie. Wanneer een key publiek wordt gepubliceerd (bijvoorbeeld een “Doneer aan …”) is het mogelijk om deze key aan de individu te koppelen. Die persoon kan echter voor andere transacties andere keys gebruiken. Verder zijn er diensten online waar Bitcoins heen gestuurd kunnen worden en andere Bitcoins terugkomen, zodat de geschiedenis niet meer te linken is. Voor opsporingsinstanties lijkt het me daarom nuttig om niet te lang te wachten met verdiepen in deze materie.

    @Bram: een concurrerend systeem zal wel moeten opboksen tegen de enorme bekendheid die Bitcoin de afgelopen weken / maanden heeft verkregen. Zo’n systeem zit in dezelfde situatie als nieuwe concurrenten voor Facebook. Overigens zou het goed mogelijk zijn dat andere systemen in kleinere markten kunnen floreren, bijvoorbeeld binnen een vereniging of een stad/dorp, juist omdat mensen elkaar kennen en daardoor op een ander niveau kunnen vertrouwen op zo’n systeem. Op wereldwijd niveau denk ik niet dat Bitcoin makkelijk vervangen zal worden, ondanks de beschikbaarheid van alternatieve en mogelijk superieure concepten.

    Verder aan iedereen interesse heeft in Bitcoin: Er bestaat een Nederlands IRC-kanaal over Bitcoin waar mensen aanwezig zijn die vragen kunnen beantwoorden: #bitcoin-nl op het FreeNode netwerk. Daarnaast is onlangs door een van de aanwezigen in dat kanaal de website http://www.bitcoinclub.nl opgericht, waar Nederlands nieuws over Bitcoin verzameld wordt. Een aantal vragen waar we in het IRC-kanaal mee bezig zijn is de vraag of Bitcoin voor de belasting als een valuta is of niet, wat weer invloed heeft op wanneer en welke belasting geheven moet worden (denk aan BTW, persoonlijke belastingen in box 1 en/of box 3).

  36. Bitcoins kunnen worden gejat!

    Een gebruiker claimt dat een onbekende dief zijn virtuele portemonnee met Bitcoins ter waarde van omgerekend circa een half miljoen dollar van zijn computer heeft gestolen. Het is onbekend wie het virtuele geld heeft buitgemaakt.
    De ene dag ben je een halve miljonair, de andere dag weer platzak…

    Vraag me af: als je bitcoins verdient, moet je daar dan niet inkomstenbelasting of zo over betalen? 🙂 Lijkt mij een ideaal middel om geld mee wit te wassen…

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.