März 2019

Band 34, Nummer 3

Dieser Artikel wurde maschinell übersetzt.

[Blockchain]

Überprüfen von E-Dokumenten mit Smart Contracts im Azure Blockchain Development Kit

Durch Stefano Tempesta | März 2019

Die Einführung von intelligente Verträge in Blockchain-Netzwerken hat eine Geschäftslogikebene erstellt, die in den frühen Iterationen des Blockchain fehlte. Intelligente Verträge bieten die Möglichkeit, gelten bedingten Logik für Transaktionen, bevor sie ausgeführt werden. Dennoch können intelligente Verträge nur mit Daten arbeiten, die auf den digitalen blockchainledger gespeichert ist. Geschäftsprozesse, jedoch Ausführen selten isoliert. Sie benötigen häufig Data-Integration in externe Systeme und Geräte.

Prozesse können z. B. für einen verteilten Ledger, der Daten stammen aus einem externen System, Dienst oder Gerät nutzt initiierte Transaktionen enthalten. Externe Systeme möglicherweise erforderlich, auf die von smart Contracts als Reaktion auf Validierungslogik ausgelösten Ereignisse zu reagieren. In diesem Artikel wird beschrieben, wie zum Automatisieren von Dokument anmelden und Überprüfen von Workflows in SharePoint mit dem kürzlich veröffentlichten Azure Blockchain Development Kit (aka.ms/bcdevkit) zum Beibehalten von Dateien Hash und Metadaten in einer Blockchain digitales Hauptbuch.

Azure-Blockchain Development Kits

Die Version von Azure Blockchain Development Kit, basiert auf serverlose Technologie von Microsoft, stellt einen Meilenstein in der Einführung von blockchaintechnologien im Unternehmensbereich dar. Dank der Blockchain Development Kit können Sie jetzt Lösungen erstellen, die Blockchain mit das beste von Microsoft und Drittanbieter-Software-Anwendungen integrieren. Wie auf die Anmerkungen zu dieser Version erwähnt, priorisiert die Ursprungsversion des Kits Funktionen, die im Zusammenhang mit drei wichtigen Themen: Verbinden von Schnittstellen, die Integration von Daten und Systeme und Bereitstellen von smart Contracts und Blockchain-Netzwerke.

Verbindung umfasst Kommunikationskanäle wie Mobile und Web, SMS und Sprachanrufe, sowie IoT-Geräten und sogar chat Bots. Integration mit Line-of-Business-Anwendungen umfasst mehrere Systeme, darunter SharePoint, OneDrive for Business, Dynamics 365, open-Source- und alle API-fähigen Plattformen, als auch ältere Protokolle wie Dateisysteme, FTP-Server oder SQL-Datenbanken. Die Bereitstellung von smart Contracts und Blockchain-Netzwerken wird unterstützen grundlegende Blockchain-Technologie in die Entwicklung von Unternehmenssoftware, und führen Governance und DevOps in der Blockchain-Softwareentwicklungsverfahren.

Blockchain-Entwicklungskit funktioniert in Kombination mit Azure Logic Apps und Flows, die eine visuelle entwurfsumgebung für Workflows bereitstellen, die mehr als 200 Connectors für Microsoft und Drittanbieter-Systeme und Dienste enthalten. Zusammen vereinfachen sie deutlich die Entwicklung von End-to-End blockchainanwendungen, die Zugriff auf - und off-Chain-Daten, Verarbeiten von Ereignissen, die von der digitales Hauptbuch generiert und nutzen das Azure-Ökosystem für eine nahtlose und integrierte Lösung. Sehen Sie eine praktische Anwendung im Kontext von Enterprise Content Management.

Signieren von Digital Assets

Mit Blockchain können Sie vorstellen, eine Welt, in der Dokumente in digitalen Code eingebettet sind, und in transparent, freigegebene Datenbanken gespeichert, in denen sie vor dem Löschen, Manipulationen und Revision geschützt sind. In dieser Welt müssten jede Vereinbarung, jeder Prozess, jeder Aufgabe und jeder Zahlung einen digitalen Datensatz und die Signatur, die identifiziert, überprüft, gespeichert und freigegeben werden kann. Vermittler wie Rechtsanwälte, Brokern und Institutionen nicht mehr notwendig sein könnten. Personen, Organisationen und Computern würde frei transact und mit wenig Aufwand miteinander interagieren. Dies ist das enorme Potenzial des Blockchain.

Die potenzielle Anwendung Inhalt Dezentralisierung und Verteilung ist gigantisch. Personen müssen mit einem einzigen, unveränderlichen und überprüfbare aufzeichnen Store mandantenschlüssel, ihre digitalen Identität und die Datensätze, denken Sie an Identity oder Wohnort Dokumente, medizinische Daten, Bildungswesen oder professional-Zertifikate und Lizenzen. Alle Dokumente und die Metadaten ausgegeben werden können, in der Blockchain und digital signiert werden. Falsche nicht mehr, Zertifizierungen, die keine weitere Grad Mills, die keine Dokumente "Photoshopped".

Schüler/Studenten, können z. B. für weitere Studien, einen Auftrag, oder Immigration in ein anderes Land anfallen. und in den Prozess möglicherweise erforderlich, um den Grad der Studie oder Kenntnisse der Programmiersprache University Aufmerksamkeit schenken müssen nachzuweisen. Entitäten wie personalchefs, Arbeitgeber, Behörden und Universitäten die Student Anmeldeinformationen zu überprüfen können ohne Rückgriff auf zentralen Behörden – in wenigen Minuten, und keine andere Vermittler.

Abbildung 1 wird das erwähnte Szenario beschrieben. Zertifikate werden von einer Zertifizierungsstelle, z. B. eine Education Institute (1), zu gespeicherten auf einem Verwaltungsserver für die zentrale dokumentverwaltung (2) oder in einem verteilten Dateisystem wie IPFS (ipfs.io) ausgestellt und signiert mit einer kryptografischen Funktion. Ich gehe in Weitere Informationen zu IPFS später in diesem Artikel. Der Inhaltshash und Metadaten-Hash des Zertifikats sind klicken Sie dann auf den digitalen blockchainledger (3) gespeichert und angefügt, wie eine smart Contract-Adresse, die diese Informationen (4) speichert digitale Identität des Benutzers. Dies stellt eine Art eindeutige Authentizität-Token, das das Dokument in einer nicht-fragwürdige Weise identifiziert.

Das Actors und Prozess
Abbildung 1: das Actors und Prozess

Ein häufiges Muster ist, einen eindeutigen Hash der digitalen Objekts und der Metadaten, die es beschreibt einen eindeutigen Hash zu generieren. Diese Hashes werden dann in einer Blockchain gespeichert. Wenn die Authentizität eines Dokuments angezweifelt wird, kann die off-Chain-Datei im Vergleich zu den Wert auf '-Chain Hash zu einem späteren Zeitpunkt erneut verschlüsselte sein. Wenn die Hashwerte übereinstimmen, das Dokument authentisch ist, aber wenn nur ein Zeichen in einem Dokument geändert wird, stimmen die Hashwerte wird nicht überein, sodass klar, dass eine Änderung vorgenommen wurde.

Erstellen Sie das Signaturzertifikat Logik-App-Fluss

Sehen wir uns auf eine mögliche Implementierung dieses Workflows mit Logik-App für Azure. Die Logik-App-Fluss ein Dokument und die Metadaten-Hashwerte generieren soll, und speichern Sie die erste zu SharePoint und die zweite in einem Ethereum-Netzwerk, mit dem Ethereum-Connector verfügbar als Teil des Azure-Blockchain-Development-Kits. Die Berechnung des Hashwerts erfolgt in einer Azure-Funktion, die auf dem Stapel der .NET Common Language Runtime erstellt. Die Funktion basiert darauf, dass die HTTP-triggervorlage aus, und er wird als Empfang einer HTTP-Anforderung ausgeführt werden.

Der Code in abbildung2 ComputeHashFunction Azure-Funktion für die Berechnung eines Hashwerts, der mit dem SHA256-Algorithmus implementiert. Lesen Sie den Text der Anforderung in die Run-Methode, und berechnet die Funktion den Hash mithilfe der SHA256-Bibliothek im System.Security.Cryptography-Namespace verfügbar. Der Hashwert wird als eine UTF8-codierte Zeichenfolge zurückgegeben.

Abbildung 2: die ComputeHashFunction

public static class ComputeHashFunction
{
  [FunctionName("ComputeHashFunction")]
  public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function,
      "get", "post", Route = null)] HttpRequest req, ILogger log)
  {
    string requestBody =
      await new StreamReader(req.Body).ReadToEndAsync();
    string hash = ComputeHash(requestBody);
    return (ActionResult)new OkObjectResult(hash);
  }
  private static string ComputeHash(string data)
  {
    // Create a SHA256 hash
    using (SHA256 sha256 = SHA256.Create())
    {
      byte[] bytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(data));
      // Convert the byte array to a string
      return Encoding.UTF8.GetString(bytes);
    }
  }
}

Der Logik-App-Flow wird ausgelöst, wenn ein neues Dokument in einer SharePoint-Website hochgeladen wird. Dieses Ereignis erfolgt durch eines der "Wenn eine Datei wird erstellt..." Aktionen auf der SharePoint-Connector (gemäß Abbildung 3). Um diese Aktion nach der Eingabe von Anmeldeinformationen für die Authentifizierung für SharePoint zu konfigurieren, müssen Sie an die Adresse der Website der SharePoint-Website überwachen, die für neue Dateien und den bestimmten Ordner, in dem Dateien hochgeladen wurden. Sie können auch die Häufigkeit der in diesem Ordner abrufen und die Überprüfung auf neue Dateien festlegen. Eine angemessene Einstellung wird einmal pro Minute überprüft.

Die Logik-App wird die Datei erstellen in SharePoint Ereignisbehandlung
Abbildung 3: die Logik-App wird die Datei erstellen in SharePoint Ereignisbehandlung

Der nächste Schritt im Datenfluss, wie bereits wir gehen davon aus, das hashing von Inhalt und Metadaten der hochgeladenen Datei. Wie ich die Hashfunktion als Azure-Funktion implementiert haben, müssen Sie diese Funktion aufzurufen ist das Wählen Sie eine Azure-Funktion-Aktion aus dem Connector für Azure Functions. Nachdem Sie aus der Liste der verfügbaren Funktionen ComputeHashFunction ausgewählt haben, werden Sie aufgefordert, den Hauptteil der Anforderung angeben, die für die Funktion selbst übergeben werden. Dies ist ein jsonobjekt, das in der Eingabe an die Funktion, Abrufen von deren Hashwert als Ausgabe übertragen werden. Ich habe als Metadaten, die folgenden Attribute definiert, siehe Abbildung 4: ContentType, Etag, Id, Name und Pfad.

Attribute in der Anforderungstext für die Hash-Funktion
Abbildung 4-Attribute in der Anforderung für die Hashfunktion Text

Im vorherige Schritt ist erforderlich, die Dateimetadaten in einen Hashwert. Jetzt muss ich auch den gesamten Dateiinhalt, um es in einem unveränderlichen Zustand befindet, in der Blockchain-Netzwerk beizubehalten hash. Wählen Sie wie zuvor eine andere wählen Sie eine Aktion für die Azure-Funktion aus der Azure Functions-Connector, aber diesmal statt in der mehrere Attribute der Datei hinzufügen Dateiinhalt.

Wenn Sie die Hashwerte für sowohl die Dateimetadaten als auch die Dateiinhalte abgerufen haben, ist es Zeit für das Blockchain-Netzwerk zu speichern. Zu diesem Zweck verwende ich Azure Blockchain Workbench (aka.ms/abcworkbench) wie die Common Language Runtime-Umgebung für intelligente Verträge, die auf Ethereum ausgeführt wird. Blockchain Workbench wird zur Unterstützung mehrerer Plattformen von Blockchain erwartet, aber für den Moment Bleibe ich bei Ethereum.

Zugriff auf die digitales Hauptbuch kann abgerufen werden, durch Senden einer Nachricht an den Azure Service Bus, die als Teil der Blockchain Workbench-Lösung bereitgestellt wird. Ein externes System, wie Sie eine Logik-App-Aktion mit einem intelligenten Vertrag in Blockchain Workbench gehostet wird, durch Senden einer Nachricht an Service Bus kommunizieren kann. Die Nachricht wird von der Blockchain Workbench-Laufzeit abgerufen, und eine neue blockchaintransaktion erstellt, mit der Meldung. Kommunikation mit Ethereum möglich, nur durch eine Transaktion, die einen smart Contract, ruft generieren, wie im dargestellt Abbildung 5.

Senden einer Nachricht an einen Smart Contract
Abbildung 5 Senden einer Nachricht an einen Smart Contract

Zum Senden einer Nachricht aus einem Flow Logik-App mit dem Service Bus können Sie die Aktion "Nachricht senden" auf dem Service Bus-Connector verwenden. Eine Verbindung mit einer Azure Service Bus wird durch einen Verbindungsnamen ein, und eine Verbindungszeichenfolge identifiziert. Können Sie einen geeigneten Namen als Verbindungsnamen eingeben, und Sie erhalten die Service Bus-Verbindungszeichenfolge aus dem Azure-Verwaltungsportal, in denen es bereitgestellt wird. Die Nachricht zum Senden an den Service Bus erfordert auch die folgenden Parameter:

  • requestId: Ein eindeutiger Bezeichner für die Anforderung generiert, die von der Logik-App-Aktion
  • processedDateTime: Zeitstempel der Anforderung gesendet werden
  • userChainIdentifier: Adresse des Benutzers im Netzwerk bereitgestellten Ethereum
  • applicationName: Name des intelligenten Vertrags Ethereum aufgerufen wird
  • workflowName: Der Name des Workflows an die Blockchain Workbench

Ich definieren diese Parameter als Variablen im Logik-App-Fluss mit der Initialize-Variable-Aktion aus den Variablen-Connector. Die Anforderungs-ID-Variable kann festgelegt werden, Guid, dies ist ein Ausdruck, der eine eindeutige GUID generiert. In UtcNow, steht für die aktuelle Coordinated Universal Time, kann die Variable ProcessedDateTime festgelegt werden. Für UserChainIdentifier können Sie die Adresse eines Benutzers in Blockchain Workbench eingeben, die autorisiert, führen Sie die smart Contract auf, während der Anwendungsname und WorkflowName definiert sind, gemäß den Namen und den Workflow des intelligenten Vertrags, die diese Transaktion verarbeitet.

Im nächste Abschnitt wird beschrieben, am intelligenten Vertrag für die Verarbeitung dieser Nachrichten von der Logik-App-Fluss. Abbildung 6 fasst den Nachrichtentext im JSON-Format an den Service Bus zu senden. Die Ausdrücke in < spitzen Klammern > müssen mit den entsprechenden Wert ersetzt werden.

Abbildung 6: Struktur der Nachricht an den Azure Servicebus gesendet wird.

{
  "requestId": "<The requestId variable>",
  "userChainIdentifier": "<User address in Azure Blockchain Workbench>",
  "applicationName": "<Smart contract name>",
  "workflowName": "<Smart contract workflow name>",
  "parameters": [
    {
      "name": "registryAddress",
      "value": "<Contract address in Azure Blockchain Workbench>"
    },
    {
      "name": "fileId",
      "value": "<File identifier>"
    },
    {
      "name": "location",
      "value": "<File path>"
    },
    {
      "name": "fileHash",
      "value": "<File content hash>"
    },
    {
      "name": "fileMetadataHash",
      "value": "<File metadata hash>"
    },
    {
      "name": "contentType",
      "value": "<File content type>"
    },
    {
      "name": "etag",
      "value": <File entity tag>
    },
    {
      "name": "processedDateTime",
      "value": "<The processedDateTime variable>"
    }          
  ],
  "connectionId": 1,
  "messageSchemaVersion": "1.0.0",
  "messageName": "CreateContractRequest"
}

Smart Contracts für die Verarbeitung von digitaler Ressourcen

Zunächst lassen Sie mich die Nachricht zu verstärken, digitale Ressourcen nicht auf die Blockchain gespeichert sind. Hashwerte, der die Metadaten und die Inhalte sind. In diesem Artikel beschreibe ich die Speicherung von Dokumenten in SharePoint, d.h. einen zentralisierten Dienst. In einer Bereitstellung für "rein" Blockchain empfiehlt es sich um Dezentralisierung auch des Storage-Diensts zu erhalten. Die interplanetarisches Datei System (IPFS) ist ein Peer-zu-Peer-Hypermedia-Protokoll (die weiter oben erwähnt), das dezentralisierte File Storage bietet. Integration mit IPFS sprengen den Rahmen dieses Artikels sprengen, aber wenn Sie möchten wissen, wie dieser Technologie kann Zentralisieren von Speicher zu entfernen, die nicht Teil eines Blocks in eine Blockchain ist, finden Sie in der "IPFS in Azure"-Videos auf Channel 9 (bit.ly/2CURRq0).

Wie ich Azure Blockchain Workbench verwendet wird, für die Ausführung meiner intelligentem Vertragscode, benötige ich zwei Dateien:

  • FileContract.sol am intelligenten Vertrag selbst in Solidity-Programmiersprache beschrieben.
  • FileContract.json in Azure Blockchain Workbench als Anwendung konfigurieren, den Workflow, der geladen wird.

Smart Contract FileContract wird beschrieben, eine Datei über seine Metadaten, die basierend auf den Werten, die von Logik-App mit Blockchain Workbench über Azure Service Bus gesendete Nachricht übergeben wird. Hier ist ein Ausschnitt des Quellcodes des intelligenten Vertrags, der diese Parameter definiert:

contract FileContract
{
  // File metadata
  string public FileId; // File identifier
  string public Location; // File path
  string public FileHash; // File content hash
  string public FileMetadataHash; // File Metadata Hash
  string public ContentType; // File content type
  string public Etag; // File entity tag
  string public ProcessedDateTime; // Timestamp
  address public User; // User address

Um die Datei-Metadaten in einer Blockchain speichern zu können, benötige ich eine Dateistruktur wie folgt definiert:

struct File {
  string FileId;
  address FileContractAddress;
}

Eine File-Entität wird durch die Datei-ID und die Adresse in blockchain-Komponente des FileContract intelligenten Vertrags mit den Metadaten identifiziert. Diese Struktur wird in eine private Sammlung definiert als ein Wörterbuch, dessen Schlüssel die Zeichenfolge "FileID" wird gespeichert. Das Mapping-Schlüsselwort in Solidity definiert ein Wörterbuch und die Schlüssel- und Werttypen wie folgt:

mapping(string => File) private Registry;

Um eine File-Entität (ID und Metadaten) zu speichern, füge ich einfach die einzelnen Werte in das Wörterbuch Registrierung die Save-Methode hinzu. Der Einfachheit halber ausgelassen jedes Steuerelement erforderlich, auf die Gültigkeit des Datei-ID und Vertrags-Adresse, und gibt an, ob die Datei bereits in der Registrierung vorhanden ist. Dies ist der Code:

function Save(string fileId, address fileContractAddress) public
{
  Registry[fileId].FileId = fileId;
  Registry[fileId].FileContractAddress = fileContractAddress;
}

Der Überprüfungsprozess

Benutzer ihre Zertifikate mit einem dritten überprüfen müssen dazu der Authentizität-Token (d. h. die Datei Vertragsadresse), das enthält alle erforderlichen Informationen, um sicherzustellen, dass das Dokument vorhanden ist und authentifiziert und nicht angeeigneten Freigabe. Abbildung 7 beschreibt die Parteien und Aktionen der Überprüfungsprozess beteiligt. Der Benutzer das Zertifikat zum Überprüfen von seinem Speicherort abruft (1) und initiiert eine neue Transaktion für das Blockchain-Netzwerk, übertragen das Token für die Echtheit (2) in die Autorität für die Überprüfung. Die Autorität für die erhält des signierten Inhalts und Metadaten des Zertifikats überprüft (3), die auf die unveränderliche digitales Hauptbuch gespeichert, und anschließend den entsprechenden Hashwerten unter Verwendung der off-Chain-Kopie vergleicht. Wenn die Werte übereinstimmen, ist das Dokument überprüft (4).

Die Überprüfung von Actors und den Prozess
Abbildung 7: die Überprüfung von Actors und den Prozess

Sobald Dokumente und unstrukturierte Daten signiert und überprüft sind – und ein Hash des ihre Inhalte und Metadaten in einer Blockchain gespeichert sind – erstellt eine unveränderliche und unabhängige, überprüfbare Datensatz von Transaktionen. Dieser Prozess wird als Nachweis des Vorhandenseins und Authentizität der digitalen Ressourcen für die Machbarkeitsstudie bezeichnet.

Für die Machbarkeitsstudie Vorhandensein bezieht sich auf ein unveränderbar Datums- und Zeitstempel für ein bestimmtes Objekt zu erstellen. Dies bedeutet, dass Sie, dass nachweisen können ein bestimmtes Informationsobjekt, wie eine e-Mail-, Dokument- oder Bilddateien – zu einem bestimmten Zeitpunkt vorhanden waren, in Zeit.

Authentizität für die Machbarkeitsstudie bestätigt, dass ein Objekt authentisch ist – d. h. geändert wurde noch nicht, da es auf den angegebenen Zeitpunkt gespeichert wurde. Dies erfolgt durch ein Objekt digital zu signieren und daher ein Hashwert, der eindeutige Bezeichner. Der Bezeichner ruft dann in den verteilten blockchainledger committet, und die Transaktion mit einem Zeitstempel, für auch erhält. Da jeder Eintrag in der Blockchain unveränderlich ist, bedeutet dies, dass Sie Nachweis, dass dieses bestimmte Objekt zu einem bestimmten Zeitpunkt vorhanden waren.

Verwenden den gleichen Ansatz, kann ein Objekt überprüft und validiert werden. Ein Flow ähnelt, die ich für die der Prozess der signaturvergabe beschrieben erstellt einen eindeutigen Namen und dieser eindeutigen Bezeichner für den blockchainledger überprüft. Wenn eine Übereinstimmung vorliegt, gibt dem smart Contract die originalen Hashwert zurück. Wenn dies nicht der Fall, das Dokument überprüft wird, ist nicht identisch mit der ursprünglichen Kopie und sollte nicht als vertrauenswürdig eingestuft implizit. Daher können Sie, zweifellos, Nachweis, dass das Dokument oder ein digitales Objekt echt und vorhandene zu einem bestimmten Zeitpunkt ist.

Smart Contract FileContract macht eine GetFile-Methode, die mit einer Datei-ID in der Eingabe, die Vertragsadresse in der Blockchain gibt, verfügbar. Von der Adresse der Datei-Vertrag, die es ist möglich, rufen die Dateiinhalte und Metadaten-Hashwerte und vergleichen wie diese mit den Hashwerten der das Dokument überprüft wird, folgt:

function GetFile(string fileId) public constant
returns(address fileContractAddress)
{
  return Registry[fileId].FileContractAddress;
}

Zusammenfassung

Warum verwenden Blockchain zum Signieren und Überprüfen der digitale Ressourcen bei Lösungen für die elektronische Signatur ist bereits vorhanden und werden in der Branche umgesetztes? Kurz gesagt, Blockchains einen zentralen Zertifizierungsstelle oder der Mitte mit Zeitstempel Server überflüssig und digitale Signaturen, die in einer Blockchain unabhängig von der das Objekt, das signiert Gültigkeitsdauer gespeichert ermöglichen. Daraufhin wird auf Möglichkeiten zur parallel von signier- und unabhängigen Überprüfung mit oder ohne das Objekt selbst.

Herkömmliche-e-Signierung Lösungen speichern digitale Signaturen innerhalb des Dokuments. Dies bedeutet, dass es sich bei, dass Personen mit überprüfen muss, ob ein Dokument unterzeichnet wird mit vollständigen Lesezugriff auf den gesamten Inhalt in das Dokument hat. Darüber hinaus, da das Dokument mit jeder Signatur ändert, Signieren von Dokumenten parallel ist nicht möglich, muss jeder sequenziell Signieren des Dokuments. Durch das Signieren von Dokumenten in einer Blockchain, das Objekt selbst wird nicht durch die Signatur geändert, und dadurch können Sie zum Signieren von Dokumenten, die parallel aus, und implementieren Geschäftsregeln, die basierend auf den Mandaten, 4-Eyes, stimmen, Betriebszugehörigkeit oder ähnliches.

Schließlich, aber nicht weniger wichtig ist, können Sie mehrere Aktionen in einer Sequenz in eine blockchain-Komponente registrieren. Jeder Registrierung ist ein spezieller Fall, Dokument und Tasks, die von den Beteiligten, erstellen eine Kette von Transaktionen ausgeführt verknüpft: einen überwachbaren Trail. Diese Audit-Trail von autorisierten Dritten bereitstellen Transparenz, Konformität überprüft werden können und allem vertrauen.

Weitere Informationen zu Azure Blockchain Development Kit finden Sie eine Vielzahl von Videos auf Channel 9 unter der "Block" sprechen"anzeigen (aka.ms/bcblocktalk). Wenn Sie möchten, Sie können auch auf dem Laufenden bleiben mit aus der Azure Blockchain-Produktgruppe die neuesten Ankündigungen anhand der @MSFTBlockchain Twitter-Handle (twitter.com/MSFTBlockchain).

Die Azure Blockchain Development Kit-Projekt sind jederzeit Willkommen, Beiträge und Vorschläge. Bei den meisten Beiträgen müssen Sie auf einen Contributor License Agreement (CLA) deklariert, dass Sie berechtigt, und tatsächlich, gewähren Microsoft die Nutzungsrechte für Ihren Beitrag. Wenn Sie einen Pull Request übermitteln, bestimmt ein CLA-Bot automatisch, ob Sie eine CLA bereitstellen und die Anforderung entsprechend ergänzen müssen (die ist, Hinzufügen von Bezeichnungen oder Kommentare zu Ihrem Code).


Stefano Tempestaist Microsoft Regional Director, MVP, künstliche Intelligenz und Business-Anwendungen und das Mitglied der Blockchain-Rat. Regelmäßiger Referent bei Konferenzen für internationale IT, einschließlich Microsoft Ignite und Tech Summit, erweitern Sie Tempestas Interessen Blockchain und AI-verwandten Technologien. Er erstellt "Blogchain Space" (blogchain.space), ein Blog zur blockchaintechnologien schreibt für MSDN-Magazin und MS Dynamics-Welt und Machine Learning-Experimente in Azure AI-Katalog veröffentlicht.

Unser Dank gilt dem folgenden technischen Experten für die Durchsicht dieses Artikels: Jonathan Waldman