Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
32 lines (17 sloc) 3.72 KB

Einführung in NEO "Smart Contracts" - NeoContract

Was ist ein "Smart Contract"?

Ein "Smart Contract" beinhaltet eine Reihe von in digitaler Form definierter Verpflichtungen und Vereinbarungen über die Art und Weise, wie die Teilnehmer diese Verpflichtungen erfüllen sollen. Die Blockchaintechnologie bietet ein dezentralisiertes, fälschungssicheres, äußerst vertrauenswürdiges System, indem "Smart Contracts" überaus nützlich sind. "Smart Contracts" sind einer der bedeutendsten Funktionen der Blockchain und mitunter ein Grund, warum die Blockchain als eine revolutionäre Technologie angesehen werden kann. Die Effizienz unserer sozialen Strukturen kann durch "Smart Contracts" mit jedem Tag ein Stück erhöht werden.

Was sind die Charakteristiken von NEO "Smart Contracts"?

Der NEO "Smart Contract" 2.0 (NeoContract) ist durch folgenden Eigenschaften geprägt: Finalität, hohe Performance und Erweiterbarkeit. Es gibt folgende Vertragsarten: Verfikations-Contract, Funktions-Contract und Anwendungs-Contract.

Als Ausführungsumfeld nutzt NeoContract die schlanke "NEO Virtual Machine" (NeoVM) für eine exzellente Performance. Sie besitzt eine hohe Startgeschwindigkeit und benötigt kaum Ressourcen, wodurch sie perfekt geeignet für kleinere Anwendungen wie "Smart Contracts" ist. Statische Kompilation und Caching von Hotspot Contracts kann durch JIT (Echtzeit Compiler) maßgeblich verbessert werden. Die Konfiguration der NeoVM bietet eine Reihe von kryptografischen Einstellungen, um die Ausführungseffizienz von kryptografischen Algorithmen bei "Smart Contracts" zu optimieren. Außerdem bieten Anweisungen für Datenveränderungen direkten Support für Arrays und komplexe Datenstrukturen. All das erhöht die Performance der NeoContracts.

Durch eine Kombination aus hoher Parallelität, dynamischer Partitionierung und einem Design mit niedriger Kopplung erreichen NeoContracts hohe Skalierbarkeit. Die Prozesse der Contracts werden mit der NeoVM ausgeführt und kann über die interaktive Serviceebene mit der Außenwelt kommunizieren. Einen Großteil der Upgrades für NeoContracts können mittels API über die interaktive Serviceebene erreicht werden.

Erstellen von NeoContracts in fast jeder Sprache

Im Bezug auf Programmiersprachen ist der Unterschied zwischen NeoContracts und Ethereum "Smart Contracts" deutlich. Im Gegensatz zu Ethereum (ausschließlich Solidity) können NeoContracts in fast jeder high-level Programmiersprache geschrieben werden. Die ersten unterstützten Sprachen ​​sind C#, VB.Net, F#, Java und Kotlin. NEO stellt Compiler und Plug-ins für diese Sprachen zur Verfügung. Diese können benutzt werden, um die high-level Sprachen in die, von der NeoVM unterstützten, ​​Instruction Sets zu kompilieren. Der erste Compiler wird für MSIL (Microsoft intermediate Language) zur Verfügung stehen und somit wird theoretisch jede .NET Sprache und jede Sprache, die in MSIL übersetzt werden kann unmittelbar unterstützt.

Die aktuell unterstützten Sprachen sind:

  1. C#, VB.Net, F#
  2. Java, Kotlin

Weitere geplante Sprachen sind:

  1. C, C++, GO
  2. Python, JavaScript

Durch den Multi-Language-Support können mehr als 90% der Entwickler direkt an der Entwicklung von NeoContracts teilnehmen, ohne eine neue Sprache lernen zu müssen. Existierender Geschäftssystemcode kann sogar direkt auf die Blockchain portiert werden. Wir sind der Überzeugung, dass diese Möglichkeiten die Popularität der Blockchain der Zukunft stark anheben.

Darüber hinaus sind herkömmliche "Smart Contracts" äußerst schwierig zu debuggen und testen aufgrund des Mangels an Support Tools. NEO wird eine Unterstützung für das Debugging auf der NeoVM anbieten, um ein einfacheres und schnelleres Entwickeln von NeoContracts zu ermöglichen.