# Practical Implementation of a Blockchain-Enabled SDN for Large-Scale Infrastructure Networks
## 1 Introduction  
In recent years, modern networking concepts have evolved far beyond the traditional network systems where the network devices were not flexible with their services and they only contained a predefined set of supported protocols and instructions. Such obsolete hardware devices are tedious to update with firmware upgrades, and sometimes an easier solution is to simply replace the devices with newer products. All of this manual interaction with the hardware has led researchers and major network operators to design new ways of designing networks using the principle of network function virtualization. NFV assumes that any hardware device can run hypervisors that enable and disable services depending on the current business demands. This allows for seamless real-time software updates of the middleware network devices that create the Internet and gives the opportunity to enhance the network devices with multiple paradigms (e.g., SDN) and with multiple technology stacks (e.g., blockchain, AI, etc.). Therefore, heterogeneity in regard to both hardware and used technologies is a main characteristic of modern networking. The current paper explores complex practical use cases where Internet Service Providers (ISPs) can improve their services by integrating the SDN paradigm together with a blockchain system. The solution proposes the use of SDN controllers as blockchain nodes and presents an architectural solution for managing large-scale infrastructure networks, specifically a federation of heterogeneous ISPs, that integrate the proposed solution. The SDN architecture adds flexibility to network management through NFV, improving network efficiency using new high-level abstractions. The blockchain system adds transparency, trust, security,ledger traceability and improved energy efficiency through optimized resource allocation in the business network. The practical use cases refer to both business design ideas, but also to the implementation details of the proof of concept that was created, which is using Mininet as the SDN platform in a Linux environment and the POX SDN controller, whose source code was enhanced with blockchain functionality using the go-ethereum implementation of the Ethereum protocol. One of the objectives of the current research is to provide a framework for developing ideas and other practical use cases with the aforementioned practical implementation details, which, to the knowledge of the authors, is one of the first attempts to integrate these technologies in a concrete proof of concept. One use case that is supported by the current article is highlighted in Figure 1, namely, it shows multiple virtual ISPs (vISPs) who individually manage their own internal networks using the SDN architecture, having an SDN controller that manages the networking infrastructure. The ISPs are part of a federation, and each ISP can offer services to any other ISP in the federation, e.g., the domain registration service, which may only be available from certain ISPs, not all of them. A federation refers to a group of entities that adhere to, and undertake to conform to, integrate a certain negotiated standard and function according to the adopted standard. The blockchain system is used to validate the service provisioning of an ISP for the other ISPs. The blockchain system is implemented on the SDN controllers, i.e., the SDN controllers communicate between themselves over the blockchain network, validating and confirming that the services are indeed correctly and legitimately being provided.