<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vertrag Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/vertrag/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/vertrag/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Sun, 16 Apr 2023 10:11:57 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Vertrag Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/vertrag/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Unit Tests &#8211; Fundament für stabile und effiziente Software</title>
		<link>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/</link>
					<comments>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sun, 26 Mar 2023 17:50:20 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Betriebssystem]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[Algorithmen]]></category>
		<category><![CDATA[Algorithmus]]></category>
		<category><![CDATA[Anwendung]]></category>
		<category><![CDATA[Architektur]]></category>
		<category><![CDATA[Auto]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Baustein]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Codebasis]]></category>
		<category><![CDATA[Contract]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Driven]]></category>
		<category><![CDATA[Entwickler]]></category>
		<category><![CDATA[Fehler]]></category>
		<category><![CDATA[Jacoco]]></category>
		<category><![CDATA[Klassen]]></category>
		<category><![CDATA[Kompilierung]]></category>
		<category><![CDATA[Komponenten]]></category>
		<category><![CDATA[Komponententest]]></category>
		<category><![CDATA[Lauffähigkeit]]></category>
		<category><![CDATA[Modul]]></category>
		<category><![CDATA[Modultest]]></category>
		<category><![CDATA[Nachteil]]></category>
		<category><![CDATA[Nachteile]]></category>
		<category><![CDATA[Ops]]></category>
		<category><![CDATA[Produkt]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Testarten]]></category>
		<category><![CDATA[Teststufe]]></category>
		<category><![CDATA[Unit]]></category>
		<category><![CDATA[Unittests]]></category>
		<category><![CDATA[Vertrag]]></category>
		<category><![CDATA[Vorteil]]></category>
		<category><![CDATA[Vorteile]]></category>
		<category><![CDATA[Weise]]></category>
		<category><![CDATA[Zehnerregel]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=1246</guid>

					<description><![CDATA[<p>Ein Unit Test, auch Modul- oder Komponententest bezeichnet, ist ein Test, mit dem man in der Architektur eines Systems einzelne, abgrenzbare Teile (z. B. ausgewählte Codeabschnitte, Module, Unterprogramme, Units oder im Fall objektorientierter Programmierung als &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/26/erklaerung-unit-tests/">Unit Tests &#8211; Fundament für stabile und effiziente Software</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ein Unit Test, auch Modul- oder Komponententest bezeichnet, ist ein Test, mit dem man in der Architektur eines Systems einzelne, abgrenzbare Teile (z. B. ausgewählte Codeabschnitte, Module, Unterprogramme, Units oder im Fall objektorientierter Programmierung als Klassen), meist auf niedrigster Ebene überprüft. Ziel dieser häufig durch den Softwareentwickler selbst durchgeführten Softwaretests ist, deren technische Lauffähigkeit und die Korrektheit ihrer fachlichen (Teil-)Ergebnisse nachzuweisen.</p>



<p>Man verwendet den Ausdruck Modultest unter anderem bei frühen Teststufen, in denen man die inneren, detailliertesten Komponenten der Software testet. Gemäß Software Validation &amp; Verification Plan sind diese Tests nur für Module mit geringer Kritikalität nicht notwendig. Im Grunde genommen bei Fehlern, die dem User nur geringfügige Unannehmlichkeiten bereiten.</p>



<p>In einer Abstraktion der verwendeten Programmiersprache, spricht man von Komponente oder Softwarebaustein. Den Test eines solchen einzelnen Softwarebausteins bezeichnet man auch allgemeiner als Komponententest.</p>



<p>Als Testbasis kann man in der Regel die komponentenspezifische Anforderung und das Softwaredesign der Komponente (auch Komponentenspezifikation genannt) heranziehen. Für Whitebox-Testfälle oder um Aussagen zur Codeüberdeckung zu erhalten, kann man zusätzlich den Sourcecode einer Komponente analysieren und diesen als Testbasis verwenden. Wobei dabei auch Tools wie <a href="https://ceosbay.com/2023/03/25/erklaerung-jacoco/" target="_blank" rel="noreferrer noopener">Jacoco</a> helfen können. Ob die Komponente auf einen Testfall richtig reagiert, muss man allerdings auch hier auf Basis der Design- und Anforderungsdokumente beurteilen.</p>



<p>Typische Testobjekte sind wie bereits beschrieben Programmunits, -Module bzw. Klassen. Aber auch Kommandozeilenskripte des Betriebssystems (Shell-Skripte), Datenbankskripte, Datenkonvertierungs- oder Migrationsprozeduren, Datenbankinhalte sowie Konfigurationsdaten können Testobjekte sein. Kennzeichnend ist in der Regel der isolierte Test eines einzelnen Softwarebausteins. Dies dient primär, um komponentenexterne Einflüsse beim Testen auszuschließen. Alle so ermittelten Fehler kann man so dem spezifischen Modul zuordnen.</p>



<p>Klar zu unterscheiden ist auf jeden Fall der Integrationstest, den ich in einem separaten Beitrag thematisiere. Bei einem Integrationstest konzentriert man sich auf die Wechselwirkung mit Nachbarkomponenten.</p>



<p>Die Erstellung solcher Tests ist in der Regel die Aufgabe eines Programmierers. Dies liegt zum einen daran, dass man ein ausgeprägtes Verständnis für die Programmiersprache in der die Anwendung geschrieben ist haben muss. Und zum anderen daran, dass man meist auch einen Testtreiber benötigt, dessen Programmierung in der Regel auch der Entwickler übernimmt.</p>



<h3 class="wp-block-heading">Einordnung im Testprozess</h3>



<p>Algorithmen auf Unitebene besitzen meist nur eine begrenzte Komplexität und man kann sie über klar definierte Schnittstellen aktivieren. Daher kann sie mit relativ wenigen Testfällen weitgehend vollständig testen. Dies gilt als Voraussetzung für die anschließende Teststufe. Dem Integrationstest, um dort die Testfälle auf das integrierte Zusammenwirken größerer Funktionsteile oder der gesamten Anwendung ausrichten zu können. Die modulspezifischen Detailkonstellationen lassen sich damit auf Stichproben beschränken, was die Anzahl der erforderlichen Testfälle signifikant reduziert.</p>



<p>Zum Vergleich: Ein Gerät wird erst dann als Ganzes getestet, wenn die Funktionsfähigkeit seiner Einzelteile gesichert ist.</p>



<h3 class="wp-block-heading">Test des Vertrages und nicht der Algorithmen</h3>



<p>Man testet bei Modultests gemäß dem Design-by-contract-Prinzip möglichst nicht die Interna einer Methode, sondern nur ihre externen Auswirkungen (Rückgabewerte, Ausgaben, Zustandsänderungen, Zusicherungen). Sind die internen Details der Methode geprüft (dies wird als White-Box-Testing bezeichnet), kann der Test fehlschlagen, obwohl sich die externen Auswirkungen nicht geändert haben. Daher empfiehlt man in der Regel das sogenannte Black-Box-Testing, bei dem man sich auf das Prüfen der externen Auswirkungen beschränkt.</p>



<h3 class="wp-block-heading">Was sind die Vorteile von Unit Tests?</h3>



<ul class="wp-block-list">
<li>Mittels automatisierter Unittests kann man im Schnitt 30 % der Fehler erkennen. Bei der Verwendung von <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">TDD</a> (<a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/">Test Driven Development</a>) kann man im Schnitt 45 % und im besten Fall 85 % der Fehler vermeiden.</li>



<li>Fehler erkennt man durch Modultests bereits während der Entwicklung. Die durch Unittests vermiedenen Fehlerkosten sind daher gemäß der Rule of Ten (Dazu später mehr) um ein Vielfaches höher als bei späteren Teststufen, was Unittests zur effizientesten Teststufe machen.</li>



<li>Im Falle eines Fehlers kann man diesen sehr viel genauer eingrenzen und damit schneller finden und beheben.</li>



<li>Die Tests erfüllen den Zweck einer lebenden Dokumentation. In Kombination mit einer sinnvollen Benamung der Objekte (Clean Code) können zusätzliche Dokumentationsmaßnahmen entfallen.</li>



<li>Da einzelne Module nur wenige mögliche Codeausführungspfade besitzen, muss man viel weniger mögliche kombinatorische Ausführungspfade berücksichtigen als bei anderen Testarten. Bei übergeordneten Tests kann man sich dann stichprobenartig auf die wichtigsten Ausführungspfade konzentrieren und damit die Anzahl dieser Tests deutlich reduzieren.</li>



<li>Da man nur einzelne Module testet, kann man Modultests, oft um mehrere Größenordnungen, schneller und damit öfter (bzw. kontinuierlich) ausführen als andere Testarten.</li>



<li>Wenn man Fehler mit einem Test absichert, kann man den erneuten Auftritt des gleichen Fehlers verhindern.</li>



<li>Durch die Fehlerreduktion ergeben sich Geschwindigkeitsvorteile in der Entwicklung in mittleren bis großen Softwareprojekten.</li>



<li>Da man Abhängigkeiten zwingend vermeiden muss, um einen Modultest zu ermöglichen, bleibt der Code verhältnismäßig schnell änderbar. Hierdurch kann man schneller auf wechselnde Anforderungen reagieren. Siehe <a href="https://ceosbay.com/2023/03/20/erklaerung-das-agile-manifest/" target="_blank" rel="noreferrer noopener">Agile Manifest</a> 😉</li>



<li>Da automatisch ausgeführte Tests um mehrere Größenordnungen schneller sind als manuelle Tests, reduziert sich der Zeitaufwand für das Testen deutlich. Hierdurch kann man die Entwicklungsstufen schneller durchlaufen und die Release-Zyklen signifikant verkürzen.</li>
</ul>



<h3 class="wp-block-heading">Was sind die Nachteile von Unit Tests?</h3>



<ul class="wp-block-list">
<li>Bei der Implementierung neuer Funktionen muss man nicht nur die Funktion implementieren, sondern auch die dazugehörenden Tests vorbereiten bzw. definieren. Dadurch ergibt sich ein oft mehrfacher Implementierungsaufwand.</li>



<li>Bei Änderungen muss man nicht nur die geänderten Funktionen, sondern auch die dazugehörenden Tests anpassen. Insbesondere bei der Entwicklung von Prototypen, bei der sich die Codebasis schnell verändert, ist das Testen daher oft eher ein Hindernis.</li>



<li>Da man die Funktionalität der Tests verwendet, ist in den IDEs schwerer ersichtlich, ob eine Funktionalität keine Verwendung mehr findet und ob man es daher entfernen kann.</li>



<li>Weisen die Tests untereinander Abhängigkeiten auf (z. B. durch gemeinsame Testdaten), so können einzelne Änderungen an der Codebasis eine Vielzahl von Tests beeinflussen, was den Änderungsaufwand mit der Größe der Codebasis exponentiell erhöht.</li>
</ul>



<h3 class="wp-block-heading">Fehlerkosten 10er Regel (Rule of ten)</h3>



<p>Die Zehnerregel der Fehlerkosten besagt, dass je weiter ein Fehler sich unentdeckt in die späten Phasen des Werdegangs eines Produktes oder Prozesses bewegt – oder gar bis zum Kunden –, desto höher steigen die Kosten zur Behebung des Fehlers. Eindrucksvoll untermauert durch die Ergebnisse einiger Studien aus den 70er Jahren in Japan, USA und Großbritannien, die sich mit den Ursachen von Produkt- bzw. Qualitätsmängeln beschäftigten. Alle Analysen lieferten nahezu die gleichen Ergebnisse: Ca. 70 % aller Produktmängel hatten ihre Ursache bereits in der Entwicklung, Konstruktion und Arbeitsvorbereitung. Der Herstellungsprozess selbst hat bezüglich der Endqualität des Produktes offensichtlich eher einen sekundären Einfluss. Eine VDMA-Studie zum Thema „Qualitätsbezogene Kosten“ Anfang der 90er Jahre in der Bundesrepublik Deutschland bestätigt dieses Ergebnis.</p>



<p>Die Zehnerregel der Fehlerkosten oder „Rule of ten“ sagt aus, dass sich die Fehlerkosten für einen nicht entdeckten Fehler von Stufe zu Stufe der Wertschöpfung um den Faktor 10 erhöhen. Je früher ein Fehler entdeckt und beseitigt wird, desto kostengünstiger ist dies für die Organisation und schlussendlich auch für den User bzw. Kunden.</p>



<p>Ansonsten sind diese auch in der DIN 55350-11 im Rahmen des Qualitätsmanagements festgehalten. Doch darauf gehe ich in einem separaten Beitrag ein.</p>



<h3 class="wp-block-heading">Wo sind die Grenzen der Unit Tests?</h3>



<p>Unit Tests können (wie jeder Test) die Fehlerfreiheit der getesteten Units, Module usw. nicht garantieren oder nachweisen, sondern lediglich unterstützen. Die Grenzen von Unit Tests liegen primär nur in den Fällen vor in denen man Fehler finden kann, zu deren Entdeckung die verwendeten Tests geeignet sind. Eine Softwarekomponente, die „grün“ testet, ist also nur bedingt fehlerfrei.</p>



<p>Das Merkmal von Code, „grün“ zu testen, und durchaus auch der Wunsch nach diesem Ergebnis, kann dazu führen, dass man tatsächlich (unbewusst) nur so viel testet, bis alle Tests „grün“ sind. Module, die keine fehlschlagenden Modultests haben, als fehlerfrei zu behandeln, ist ein Fehlschluss in der Praxis des (<a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">TDD</a>) <a href="https://ceosbay.com/2023/03/13/erklaerung-test-driven-development/" target="_blank" rel="noreferrer noopener">Test Driven Development</a>.</p>



<p>Um eine ausreichende Testabdeckung zu erzielen, lohnt es sich u.U., vor dem Erstellen der Testfälle Refactoring-Maßnahmen anzuwenden. Dies erst nach abgeschlossenen Unit Tests (für den alten Code) zu tun, schafft Raum (wie jede Änderung im Code) für neue Fehlerrisiken und kann deshalb wiederholtes Testen erforderlich machen.</p>



<p>Wenn der Autor von Unit Tests mit dem Autor der Module identisch ist, können Denkfehler in der Implementierung auch im Test erscheinen und verpasst gegebenenfalls die Chance, diese aufzudecken. Wenn es sich um dieselbe Person handelt, kann man die vorrangige Entwicklung der Tests ebenfalls nicht garantieren, da sowohl die beabsichtigte Funktionsweise des Codes als auch die zukünftige Gestalt bereits im Gedankengut des Testautors und späteren Codeautors präsent sein können. Dies kann im Extreme Programming durch „Test Ping-Pong“ abgefangen werden, bei der sich Entwickler bei der Implementierung der Funktionalität und der Tests abwechseln.</p>



<p>Bei der Entwicklung von Modultests können Testfälle entstehen, die der Zielsetzung und dem Charakter von Modultests nicht oder nur zum Teil entsprechen. Wie bei der Programmierung existieren daher auch für die Entwicklung von Modultests Anti-Pattern, die man möglichst vermeiden sollte.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/03/26/erklaerung-unit-tests/">Unit Tests &#8211; Fundament für stabile und effiziente Software</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/03/26/erklaerung-unit-tests/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1246</post-id>	</item>
		<item>
		<title>NFT &#8211; Non-Fungible Token &#8211; Einzigartigkeit und Besitz im digitalen Zeitalter durch revolutionäre Blockchain-Technologie</title>
		<link>https://ceosbay.com/2022/11/04/erklaerung-nft/</link>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Fri, 04 Nov 2022 14:54:36 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[Krypto]]></category>
		<category><![CDATA[NFT]]></category>
		<category><![CDATA[Coins]]></category>
		<category><![CDATA[DApps]]></category>
		<category><![CDATA[ETH]]></category>
		<category><![CDATA[Ethereum]]></category>
		<category><![CDATA[Finanzen]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Investieren]]></category>
		<category><![CDATA[Kryptowährung]]></category>
		<category><![CDATA[Kunst]]></category>
		<category><![CDATA[Non-Fungible]]></category>
		<category><![CDATA[Smart Contract]]></category>
		<category><![CDATA[Tauschen]]></category>
		<category><![CDATA[Token]]></category>
		<category><![CDATA[Verkaufen]]></category>
		<category><![CDATA[Vertrag]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=163</guid>

					<description><![CDATA[<p>Ein Non-Fungible Token (NFT) ist ein „kryptografisch eindeutiges, unteilbares, unersetzbares und überprüfbares Token, dass einen bestimmten Gegenstand, sei er digital oder physisch, in einer Blockchain repräsentiert“. Während NFTs mit der Blockchain dieselbe Technologie benutzen wie &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/04/erklaerung-nft/">NFT &#8211; Non-Fungible Token &#8211; Einzigartigkeit und Besitz im digitalen Zeitalter durch revolutionäre Blockchain-Technologie</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ein Non-Fungible Token (NFT) ist ein „kryptografisch eindeutiges, unteilbares, unersetzbares und überprüfbares Token, dass einen bestimmten Gegenstand, sei er digital oder physisch, in einer <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> repräsentiert“.</p>



<p>Während NFTs mit der <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> dieselbe Technologie benutzen wie <a href="https://ceosbay.com/2022/11/01/erklaerung-crypto-bzw-kryptowaehrung/">Kryptowährungen</a>, sind sie im Unterschied zu diesen einmalig und nicht teilbar (Daher non-fungible „nicht austauschbar“). Ein NFT kann nur als Ganzes erworben werden und existiert nur ein einziges Mal – anders als bei der Möglichkeit, beispielsweise 0,1 <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/" target="_blank" rel="noreferrer noopener">Ethereum</a> zu erwerben, bei der es für den Wert keine Rolle spielt, an welchem davon man einen Anteil erwirbt.</p>



<h3 class="wp-block-heading">Smart Contracts und NFT?</h3>



<p><a href="https://ceosbay.com/2022/11/27/erklaerung-smart-contracts/">Smart Contracts</a> verwalten die NFTs. Ein NFT enthält meist nur einen Verweis bzw. eine URL auf einen digitalen Inhalt. Der digitale Inhalt selbst ist auf einem Server gespeichert bzw. gehostet. Welcher Art die Rechte sind, die mit dem Erwerb eines NFTs verbunden sind, ist nicht einheitlich geregelt. Nichtübertragbar sind Durchsetzbare Rechte wie etwa das Urheberrecht bzw. Verwertungsrecht an einem Lied oder die Besitzrechte an einem physischen Objekt, dessen Abbildung man handelt. Siehe Urheberrecht in den gängigen Gesetzbüchern.</p>



<h3 class="wp-block-heading">Validität und Integrität der NFT</h3>



<p>Auch hat ein NFT keine Aussagekraft über die Validität und Integrität der digitalen Ressource. Es verweist lediglich darauf, unabhängig davon von der Existenz oder Modifikation der Datei. Damit sind im Grunde genommen Probleme vorprogrammiert. Wenn beispielsweise Server offline gehen und die mit den NFTs verknüpften Dateien nicht mehr abrufbar sind. Oder durch die Manipulation der Dateien. Böswillige Nutzer können Verknüpfungen zu den Dateien in anderen <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchains</a> erstellen und verkaufen sie.</p>



<p>Non-Fungible Token können dort verwendet werden, wo virtuellen Gütern ein Etikett zugeordnet wird. Sie können dabei als Nachweis bestimmter Rechte an den Objekten selbst gesammelt und gehandelt werden. Dies betrifft zum Beispiel digitale Kunst, Musik oder Einzelobjekte in Computerspielen oder DApps (Dezentralisierte Anwendungen). NFTs können auch die Funktion einer Eintrittskarte oder eines Mitgliedsausweises erfüllen. Die Urheber der NFTs können den Käufern bzw. Besitzern erlauben, die Motive ihrer erworbenen NFTs kommerziell zu verwerten, wie man es aus diversen NFT-Projekten kennt.</p>



<h3 class="wp-block-heading">KYC &#8211; Know Your Customer</h3>



<p>Der Handel mit NFTs findet auf Handelsplattformen statt. Diese führen die Transaktionen auf Basis der <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> oder einer günstigeren Zwischenschicht (Sidechains) aus. Hierfür ist eine Identifikation der Käufer und Verkäufer in Form ihrer Kryptowallets notwendig. Derzeit wird an einem Gesetzesentwurf gearbeitet, dass alle verpflichten soll, einen sogenannten KYC zu machen. Know Your Customer &#8211; Kenne Deinen Kunden. Wie bei Kreditinstituten und Versicherungen wird eine vorgeschriebene Legitimationsprüfung von bestimmten Neukunden zur Verhinderung von Geldwäsche vorgenommen. </p>



<p>Was in Anbetracht der hohen Betrugszahlen bei vielen Blockchainanwendungen gar nicht so schlecht ist. Dennoch stellt ein solcher Prozess alle User unter einen gewissen Generalverdacht, was ich persönlich nicht gutheißen kann. Nachdem ich aber selbst schon Opfer der ein oder anderen Betrugsmasche geworden bin und meine Steuern auch gerne bezahle, wenn die Steuereinnahmen des Staates in der Regel für gute Dinge wie Bildung investiert werden, schätze ich diese Praxis als tragbar ein. Vor allem wenn man bedenkt, dass <a href="https://ceosbay.com/2022/11/27/erklaerung-smart-contracts/">Smart Contracts</a> wirklich einen Mehrwert für die Gesellschaft als solches bieten können. Dazu aber mehr, wenn ich explizit über <a href="https://ceosbay.com/2022/11/27/erklaerung-smart-contracts/">Smart Contracts</a> schreibe. Auf jeden Fall können wir festhalten, dass Gewinne aus dem Handel mit NFTs als Veräußerungsgewinne versteuert werden müssen.</p>



<h3 class="wp-block-heading">Ethereum und die Sidechains</h3>



<p>NFTs werden von einigen Blockchainprojekten unterstützt. Die (Stand November 2022) am häufigsten für NFTs genutzte <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a> ist nach wie vor <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a>. Neben Ethereum werden die Side-Chains genutzt. Eine Sidechain ist eine separate <a href="https://ceosbay.com/2022/11/28/blockchain/">Blockchain</a>, die unabhängig von <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> läuft. Sie wird über eine Zwei-Wege-Brücke mit dem <a href="https://ceosbay.com/2022/11/02/erklaerung-kryptowaehrung-ethereum-ether/">Ethereum</a> Mainnet verbunden. Sidechains können eigene Blockparameter und Konsensalgorithmen haben, die oft für eine effiziente Verarbeitung von Transaktionen ausgelegt sind.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2022/11/04/erklaerung-nft/">NFT &#8211; Non-Fungible Token &#8211; Einzigartigkeit und Besitz im digitalen Zeitalter durch revolutionäre Blockchain-Technologie</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">163</post-id>	</item>
	</channel>
</rss>
