# Quaternionic slice hyperbolic backward shift operators and adaptive greedy
algorithm

Ming Jin  ,  Ieng Tak Leong  ,  Tao Qian  and  Guangbin Ren  Ming Jin, school
of Mathematical sciences, Fudan University, Shanghai 200433, China
jinming$\char 64\relax$fudan.edu.cn Ieng Tak Leong, Department of Mathematics,
Faculty of Science and Technology, University of Macau, Macao, China
itleong$\char 64\relax$umac.mo Tao Qian, Macau Institute of Systems
Engineering, Macau University of Science and Technology, Macau, China
tqian$\char 64\relax$must.edu.mo Guangbin Ren, Department of Mathematics,
University of Science and Technology of China, Hefei 230026, China
rengb$\char 64\relax$ustc.edu.cn

###### Abstract.

In the slice Hardy space over the unit ball of quaternions, we introduce the
slice hyperbolic backward shift operators $\mathcal{S}_{a}$ based on the
identity

$f=e_{a}\langle f,e_{a}\rangle+B_{a}*\mathcal{S}_{a}f,$

where $e_{a}$ denotes the slice normalized Szegö kernel and $B_{a}$ the slice
Möbius transformation. By iterating the identity above, the greedy algorithm
gives rise to the slice adaptive Fourier decomposition via maximum selection
principle. This leads to the slice Takenaka-Malmquist orthonormal system.

###### Key words and phrases:

adaptive Fourier decomposition, Takenaka-Malmquist system, slice regular
function, quaternion

###### 2010 Mathematics Subject Classification:

30G35, 15A66

##  1\. Introduction

The purpose of this article is to introduce the quaternionic slice hyperbolic
backward shift operators $\mathcal{S}_{a}$ in the slice Hardy space
$H^{2}(\mathbb{B})$ in the unit ball of quaternions. It brings an expression
of a function $f\in H^{2}(\mathbb{B})$ which can be decomposed into a subspace
generated by a slice normalized Szegö kernel $e_{a}$ with the remainder terms
involving $\mathcal{S}_{a}$. This iterating process leads to the decomposition
of $f\in H^{2}(\mathbb{B})$ associated to the slice Takenaka-Malmquist
orthonormal system.

Our motivation comes from the adaptive Fourier decomposition of the
holomorphic Hardy spaces in the unit disc of complex plane [16]. This
decomposition provides an adaptive, or rapid, approximations by a series of
parameterized reproducing kernels. It achieves a greedy algorithm through the
choices based on the maximal selection principle. In the process there arises
the Takenaka-Malmquist orthonormal system, which recovers the classical
Fourier system when all the parameters are chosen to be zero. Since the
functions in the Takenaka-Malmquist orthonormal system are all rational
functions, it results in the theory of approximation by rational functions
instead of polynomials. The Takenaka-Malmquist system can be thought of as the
hyperbolic version of the Fourier system. The advantage of the hyperbolic
version over the classical Fourier algorithm lies at its fast approximation.
The adaptive Fourier decomposition allows repeating selections of the
parameters that leads to the best matching pursuit at each step of parameter
selection. None of an existed matching pursuit algorithm or greedy algorithm
enjoys this optimality for they do not allow repeating selections of the
parameters. Especially, it offers an effective and useful sparse
representation when in the function space understudy there does exist an
approximation theory [1]. As a rational orthogonal decomposition, the adaptive
Fourier decomposition can also approximate meromorphic functions that cannot
be done by polynomials, which results in substantial developments and
comprehensive applications such as digital signal processing [14], image
processing [13], and system identification [21].

Our main result is about the slice adaptive Fourier decomposition of slice
regular functions over quaternions. It is a higher dimension extension of the
adaptive Fourier decomposition in one complex variable. The slice regular
theory of quaternions was initiated by Gentili and Struppa [10]. This theory
generalize the holomorphic theory of one complex variable to quaternions. It
is remarkable that the slice regular function theory relies on the slice
structure of quaternions, which is different from the monogenic function
theory over Clifford algebras. The great difference among the slice analysis,
Clifford analysis, several complex variables is due to the canonical topology
in slice analysis distinct to the Euclidean topology; see [7]. The slice
theory shows vigorous vitality in non-commutative Clifford algebra [2], and
non-associative real alternative algebras [11], [18]. It also has significant
applications in differential geometry [8], geometric function theory [17], and
operator theory [3].

To state our main results, we need some notations. The slice Hardy space
$H^{2}(\mathbb{B})$ over the unit ball of the quaternions consists of slice
regular functions $f:\mathbb{B}\to\mathbb{H}$ satisfying

$\|f\|:=\Big{(}\frac{1}{4\pi^{2}}\int_{\partial\mathbb{B}}\frac{1}{|Im(q)|^{2}}|f(q)|^{2}d\sigma\Big{)}^{1/2}<\infty,$

where $d\sigma$ is the Lebesgue surface measure on $\partial\mathbb{B}$. The
polarization identity of this norm provides $H^{2}(\mathbb{B})$ with an inner
product so that it becomes a quaternionic Hilbert space with reproducing
kernel. Its normalized reproducing kernel is called the slice normalized Szegö
kernel, defined as

$e_{a}(q):=\sqrt{1-|a|^{2}}(1-q\bar{a})^{-*},$

for a parameter $a\in\mathbb{B}$ and any $q\in\mathbb{B}$. Here we denote the
$*$ product as

$f*g(z)=\sum_{n=0}^{\infty}q^{n}\sum_{k=0}^{n}a_{k}b_{n-k},$

for any two slice regular functions

$f=\sum_{n=0}^{\infty}q^{n}a_{n}\quad\mbox{and}\quad
g=\sum_{n=0}^{\infty}q^{n}b_{n},$

with all $a_{n},b_{n}\in\mathbb{H}.$ Thus, $f^{-*}$ denote as the inverse of
$f$ under this $*$-product.

Based on the $*$-product, we introduce the quaternionic slice hyperbolic
backward shift operators $\mathcal{S}_{a}$, which is uniquely determined by
the identity

(1.1) $\displaystyle f=e_{a}\langle f,e_{a}\rangle+B_{a}*\mathcal{S}_{a}f,$

for any $a\in\mathbb{B}$. Here $B_{a}$ is the slice Möbius transformation:

$B_{a}(q):=(1-q\bar{a})^{-*}*(a-q)\frac{a}{|a|}.$

Iterating the construction in (1.1), we achieve an algebraic relation

(1.2) $\displaystyle f=\sum_{j=1}^{n}T_{j}\langle
f,T_{j}\rangle+B_{n}*\big{(}\mathcal{S}_{a_{n}}\circ\cdots\circ\mathcal{S}_{a_{1}}f\Big{)}$

for any $a_{1},\ldots,a_{n}\in\mathbb{H}$, where we denote

$T_{n}=B_{n}*e_{a_{n}},$

and

$B_{n}=B_{a_{1}}*B_{a_{2}}*\cdots*B_{a_{n-1}}.$

Here $\\{T_{n}\\}_{j=1}^{n}$ is defined to be the slice Takenaka-Malmquist
system which constitutes an slice orthonormal system in $H^{2}(\mathbb{B})$
associated with the non-orthogonal set $\\{e_{a_{j}}\\}_{j=1}^{n}$. We point
out that in the classical case TM system comes from the Gram-Schmidt
orthogonalization process of the normalized Szegö kernels. However, in our
slice case, the process is no longer valid since the product among slice
regular functions is $*$-product. This $*$-product brings challenge of
verifying the orthogonality of TM system.

Decomposition (1.2) can be restated as a Beurling-Lax type relation:

(1.3) $\displaystyle
H^{2}(\mathbb{B})=\mbox{span}\\{T_{1},\ldots,T_{n}\\}\oplus
B_{n}*H^{2}(\mathbb{B}).$

By applying the maximum selection principle, we obtain the slice $AFD$ Fourier
decomposition.

The paper is organized as follows. In section 2, we recall some basic concepts
and results of slice regular functions. In section 3, we introduce the slice
Hardy space and its dictionary. In section 4, The slice Takenaka-Malmquist
orthonormal system is established. In section 5, We introduce the iteration
process, the adaptive selecting process, and prove convergence of the slice
adaptive Fourier series. In section 6 a convergence rate result is proved. The
case of slice Hardy space of the right half plane is outlined in section 7.

##  2\. Preliminary

This paper works on slice regular functions over the non-commutative
quaternionic field. Firstly, the quaternionic field $\mathbb{H}$ is linearly
generated by an orthogonal basis $\\{1,e_{1},e_{2},e_{3}:=e_{1}e_{2}\\}$ of
$\mathbb{R}^{4}$ with the following multiplication rule:

$e_{i}e_{j}+e_{j}e_{i}=-2\delta_{ij},\quad\quad i,j=1,2,3,$

where $\delta_{ij}$ equals $1$ if $i=j$ and $0$ otherwise.

Now we recall some definitions and results of the slice regular function
theory [10]. This theory is based on the slice structure of $\mathbb{H}$, i.e.

$\mathbb{H}=\bigcup_{I\in\mathbb{S}}\mathbb{C}_{I},$

where $\mathbb{S}$ denotes the set of imaginary units of $\mathbb{H}$, namely,

$\mathbb{S}:=\\{q\in\mathbb{H}\ \bm{\big{|}}\ q^{2}=-1\\},$

and $\mathbb{C}_{I}$ denotes the slice of $\mathbb{H}$ associated with $I$,
i.e.,

$\mathbb{C}_{I}:=\\{x+yI,\quad x,y\in\mathbb{R}\\}.$

According to the slice structure, any $q\in\mathbb{H}$ can be written as
$q=x+yI$ with $x,\ y\in\mathbb{R}$ and $I\in\mathbb{S}$.

######  Definition 2.1 (slice function).

Let $\Omega$ be a set in $\mathbb{H}$, and $f$ be a quaternion-valued function
defined on $\Omega$ that satisfies

$f(x+yJ)=\frac{1}{2}\big{(}f(x+yI)+f(x-yI)\big{)}+\frac{JI}{2}\big{(}f(x-yI)-f(x+yI)\big{)}$

provided $x,\ y\in\mathbb{R}$ and $I,\ J\in\mathbb{S}$ such that $x+yI$ and
$x+yJ$ belong to $\Omega$. Then the function $f$ is said to be a slice
function on $\Omega$.

######  Definition 2.2 (slice regular function).

Let $f$ be a slice function defined on a domain $\Omega\subset\mathbb{H}$. For
each $I\in\mathbb{S}$, let $\Omega_{I}:=\Omega\cap\mathbb{C}_{I}$ and
$f_{I}:=f|_{\Omega_{I}}$ be the restriction of $f$ to $\Omega_{I}$. The
restriction $f_{I}$ is said to be holomorphic if it has continuous partial
derivatives and

$\bar{\partial}_{I}f_{I}(x+yI)=\frac{1}{2}\big{(}\partial_{x}+I\partial_{y}\big{)}f_{I}(x+yI\big{)}=0.$

If for each $I\in\mathbb{S}$, $f_{I}$ is holomorphic in $\Omega_{I}$, then $f$
is called a slice (left) regular function.

######  Remark 2.3.

Similarly, we can define slice (right) regular functions.

######  Lemma 2.4 (splitting).

Let $I\in\mathbb{S}$ and $\Omega_{I}$ be open in $\mathbb{C}_{I}$. The
function $f_{I}:\Omega_{I}\to\mathbb{H}$ is holomorphic if and only if, for
all $J\in\mathbb{S}$ with $J\perp I$ and every $z=x+yI$, there holds

$f_{I}(z)=F(z)+G(z)J,$

where $F,\ G:\Omega_{I}\to\mathbb{C}_{I}$ are complex-valued holomorphic
functions of one complex variable.

In the slice regular function theory, the usual multiplication of two slice
regular functions is no longer slice regular in general. So there comes the
$*$-product.

######  Definition 2.5 ($*$-product).

Let $\mathbb{B}$ be the Euclidean unit ball of $\mathbb{H}$. Let $f,\
g:\mathbb{B}\to\mathbb{H}$ be slice regular functions and let
$f(q)=\sum_{n\in\mathbb{N}}q^{n}a_{n},\ g(q)=\sum_{n\in\mathbb{N}}q^{n}b_{n}$
where $a_{n},b_{n}\in\mathbb{H}$ be their power series expansions. The
$*$-product of $f$ and $g$ is the slice regular function defined by (see [9],
Definition 1.26)

$(f*g)(q)=\sum_{n\in\mathbb{N}}q^{n}\sum_{k=0}^{n}a_{k}b_{n-k}.$

The regular conjugate of $f$ is the slice regular function defined by

$f^{c}(q)=\sum_{n\in\mathbb{N}}q^{n}\bar{a}_{n}.$

The symmetrization of $f$ is defined to be the function

$f^{s}=f*f^{c}=f^{c}*f.$

Furthermore, if $f\neq 0$, the regular reciprocal of $f$ is the function
defined on $\mathbb{B}\setminus Z_{f^{s}}$ as

$f^{-*}=\frac{1}{f^{s}}f^{c},$

where $Z_{f^{s}}$ is the zero set of $f^{s}$.

The $*$-product of two slice regular functions is slice regular and it is
related to the usual multiplication through the following relations (see [9],
Theorem 3.4):

(2.1) $(f*g)(q)=\begin{cases}f(q)g(\tilde{q}),\quad&\textit{if }f(q)\neq 0,\\\
0,\quad&\mbox{otherwise},\end{cases}$

where $\tilde{q}=f^{-1}(q)qf(q)\in[q]$ with $[q]$ the symmetry of $q=x+yI$
defined by

$[q]:=\\{x+yJ\ \bm{\big{|}}\ J\in\mathbb{S}\\}.$

Furthermore,

(2.2) $f^{-*}*g(q)=f^{-1}(\hat{q})g(\hat{q}),\quad\quad\forall
q\in\mathbb{B}\setminus Z_{f^{s}},$

where $\hat{q}=f^{c}(q)^{-1}qf^{c}(q)\in[q]$.

A set $\Omega\subset\mathbb{H}$ is called axially symmetry if for any point
$q\in\Omega$, there holds $[q]\subset\Omega$.

######  Definition 2.6.

Let $\Omega$ be an axially symmetric domain in $\mathbb{H}$. A slice regular
function $f:\Omega\to\mathbb{H}$ such that
$f(\Omega_{I})\subset\mathbb{C}_{I}$ for all $I\in\mathbb{S}$ is called a
slice preserving function.

######  Remark 2.7.

If $f$ is a slice function on an axially symmetric domain $\Omega$, its
symmetrization function $f^{s}:\Omega\to\mathbb{H}$ is a slice preserving
function.

######  Theorem 2.8 (Cauchy’s formula).

Let $f$ be a slice regular function on an open set $\Omega\subset\mathbb{H}$.
If $U$ is a bounded axially symmetric open set with $\bar{U}\subset\Omega$
where $\bar{U}$ is the closure of $U$ and if $\partial U_{I}$ for
$I\in\mathbb{S}$ is a finite union of disjoint rectifiable Jordan curves, then
for $q\in U$,

$f(q)=\frac{1}{2\pi}\int_{\partial U_{I}}(s-q)^{-*}ds_{I}f(s).$

where $ds_{I}=-Ids$.

##  3\. The slice Hardy space over $\mathbb{B}$

Let $\mathbb{B}$ be the Euclidean unit ball of $\mathbb{H}$ and
$\mathbb{T}:=\partial\mathbb{B}$ be its boundary. For any $I\in\mathbb{S}$,
denote $\mathbb{T}_{I}:=\mathbb{T}\cap\mathbb{C}_{I}$. Let
$L^{2}(\mathbb{T}_{I})$ be the function space consisting of Lebesgue
measurable slice functions $f$ defined in $\mathbb{T}$ for which

$\frac{1}{2\pi}\int_{0}^{2\pi}|f_{I}(e^{It})|^{2}dt<\infty.$

The splitting lemma provides a power series expansion of $f_{I}$, i.e.

(3.1) $f_{I}(e^{It})=\sum\limits_{k=-\infty}^{\infty}e^{Ikt}a_{k},$

where $a_{k}\in\mathbb{H}$ satisfying

$\sum\limits_{k=-\infty}^{\infty}|a_{k}|^{2}<\infty.$

For any $f,\ g\in L^{2}(\mathbb{T}_{I})$, the inner product

$\left<\cdot,\cdot\right>:L^{2}(\mathbb{T}_{I})\times
L^{2}(\mathbb{T}_{I})\rightarrow\mathbb{H}$

is defined by

(3.2)
$\left<f_{I},g_{I}\right>:=\frac{1}{2\pi}\int_{0}^{2\pi}\overline{g_{I}(e^{It})}f_{I}(e^{It})dt.$

It is easy to verify that $\left<\cdot,\cdot\right>$ is an inner product. i.e.
for any $f,g,h\in L^{2}(\mathbb{T}_{I})$ and $\lambda,\mu\in\mathbb{H}$, there
hold

  * •

$\left<f_{I}\lambda+g_{I}\mu,h_{I}\right>=\left<f_{I},h_{I}\right>\lambda+\left<g_{I},h_{I}\right>\mu.$

  * •

$\left<f_{I},g_{I}\right>=\overline{\left<g_{I},f_{I}\right>}.$

  * •

$\left<f_{I},f_{I}\right>\geqslant 0$, where the equality holds if and only if
$f_{I}=0$.

Furthermore, there holds the Cauchy-Schwarz inequality, i.e.

(3.3)
$|\left<f_{I},g_{I}\right>|^{2}\leqslant\left<f_{I},f_{I}\right>\left<g_{I},g_{I}\right>.$

The power series expansion in (3.1) shows that $L^{2}(\mathbb{T}_{I})$ is a
right $\mathbb{H}$-module. Thus, $L^{2}(\mathbb{T}_{I})$ equipped with the
inner product $\left<\cdot,\cdot\right>$ is a right $\mathbb{H}$-module inner
product space.

Denote

$H_{+}^{2}(\mathbb{T}_{I}):=\\{f_{I}(e^{It})=\sum\limits_{k=0}^{\infty}e^{Ikt}a_{k}\
:\ \ a_{k}\in\mathbb{H},\ \ \sum\limits_{k=0}^{\infty}|a_{k}|^{2}<\infty\\}.$

It is a closed subspace of $L^{2}(\partial\mathbb{B}_{I})$. Recall that the
Hilbert transformation

$\tilde{H}:L^{2}(\mathbb{T}_{I})\to L^{2}(\mathbb{T}_{I})$

is defined by

$\tilde{H}f_{I}(e^{It})=\sum\limits_{k=-\infty}^{\infty}(-I)\mathrm{sgn}(k)e^{Ikt}a_{k},$

where $a_{0}$ is the coefficient in formula (3.1). Thus, each $f\in
H^{2}(\mathbb{T}_{I})$ can be represented as

$f_{I}=\frac{a_{0}+f_{I}+I\tilde{H}f_{I}}{2}.$

In fact, $L^{2}(\mathbb{T}_{I})$ has the following direct sum decomposition

(3.4) $L^{2}(\mathbb{T}_{I})=H_{+}^{2}(\mathbb{T}_{I})\oplus
H_{-}^{2}(\mathbb{T}_{I}),$

where

$H_{-}^{2}(\mathbb{T}_{I}):=\\{f_{I}(e^{It})=\sum\limits_{k=-\infty}^{-1}e^{Ikt}a_{k}:\
\ a_{k}\in\mathbb{H},\ \ \sum\limits_{k=0}^{\infty}|a_{k}|^{2}<\infty\\}.$

Now we introduce the function space $H^{2}(\mathbb{B}_{I})$ with
$I\in\mathbb{S}$ to be the function space consisting of slice regular
functions $f$ defined in $\mathbb{B}$ for which

$\|f_{I}\|^{2}:=\sup\limits_{0\leqslant
r<1}\frac{1}{2\pi}\int_{0}^{2\pi}|f_{I}(re^{It})|^{2}dt<\infty.$

For any $f\in H^{2}(\mathbb{B}_{I})$, define its radial limit

(3.5) $\hat{f_{I}}(e^{It}):=\lim_{r\to 1}f_{I}(re^{It}).$

The limit $\hat{f}_{I}$ exists almost everywhere.

######  Theorem 3.1.

Let $f\in H^{2}(\mathbb{B}_{I})$ for some $I\in\mathbb{S}$. The radial limit
of $f_{I}$ exists at almost everywhere of $\mathbb{T}_{I}$. Furthermore, there
is an isometric isomorphism

$\displaystyle H^{2}(\mathbb{B}_{I})$ $\displaystyle\to$ $\displaystyle
H_{+}^{2}(\mathbb{T}_{I})$ $\displaystyle f$ $\displaystyle\mapsto$
$\displaystyle\hat{f_{I}}.$

###### Proof.

Splitting lemma shows there exists $J\in\mathbb{S}$ with $J\perp I$ such that

$f(re^{It})=F(re^{It})+G(re^{It})J,$

where $F,\ G:\mathbb{B}_{I}\to\mathbb{C}_{I}$ are holomorphic functions. The
Hardy space theory on the unit disc of $\mathbb{C}$ shows the existence of the
radial limitations of holomorphic function $F$, i.e.

$\hat{F}(e^{It}):=\lim_{r\to 1}F(re^{It}),$

as well as the equality

$\frac{1}{2\pi}\int_{0}^{2\pi}|\hat{F}(e^{It})|^{2}dt=\sup\limits_{0\leqslant
r<1}\frac{1}{2\pi}\int_{0}^{2\pi}|F(re^{It})|^{2}dt.$

Thus, the limit $\hat{f_{I}}$ exists, i.e.

$\displaystyle\hat{f_{I}}(e^{It})=$ $\displaystyle\lim_{r\to
1}\big{(}F(re^{It})+G(re^{It})J\big{)}$ $\displaystyle=$
$\displaystyle\hat{F}(e^{It})+\hat{G}(e^{It})J.$

Moreover, we obtain

$\displaystyle\sup\limits_{0\leqslant
r<1}\frac{1}{2\pi}\int_{0}^{2\pi}|f_{I}(re^{It})|^{2}dt$
$\displaystyle=\sup\limits_{0\leqslant
r<1}\frac{1}{2\pi}\int_{0}^{2\pi}|F(re^{It})|^{2}dt+\sup\limits_{0\leqslant
r<1}\frac{1}{2\pi}\int_{0}^{2\pi}|G(re^{It})|^{2}dt.$
$\displaystyle=\frac{1}{2\pi}\int_{0}^{2\pi}|\hat{F}(e^{It})|^{2}dt+\frac{1}{2\pi}\int_{0}^{2\pi}|\hat{G}(e^{It})|^{2}dt.$
$\displaystyle=\frac{1}{2\pi}\int_{0}^{2\pi}|\hat{f}_{I}(e^{It})|^{2}dt.$

Namely,

$\|f_{I}\|^{2}=\frac{1}{2\pi}\int_{0}^{2\pi}|\hat{f}_{I}(e^{It})|^{2}dt.$

∎

######  Remark 3.2.

For any slice regular function $f$ and for any $I,J\in\mathbb{S}$, $f_{I}\in
H^{2}(\mathbb{B}_{I})$ if and only if $f_{J}\in H^{2}(\mathbb{B}_{J})$.

######  Remark 3.3.

The $L^{2}(\mathbb{T})$ space can be expressed as direct sum of the two
corresponding Hardy spaces, the latter consisting of boundary limits of well
behaved holomorphic functions. Due to this relation, studies of functions of
finite energy may use complex analysis methods. This shows the role and
importance of Hardy space theory.

######  Definition 3.4.

The slice Hardy space $H^{2}(\mathbb{B})$ consists of slice regular functions
$f$ defined in $\mathbb{B}$ which satisfies

(3.6)
$\displaystyle\|f\|^{2}:=\frac{1}{4\pi^{2}}\int_{\partial\mathbb{B}}\frac{1}{|Im(q)|^{2}}|f(q)|^{2}d\sigma(q)<\infty,$

where $d\sigma$ is the surface area element on $\partial\mathbb{B}$.

Based on the slice technique and cylindrical coordinate transformation [12],
we can polarize (3.6) to one slice as following:

$\displaystyle\left<f,g\right>:=$
$\displaystyle\frac{1}{4\pi^{2}}\int_{T^{2}}\sin\theta_{1}d\theta\int_{\partial\mathbb{B}_{I(\theta)}}\overline{g(x+I(\theta)y)}f(x+I(\theta)y)dxdy$
$\displaystyle=$
$\displaystyle\frac{1}{2\pi}\int_{T^{2}}\sin\theta_{1}d\theta\frac{1}{2\pi}\int_{0}^{2\pi}\overline{g(e^{I(\theta)t})}f(e^{I(\theta)t})dt$
$\displaystyle=$
$\displaystyle\frac{1}{2\pi}\int_{T^{2}}\sin\theta_{1}d\theta\left<f_{I(\theta)},g_{I(\theta)}\right>,$

where $\theta=(\theta_{1},\theta_{2})\in T^{2}:=[0,\pi]^{2}$ and

$I(\theta):=(e_{1},e_{2},e_{3})\varphi(\theta)\in\mathbb{S}$

with

$\displaystyle\varphi(\theta)=$
$\displaystyle{\left(\begin{array}[]{l}\cos\theta_{1}\\\
\sin\theta_{1}\cos\theta_{2}\\\
\sin\theta_{1}\sin\theta_{2}\end{array}\right)}.$

Notice that $H^{2}(\mathbb{B})$ is a reproducing kernal Hilbert space. For any
$a\in\mathbb{B}$, define the slice normalized Szegö kernal as

(3.7) $e_{a}(q):=e(a,q):=\sqrt{1-|a|^{2}}(1-q\bar{a})^{-*},\qquad\forall
q\in\mathbb{B},$

where $-*$ is the regular reciprocal in Definition 2.5. Since
$(1-q\bar{a})^{s}$ does not have zero points, $e_{a}$ is a left slice regular
function over $\mathbb{B}$. Besides, the property of $*$-product shows the
general conjugation of $e_{a}$:

$\overline{e_{a}(q)}=\sqrt{1-|a|^{2}}(1-a\bar{q})^{-*},\qquad\forall
q\in\mathbb{B},$

which is right conjugate slice regular over $\mathbb{B}$. We claim that
$e_{a}$ is a reproducing kernal of $H^{2}(\mathbb{B})$. In fact,

(3.8) $\displaystyle\left<f_{I},(e_{a})_{I}\right>=$
$\displaystyle\frac{1}{2\pi}\int_{0}^{2\pi}\overline{e_{a}(e^{It})}f(e^{It})dt$
$\displaystyle=$
$\displaystyle\frac{\sqrt{1-|a|^{2}}}{2\pi}\int_{\partial\mathbb{B}_{I}}(1-ae^{-It})^{-*}\big{(}e^{-It}(-I)de^{It}\big{)}f(e^{It})$
$\displaystyle=$
$\displaystyle\frac{\sqrt{1-|a|^{2}}}{2\pi}\int_{\partial\mathbb{B}_{I}}(1-a\bar{q})^{-*}*\bar{q}(-Ids)f(q)$
$\displaystyle=$
$\displaystyle\frac{\sqrt{1-|a|^{2}}}{2\pi}\int_{\partial\mathbb{B}_{I}}(q-a)^{-*}(-Ids)f(q)$
$\displaystyle=$ $\displaystyle\sqrt{1-|a|^{2}}f(a),$

where the third equality holds because the function $g(\bar{q})=\bar{q}$ is a
(right) conjugate slice preserving function so that the $*$-product reduces to
the usual multiplication. The last equality holds owing to the Cauchy integral
formula (i.e. Theorem 2.8). Furthermore, since $\sqrt{1-|a|^{2}}f(a)$ is
independent of the imaginary unit of $q$, we obtain

$\left<f,e_{a}\right>=\sqrt{1-|a|^{2}}f(a).$

######  Remark 3.5.

We claim that the operator $\mathcal{S}:L^{2}(\mathbb{T})\rightarrow
L^{2}(\mathbb{T})$ defined by

$\mathcal{S}f(q):=\left<f,e(\cdot,q)\right>$

is an orthogonal projection operator from $L^{2}(\mathbb{T})$ to
$H^{2}(\mathbb{B})$, so $e_{a}$ with $a\in\mathbb{B}$ is actually the Szegö
kernel of $H^{2}(\mathbb{B})$. In fact, the space decomposition (3.4) shows

$f=f^{+}+f^{-},$

where $f^{+}\in H_{+}^{2}(\mathbb{T})$ and $f^{-}\in H_{-}^{2}(\mathbb{T})$
and then the Cauchy formula shows

$\mathcal{S}f(q)=f^{+}(q)\in H^{2}(\mathbb{B}).$

Besides, the conjugte operator of $S$ is

$\mathcal{S}^{*}f(q):=\left<f,\overline{e(q,\cdot)}\right>.$

Since $e(\cdot,q)=\overline{e(q,\cdot)}$, we have

$\mathcal{S}^{*}=\mathcal{S}.$

Denote the class of slice normalized Szegö kernals as:

$\mathcal{D}:=\\{e_{a}|a\in\mathbb{B}\\}.$

######  Theorem 3.6.

$\mathcal{D}$ is a dictionary of $H^{2}(\mathbb{B})$, i.e.

$\overline{span}_{\mathbb{H}}\\{e_{a}|a\in\mathbb{B}\\}=H^{2}(\mathbb{B}).$

Here the left side represents the closure of the right $\mathbb{H}$-module
linear subspace spanned by finite linear combinations of elements in
$\mathcal{D}$.

###### Proof.

If $f\in\overline{span}_{\mathbb{H}}^{\perp}\\{e_{a}|a\in\mathbb{B}\\}$, then
the reproducing property of $e_{a}$ tells us that

$f(a)=0$

for any $a\in\mathbb{B}$. This means $f=0$. ∎

######  Remark 3.7.

Notice that for each $I\in\mathbb{S}$,

$\mathcal{D}_{I}:=\\{e_{a}|a\in\mathbb{B}_{I}\\}$

is also a dictionary of $H^{2}(\mathbb{B})$ as the definition of slice
function shows. However, its slice Takenaka-Malmquist system given by (4.1)
with coefficients in $\mathbb{B}_{I}$ is not a basis of $H^{2}(\mathbb{B})$.

##  4\. Slice rational orthogonal system

For every $a\in\mathbb{B}$, the Blaschke factor (or the Möbius transfrom)
$B_{a}$ is a slice regular function in $\mathbb{B}$ defined as

$B_{a}(q):=(1-q\bar{a})^{-*}*(a-q)\frac{a}{|a|}.$

######  Proposition 4.1 ([4]).

Let $a\in\mathbb{B}$. The Blaschke factor $B_{a}$ has the following
properties:

  * •

it takes the unit ball $\mathbb{B}$ to itself;

  * •

it takes the boundary of the unit ball to itself;

  * •

it has a unique zero point $a$.

A Blaschke product is defined to be a multiple product of a finite number of
Blaschke factors (also see ([4]):

$B_{k}(q):={\prod\limits^{*}}_{j=1}^{k-1}(1-q\bar{a}_{j})^{-*}*(a_{j}-q)\frac{a_{j}}{|a_{j}|},$

where $a_{k}\in\mathbb{B}$ for any $k\in\\{1,2,\cdots\\}$ and we make a
convention that $B_{1}=1$.

In the unit ball $\mathbb{B}$, the slice rational orthogonal system, i.e., the
slice $TM$ system, consists of weighted Blaschke products, i.e. for any
$k\geqslant 1$,

(4.1) $T_{k}:=B_{k}*e_{a_{k}}.$

######  Theorem 4.2.

$\\{T_{k}\\}_{k\geqslant 1}$ is an orthonormal system.

###### Proof.

By definition, for any $k\geqslant 1$ and $I\in\mathbb{S}$,

(4.2)
$\left<(T_{k})_{I},(T_{k})_{I}\right>=\frac{1}{2\pi}\int_{0}^{2\pi}\overline{B_{k}*e_{k}(e^{It})}B_{k}*e_{k}(e^{It})dt.$

Equation (2.1) shows

$B_{k}*e_{k}(e^{It})=B_{k}(e^{It})e_{k}(e^{Jt}),$

where $J\in\mathbb{S}$ such that
$e^{Jt}=B_{k}^{-1}(e^{It})e^{It}B_{k}(e^{It})$. So equation (4.2) becomes

$\left<(T_{k})_{I},(T_{k})_{I}\right>=\frac{1}{2\pi}\int_{0}^{2\pi}\overline{e_{k}(e^{Jt})}\
\overline{B_{k}(e^{It})}B_{k}(e^{It})e_{k}(e^{Jt})dt.$

Proposition 4.1 implies that

$\overline{B_{k}(e^{It})}B_{k}(e^{It})=|B_{k}(e^{It})|^{2}=1.$

By change of variables, the Cauchy integral formula shows

$\displaystyle\left<(T_{k})_{I},(T_{k})_{I}\right>=$
$\displaystyle\frac{1}{2\pi}\int_{0}^{2\pi}\overline{e_{k}(e^{Jt})}e_{k}(e^{Jt})dt$
$\displaystyle=$
$\displaystyle\frac{\sqrt{1-|a_{k}|^{2}}}{2\pi}\int_{\partial\mathbb{B}_{J}}(q-a_{k})^{-*}(-Jds)e_{k}(q)$
$\displaystyle=$ $\displaystyle\sqrt{1-|a_{k}|^{2}}e_{k}(a_{k})$
$\displaystyle=$ $\displaystyle 1.$

Since the result is independent of imaginary $I$, we obtain

$\left<T_{k},T_{k}\right>=1.$

Now we consider the case of different indices where $1\leqslant l<k$

(4.3)
$\left<(T_{k})_{I},(T_{l})_{I}\right>=\frac{1}{2\pi}\int_{0}^{2\pi}\overline{B_{l}*e_{l}(e^{It})}B_{k}*e_{k}(e^{It})dt.$

There we reformulate $B_{k}*e_{k}$ as

$B_{k}*e_{k}:=B_{l}*g,$

where

$g(q)=\big{(}{\prod\limits^{*}}_{j=l}^{k-1}(1-q\bar{a}_{j})^{-*}*(a_{j}-q)\frac{a_{j}}{|a_{j}|}\Big{)}*e_{k}(q).$

As before,

(4.4) $B_{l}*g(e^{It})=B_{l}(e^{It})g(e^{Kt}),$

where $K\in\mathbb{S}$ such that
$e^{Kt}=B_{l}^{-1}(e^{It})e^{It}B_{l}(e^{It})$. Notice that

$B_{l}*e_{l}(e^{It})=B_{l}(e^{It})e_{l}(e^{Kt}).$

Then equation (4.3) becomes

$\left<(T_{k})_{I},(T_{l})_{I}\right>=\frac{1}{2\pi}\int_{0}^{2\pi}\overline{e_{l}(e^{Kt})}\
\overline{B_{l}(e^{It})}B_{l}(e^{It})g(e^{Kt})dt.$

Similarly, we have

$|B_{l}(e^{It})|^{2}=1,$

Again by the change of variables, we apply the Cauchy integral theorem to get

$\displaystyle\left<(T_{k})_{I},(T_{l})_{I}\right>=$
$\displaystyle\frac{1}{2\pi}\int_{0}^{2\pi}\overline{e_{l}(e^{Kt})}g(e^{Kt})dt$
$\displaystyle=$
$\displaystyle\frac{\sqrt{1-|a|^{2}}}{2\pi}\int_{\partial\mathbb{B}_{K}}(q-a_{l})^{-*}(-Kds)g(q)$
$\displaystyle=$ $\displaystyle\sqrt{1-|a|^{2}}g(a_{l})$ $\displaystyle=$
$\displaystyle 0,$

which deduces that

$\langle T_{k},T_{l}\rangle=0.$

This completes the proof. ∎

##  5\. Slice Adaptive Fourier Decomposition

We have known that the slice Hardy space $H^{2}(\mathbb{B})$ is a reproducing
kernel Hilbert space and $T_{k}$ for any $k\geqslant 1$ is a slice rational
orthogonal system in the unit ball $\mathbb{B}$.

In this section, we intend to adaptively decompose functions in the slice
Hardy space into the subspace spanned by $\\{T_{k}\\}_{k\geq 1}$ as following:
For any $f\in H^{2}(\mathbb{B})$ and $a_{1}\in\mathbb{B}$, there is an
equality

$f(q)=e_{a_{1}}(q)\left<f,e_{a_{1}}\right>+B_{a_{1}}*\mathcal{S}_{a_{1}}f,$

where

$\mathcal{S}_{a_{1}}f:=B_{a_{1}}^{-*}*\big{(}f(q)-e_{a_{1}}(q)\left<f,e_{a_{1}}\right>\big{)}.$

Denote

$r_{2}(q):=f(q)-e_{a_{1}}(q)\left<f,e_{a_{1}}\right>$

as the standard remainder and

$f_{2}(q):=S_{a_{1}}f$

as the reduced remainder. By setting $f_{1}=f$, we have

$f_{1}(q)=e_{a_{1}}(q)\left<f_{1},e_{a_{1}}\right>+B_{a_{1}}*f_{2}(q).$

Notice that $a_{1}$ is a removable singularity of $f_{2}$. This is because
$a_{1}$ is a common zero point of function $r_{2}$ and Blaschke factor
$B_{a_{1}}$. In fact, Proposition 4.1 shows $B_{a_{1}}$ has a unique zero
$a_{1}$. Hence, $f_{2}$ is a slice regular function in $\mathbb{B}$.
Meanwhile, by the right $\mathbb{H}$-linear properties of the inner product
$\left<\cdot,\cdot\right>$, we have

(5.1) $\displaystyle\left<e_{a_{1}}\left<f_{1},e_{a_{1}}\right>,r_{2}\right>=$
$\displaystyle\left<e_{a_{1}}\left<f_{1},e_{a_{1}}\right>,f_{1}-e_{a_{1}}\left<f_{1},e_{a_{1}}\right>\right>$
$\displaystyle=$
$\displaystyle\left<e_{a_{1}}\left<f_{1},e_{a_{1}}\right>,f_{1}\right>-\left<e_{a_{1}}\left<f_{1},e_{a_{1}}\right>,e_{a_{1}}\left<f_{1},e_{a_{1}}\right>\right>$
$\displaystyle=$
$\displaystyle\left<e_{a_{1}},f_{1}\right>\left<f_{1},e_{a_{1}}\right>-\overline{\left<f_{1},e_{a_{1}}\right>}\left<e_{a_{1}},e_{a_{1}}\right>\left<f_{1},e_{a_{1}}\right>$
$\displaystyle=$ $\displaystyle 0.$

This deduces that

$\|f_{2}(q)\|^{2}=\|r_{2}(q)\|^{2}=\|f_{1}(q)\|^{2}-|\left<f_{1},e_{a_{1}}\right>|^{2}<+\infty,$

where the first equality holds as shown in the proof of Theorem 4.2. Thus, we
have $f_{2}\in H^{2}(\mathbb{B})$.

Now we can apply the iterative process:

(5.2) $\displaystyle f_{1}(q)=$ $\displaystyle
e_{a_{1}}(q)\left<f_{1},e_{a_{1}}\right>+B_{a_{1}}*f_{2}(q)$ $\displaystyle=$
$\displaystyle
e_{a_{1}}(q)\left<f_{1},e_{a_{1}}\right>+B_{a_{1}}*(e_{a_{2}}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{2}}*f_{3}(q))$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{1}}*B_{a_{2}}*f_{3}(q)$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{1}}*B_{a_{2}}*(e_{a_{3}}(q)\left<f_{3},e_{a_{3}}\right>+B_{a_{3}}*f_{4}(q))$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+T_{3}(q)\left<f_{3},e_{a_{3}}\right>+B_{a_{1}}*B_{a_{2}}*B_{a_{3}}*f_{4}(q)$
$\displaystyle=$ $\displaystyle\cdots$

Theorem 4.2 shows that the first $n-1$ terms are orthogonal to each other, so
we just need to show the orthogonality between each of the summed terms and
the remainder term. In fact, equation (5.1) shows the first step and hence it
is sufficient. Iteration process (7.2) also shows the following equality of
norm:

(5.3)
$\|f_{1}(q)\|^{2}=|\left<f_{1},e_{a_{1}}\right>|^{2}+|\left<f_{2},e_{a_{2}}\right>|^{2}+\cdots+|\left<f_{k},e_{a_{k}}\right>|^{2}+\|f_{k+1}(q)\|^{2}$

Now we have had a decomposition of $f\in H^{2}(\mathbb{B})$. We want to know
that whether it is convergent and how fast it converges as $k\to\infty$.
Clearly, the answer relies on the choice of $a_{n}$. Our purpose is to find
the best $a_{n}$ in the $n$-th step that grasps the largest possible energy
from the remainder. The premise is that the maximal choice must exist.

######  Theorem 5.1 (maximum selection principle).

For any $f\in H^{2}(\mathbb{B})$, there exists an element $a\in\mathbb{B}$
such that

$|\left<f,e_{a}\right>|=\max\limits_{b\in\mathbb{B}}|\left<f,e_{b}\right>|.$

###### Proof.

We only need to prove that

$\lim_{|a|\to 1}|\left<f,e_{a}\right>|=\sqrt{1-|a|^{2}}|f(a)|=0.$

In fact, Theorem 3.1 implies there exists a polynomial $g$ defined in the
closure of $\mathbb{B}$ such that

$\|f-g\|<\varepsilon.$

So we can use $g$ to divide the inner product into two part

$\left<f,e_{a}\right>=\left<f-g,e_{a}\right>+\left<g,e_{a}\right>.$

The boundedness of $g$ in the closure of $\mathbb{B}$ shows

$|\left<g,e_{a}\right>|=\sqrt{1-|a|^{2}}|g(a)|\leqslant C\sqrt{1-|a|^{2}},$

where $C$ is a positive constant. On the other hand, the Cauchy-Schwarz
inequality (3.3) shows

$|\left<f-g,e_{a}\right>|\leqslant\|f-g\|^{2}<\varepsilon.$

∎

######  Lemma 5.2.

Let $f_{n},\ r_{n},\ T_{n},e_{a_{n}}$ for $n\geqslant 1$ be the functions in
equation (7.2). Then we have

$\left<f_{n},e_{a_{n}}\right>=\left<r_{n},T_{n}\right>=\left<f,T_{n}\right>.$

###### Proof.

For the first equality, recall that

$r_{n}=B_{n}*f_{n},\quad T_{n}=B_{n}*e_{n}.$

Following the proof of Theorem 4.2, we obtain

$\displaystyle\left<r_{n},T_{n}\right>=$
$\displaystyle\left<B_{n}*f_{n},B_{n}*e_{n}\right>$ $\displaystyle=$
$\displaystyle\left<f_{n},e_{a_{n}}\right>.$

For the second equation, Theorem 4.2 shows

$\left<T_{k},T_{n}\right>=0,\quad 1\leqslant k<n.$

Hence, the iteration formula (7.2) deduce

$\left<f,T_{n}\right>=\left<r_{n},T_{n}\right>.$

∎

######  Theorem 5.3.

Let $f\in H^{2}(\mathbb{B})$, for any $n\geqslant 1$, the parameters $a_{n}$
is chosen according to the maximal selection principleas in Theorem 5.1, then

$f=\sum\limits_{n=1}^{\infty}T_{n}\left<f,e_{a_{n}}\right>=\sum\limits_{n=1}^{\infty}T_{n}\left<f,T_{n}\right>.$

###### Proof.

In the last two sections, we have introduced the slice Hardy space
$H^{2}(\mathbb{B})$ of the slice regular functions over the quaternion field.
When equipped with the inner product $\left<\cdot,\cdot\right>$, it is a
quaternion Hilbert space. By virtue of the Cauchy’s formula, we obtained the
slice normalized Szegö kernal $\\{e_{a}\\}_{a\in\mathbb{B}}$. Together with
$e_{a}$, the slice Möbius transformation and $*$-product, there is an
orthogonal system $\\{T_{k}\\}_{k\geq 1}$. With maximum selection principle,
these prepared results and some deduced conclusions of quaternion Hilbert
space, we can translate the proof of Theorem 2.2 in [16] word by word to get a
parallel result by substituting the classical results of complex Hardy space
with our prepared results of quaternion version in corresponding place. ∎

##  6\. The convergence rate

In this section, we introduce a convergence rate for slice adaptive Fourier
decomposition. For Hardy space, its boundary function belongs to $L^{2}$-space
and the rate of convergence of a function in Hardy space relies on its
smoothness in general. For this reason, we consider the convergence rate in a
subclass of $H^{2}(\mathbb{B})$, defined by:

$H^{2}(\mathcal{D},M):=\\{f\in
H^{2}(\mathbb{B}):f=\sum\limits_{k=1}^{\infty}c_{k}e_{b_{k}},\
e_{b_{k}}\in\mathcal{D},\ \sum\limits_{k=1}^{\infty}|c_{k}|\leqslant M\\},$

where $\mathcal{D}$ is the dictionary consists of slice normalized Szegö
kernels and $M$ is a positive constant.

######  Lemma 6.1.

If $f\in H^{2}(\mathcal{D},M)$, then $\|f\|\leqslant M$.

###### Proof.

Since $f\in H^{2}(\mathcal{D},M)$, there exist a quaternion series
$\\{c_{k}\\}_{k\geqslant 1}$ and a function series
$\\{e_{b_{k}}\\}_{k\geqslant 1}\in\mathcal{D}$ such that

$f=\sum_{k=1}^{\infty}c_{k}e_{b_{k}},\quad\textit{with}\quad\sum_{k=1}^{\infty}|c_{k}|\leqslant
M.$

Thus we obtain

$\displaystyle\|f\|^{2}=$ $\displaystyle|\left<f,f\right>|$ $\displaystyle=$
$\displaystyle\left|\left<f,\sum_{k=1}^{\infty}c_{k}e_{b_{k}}\right>\right|$
$\displaystyle\leqslant$
$\displaystyle\sum_{k=1}^{\infty}|c_{k}||\left<f,e_{b_{k}}\right>|$
$\displaystyle\leqslant$ $\displaystyle\|f\|\sum_{k=1}^{\infty}|c_{k}|$
$\displaystyle\leqslant$ $\displaystyle M\|f\|,$

where the fourth formula holds due to the Cauchy-Schwarz inequality (3.3). ∎

######  Lemma 6.2 ([6]).

Let $A$ be a positive constant and $\\{d_{m}\\}_{m=1}^{\infty}$ be a series of
non-negative numbers satisfying

$d_{1}\leqslant A,\quad d_{m+1}\leqslant d_{m}(1-\frac{d_{m}}{A}),$

then for every positive integer $m$, we have

$d_{m}\leqslant\frac{A}{m}.$

Now we can show that the convergence rate is about $O(m^{-1/2})$ in the space
$H^{2}(\mathcal{D},M)$.

######  Theorem 6.3.

If $f\in H^{2}(\mathcal{D},M)$, then

$\|r_{m}\|\leqslant\frac{M}{\sqrt{m}}.$

###### Proof.

Here we also follow the method of proof in the classical complex Hardy space.
However, we also write down the proof since there are details which makes it
not a direct translation.

Since $f\in H^{2}(\mathcal{D},M)$, there exist $\\{c_{k}\\}_{k\geqslant
1}\in\mathbb{H}$ and $\\{b_{k}\\}_{k=1}^{\infty}\in\mathbb{B}$ such that

(6.1)
$f=\sum\limits_{k=1}^{\infty}e_{b_{k}}c_{k},\quad\textit{with}\quad\sum_{k=1}^{\infty}|c_{k}|\leqslant
M.$

It follows from (7.2), (5.3), and Lemma 5.2 that

(6.2)
$\|r_{m+1}\|^{2}=\|r_{m}\|^{2}-|\left<r_{m},e_{a_{m}}\right>|^{2}=\|r_{m}\|^{2}-|\left<r_{m},T_{m}\right>|^{2}.$

Now we consider the second term in the right side of equality (6.2). By
applying the maximum selection principle of the $m$-th step, Lemma 5.2 and the
reproducing property of $e_{a}$, we have

(6.3) $\displaystyle|\left<r_{m},T_{m}\right>|=$
$\displaystyle\sup_{a\in\mathbb{B}}|\left<r_{m},T_{\\{a_{1},\cdots,a_{m-1},a\\}}\right>|$
$\displaystyle=$
$\displaystyle\sup_{a\in\mathbb{B}}|\left<f_{m},e_{a}\right>|$
$\displaystyle=$
$\displaystyle\sup_{a\in\mathbb{B}}\sqrt{1-|a|^{2}}|B_{m-1}^{-*}*r_{m}(a)|$
$\displaystyle=$
$\displaystyle\sup_{a\in\mathbb{B}}\sqrt{1-|\hat{a}|^{2}}|B_{m-1}^{-1}(\hat{a})||r_{m}(\hat{a})|$
$\displaystyle\geqslant$
$\displaystyle\sup_{[b_{k}]}\sqrt{1-|\hat{b}_{k}|^{2}}|B_{m-1}^{-1}(\hat{b_{k}})||r_{m}(\hat{b_{k}})|$
$\displaystyle\geqslant$
$\displaystyle\sup_{[b_{k}]}\sqrt{1-|b_{k}|^{2}}|r_{m}({b_{k}})|$
$\displaystyle\geqslant$
$\displaystyle\sup_{b_{k}}\sqrt{1-|b_{k}|^{2}}|r_{m}(b_{k})|,$

where the fourth equality holds by formula (2.2) with

$\hat{a}=B^{c}_{m-1}(a)^{-1}aB^{c}_{m-1}(a)\in[a].$

In the fifth inequality, we consider the set $\\{[b_{k}]_{k\geqslant 1}\\}$
which is a spherical extension of the set $\\{b_{k}\\}_{k\geqslant 1}$.

We claim that

$\sup_{b_{k}}\sqrt{1-|b_{k}|^{2}}|r_{m}(b_{k})|\geqslant\frac{1}{M}\|r_{m}\|^{2}.$

In fact, by applying the orthogonal iterative process (7.2) of $f$, we obtain

$\left<r_{m},r_{m}\right>=\big{|}\langle r_{m},f\rangle-\langle
r_{m},\sum_{k=1}^{m-1}T_{k}\left<f_{k},e_{a_{k}}\right>\rangle\big{|}=|\left<r_{m},f\right>|.$

The equation (6.1) and the reproducing property of $e_{b_{k}}$ shows

(6.4) $\displaystyle|\left<r_{m},f\right>|=$ $\displaystyle\big{|}\langle
r_{m},\sum\limits_{k=1}^{\infty}e_{b_{k}}c_{k}\rangle\big{|}$
$\displaystyle\leqslant$ $\displaystyle
M\sup_{b_{k}}|\left<r_{m},e_{b_{k}}\right>|$ $\displaystyle=$ $\displaystyle
M\sup_{b_{k}}\sqrt{1-|b_{k}|^{2}}|r_{m}(b_{k})|,$

so the claim is confirmed.

By substituting (6.4) and (6.3) into equality (6.2), we have

$\|r_{m+1}\|^{2}\leqslant\|r_{m}\|^{2}(1-\frac{\|r_{m}\|^{2}}{M^{2}}).$

Applying Lemma 6.2, we obtain

$\|r_{m}\|^{2}\leqslant\frac{M^{2}}{m}.$

∎

##  7\. The slice Hardy space over $\mathbb{H}^{+}$

Let $H^{+}$ be the right half plane of $\mathbb{H}$, i.e.

$H^{+}:=\\{q\in\mathbb{H}\ \bm{\big{|}}\ Re(q)>0\\}.$

In this section, we just list some results of the slice Hardy space over
$H^{+}$, for which the proof is similar to the slice Hardy space over
$\mathbb{B}$.

######  Definition 7.1.

The slice Hardy space $H^{2}(\mathbb{H}^{+})$ consists of slice regular
functions $f$, which satisfies

$\|f\|^{2}:=\frac{1}{2\pi}\int_{T^{2}}\sin\theta_{1}d\theta\int_{-\infty}^{+\infty}|f(I(\theta)y)|^{2}dy<\infty,$

where $\theta=(\theta_{1},\theta_{2})\in T^{2}=[0,\pi]^{2}$. Furthermore,
$H^{2}(\mathbb{H}^{+})$ is a Hilbert space.

Denote by $\left<\cdot,\cdot\right>$ the inner product with the induced norm
$\|\cdot\|$.

For any $a\in\mathbb{H}^{+}$, the slice normalized Szegö kernal is a left
slice regular function over $\mathbb{H}^{+}$, defined as

$e_{a}(q):=\sqrt{\frac{Re(a)}{\pi}}(q+\bar{a})^{-*},$

where $-*$ is the regular reciprocal in Definition 2.5 and $Re(a)$ is the real
part of $a\in\mathbb{H}$. Then $e_{a}$ is a reproducing kernel of
$H^{2}(\mathbb{H}^{+})$, i.e.

(7.1) $\left<f,e_{a}\right>=\sqrt{4\pi Re(a)}f(a).$

Besides, the slice normalized Szegö kernal $e_{a}$ is a dictionary of
$H^{2}(\partial\mathbb{H}^{+})$, i.e.

$\overline{span}_{\mathbb{H}}\\{e_{a}|a\in\mathbb{H}\\}=H^{2}(\partial\mathbb{H}^{+}),$

The Blaschke product is

$B_{k}(q):={\prod\limits^{*}}_{j=1}^{k-1}(q+\bar{a}_{j})^{-*}*(q-a_{j}),$

where $a_{k}\in\mathbb{H}_{+}$ for any $k\in\\{1,2,\cdots\\}$ and we set
$B_{1}=1$.

In the right half plane $\mathbb{H}_{+}$, the slice rational orthogonal system
(i.e. the slice Takenaka-Malmquist system) consists of weighted Blaschke
product, i.e. for any $k\geqslant 1$,

$T_{k}:=B_{k}*e_{k}.$

######  Theorem 7.2.

$\\{T_{k}\\}_{k\geqslant 1}$ is a normal orthogonal system, i.e.

$\begin{cases}\left<T_{k},T_{k}\right>=1,\quad k\geqslant 1,\\\
\left<T_{k},T_{l}\right>=0,\quad 1\leqslant l<k.\end{cases}$

Now we consider the slice adaptive Fourier decomposition. For any $f\in
H^{2}(\mathbb{H}^{+})$ and $a_{1},a_{2},a_{3}\cdots\in\mathbb{H}^{+}$, there
is an iterative process:

(7.2) $\displaystyle f_{1}(q)=$ $\displaystyle
e_{a_{1}}(q)\left<f_{1},e_{a_{1}}\right>+B_{a_{1}}*f_{2}(q)$ $\displaystyle=$
$\displaystyle
e_{a_{1}}(q)\left<f_{1},e_{a_{1}}\right>+B_{a_{1}}*(e_{a_{2}}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{2}}*f_{3}(q))$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{1}}*B_{a_{2}}*f_{3}(q)$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+B_{a_{1}}*B_{a_{2}}*(e_{a_{3}}(q)\left<f_{3},e_{a_{3}}\right>+B_{a_{3}}*f_{4}(q))$
$\displaystyle=$ $\displaystyle
T_{1}(q)\left<f_{1},e_{a_{1}}\right>+T_{2}(q)\left<f_{2},e_{a_{2}}\right>+T_{3}(q)\left<f_{3},e_{a_{3}}\right>+B_{a_{1}}*B_{a_{2}}*B_{a_{3}}*f_{4}(q)$
$\displaystyle=$ $\displaystyle\cdots$

Orthogonality of the Takenaka-Malmquist system $\\{T_{k}\\}_{k\geqslant 1}$
shows the following norm relation:

$|f_{1}(q)|^{2}=|\left<f_{1},e_{a_{1}}\right>|^{2}+|\left<f_{2},e_{a_{2}}\right>|^{2}+\cdots+|\left<f_{k},e_{a_{k}}\right>|^{2}+|f_{k+1}(q)|^{2}.$

######  Theorem 7.3.

For any $f\in H^{2}(\mathbb{H}^{+})$, there exists an element
$a\in\mathbb{H}^{+}$ such that

$|\left<f,e_{a}\right>|=\max\limits_{b\in\mathbb{H}^{+}}\\{|\left<f,e_{b}\right>|\\}.$

######  Theorem 7.4.

Let $f\in H^{2}(\mathbb{H}^{+})$, for any $n\geqslant 1$, the parameters
$a_{n}$ for every reduced remainder function $f_{n}$ in (7.2) was chosen by
Theorem 7.3, then

$f=\sum\limits_{n=1}^{\infty}T_{n}\left<f,e_{a_{n}}\right>=\sum\limits_{n=1}^{\infty}T_{n}\left<f,T_{n}\right>.$

Denote

$H^{2}(\mathcal{D},M):=\\{f\in
H^{2}(\mathbb{H}^{+}):f=\sum\limits_{k=1}^{\infty}e_{b_{k}}c_{k},\
e_{b_{k}}\in\mathcal{D},\ \sum\limits_{k=1}^{\infty}|c_{k}|\leqslant M\\},$

where $\mathcal{D}$ is the dictionary consists of slice normalized Szegö
kernels and $M$ is a positive constant. Hence, it is a subclass of
$H^{2}(\mathbb{H}^{+})$ with the following convergence rate.

######  Theorem 7.5.

If $f\in H^{2}(\mathcal{D},M)$, then

$\|r_{m}\|\leqslant\frac{M}{\sqrt{m}}.$

## References

  * [1] D. Alpay, F. Colombo, T. Qian, I. Sabadini, Adaptive orthonormal systems for matrix-valued functions , Prox. Amer. Math. soc. 145 (2017), 2089-2106.
  * [2] F. Colombo, I. Sabadini, D. C. Struppa, Slice monogenic functions, Israel J. Math. 171 (2009), 385-403.
  * [3] F. Colombo, I. Sabadini, D.C. Struppa, Noncommutative functional calculus. Theory and applications of slice hyperholomorphic functions, volume 289 of Progress in Mathematics Birkhäuser/Springer Basel AG, Basel, 2011.
  * [4] F. Colombo, I. Sabadini, D. C. Struppa, Entire slice regular functions, SpringerBriefs in Mathematics, Springer, 2016.
  * [5] G. Davis, S. Mallat, M. Avellaneda, Adaptive greedy approximation, Prox. Amer. Math. soc. 145 (2017), 2089-2106.
  * [6] R. Devore, V. Temlyakov, Some remarks on greedy algorithm, Adv. Comput. Math. 5 (1996), 173-187.
  * [7] X. Dou, G. Ren, I. Sabadini, Extension theorem and representation formula in non-axially symmetric domains for slice regular functions, arXiv:2003.10487
  * [8] G. Gentili, S. Salamon, C. Stoppato, Twistor transforms of quaternionic functions and orthogonal complex structures, J. Eur. Math. Soc 16 (2014), 2323-2353.
  * [9] G. Gentili, C. Stoppato, D. C. Struppa,Regular functions of a quaternionic Variable, Springer Monographs in Mathematics, Springer, Heidelberg (2014).
  * [10] G. Gentili, D. C. Struppa, A new theory of regular function of a quaternionic variable, Adv. Math. 216 (2007), 279-301.
  * [11] R. Ghiloni, A. Perotti, Slice regular functions on real alternative algebras, Adv. Math. 226 (2011), 1662-1691.
  * [12] R. Ghiloni, A. Perotti, Volume Cauchy formulas for slice functions on real associative*-algebras, Complex Var. Elliptic Equ. 58 (2013), 1701-1714.
  * [13] Y. T. Li, L. M. Zhang, T. Qian, $2D$ partial Unwinding-A Novel Non-Linear Phase Decomposition of Images, IEEE Transactions on Image Processing 28(10) (2019), 4762-4773.
  * [14] T. Qian, Mono-components for decomposition of signals, Math. Meth. Appl. Sci. 29(10)(2006), 1187-1198.
  * [15] T. Qian, Intrinsic mono-component decomposition of functions: An advance of Fourier theory, Math. Meth. Appl. Sci. 33(2010), 880-891.
  * [16] T. Qian, Y-B. Wang, Adaptive Fourier series-a variation of greedy algorithm, Adv Comp Math. 34(3) (2011), 279-293.
  * [17] G. Ren, X. Wang, Julia theory for slice regular function, Trans. Amer. Math. Soc., 369 (2017), 861-885.
  * [18] G. Ren, X. Wang, Z. Xu, Slice regular functions on regular quadratic cones of real alternative algebras, Trends in Mathematics, (2016), 227-245.
  * [19] V. Temlyakov, Greedy Approximation, New York: Cambridge University Press. (1996), 80-102.
  * [20] J.L. Walsh, Interpolation and Approximation by Rational Functions in the Complex Plane, AMS. (1996).
  * [21] X. Y. Wang, T. Qian, I. T. Leong, Y. Gao, Two-Dimensional Frequency-Domain System Identification, IEEE Transactions on Automatic controul 65(2) (2019), 577-590.


11institutetext: Centre for DLT
and Department of Computer Science
University of Malta
11email<EMAIL_ADDRESS>
11email<EMAIL_ADDRESS>

# Towards External Calls for Blockchain
and Distributed Ledger Technology

Joshua Ellul  Gordon J. Pace

###### Abstract

It is widely accepted that blockchain systems cannot execute calls to external
systems or services due to each node having to reach a deterministic state.
However, in this paper we show that this belief is preconceived by
demonstrating a method that enables blockchain and distributed ledger
technologies to perform calls to external systems initiated from the
blockchain/DLT itself.

##  1 Introduction

Bitcoin [19], a ‘peer-to-peer electronic cash system’, brought about a wave of
interest to not only enable peer-to-peer payments but also to decentralise
control of assets. A few years later, the publication of the Ethereum white
paper [24] introduced a way to decentralise computation through smart
contracts, an unfortunately chosen term which led to much confusion (and undue
comparison) with legal contracts, which enabled for decentralisation of
computational digital processes. Ethereum further extended the wave of
interest beyond that of decentralised control to one of decentralised logic.

The last few years have seen many attempts to decentralise various
applications, and whilst the blockchain sector is healthy [8], a major problem
remains that of mass-adoption [20, 22]. The majority of potential users are
not tech-savvy and neither educated in regards to the benefits of
decentralised systems, and until such users become educated and build trust in
such systems and until sufficient tooling is provided to allow for the non-
tech savvy to use such systems, then mass-adoption will be difficult to
achieve.

Many have argued that decentralisation is a cure to many woes arising from
issues of trust. By removing centralised points-of-trust, one can build
solutions which empower all participants. Or so some have argued. Blockchain
(and other distributed ledger technologies) allow for such decentralisation
and provide an opportunity to build fairer asset management, or more generally
services for the users. There may be truth in such statements, but one thing
that this view fails to take into account is that the real world lies outside
the blockchain, and although data and algorithms residing on the blockchain
can be decentralised, any reference to the real world must necessarily break
through the event-horizon of the blockchain and interact with the outside
world much of which is centralised out of physical or regulatory necessity.
For instance, if one needs to access the temperature at a particular location
at a particular time or if one wants to actuate a switch to unlock a door, one
must interact with the real world and trust that the correct information has
been provided or that the right instructions have been carried out.

Blockchain systems have traditionally addressed these issues through the use
of oracles — channels providing information from the outside world to the
blockchain. However, the nature of public blockchains allows only for a one
way flow of information — from external entities into the blockchain — and any
attempt to do this in the opposite direction (i.e. invoke an external entity
from within the blockchain) causes problems due to the nature of consensus on
such systems111We discuss this in more detail in Section 2.2.. The only
alternative solutions available require trusted entities which perform such
invocations, which simply delegates the problem one step away.

In this paper, we present a solution to enable direct and seamless
communication between blockchain systems with external systems back and forth,
which we believe will enable for new types of decentralised applications to
emerge (and make more strides towards achieving mass-adoption).

The paper is organised as follows. In Section 2 we motivate further the need
for direct calls emanating from public blockchains and present the technical
challenges which have stood in the way of building solutions to this problem
till now. We then explain the solution we are proposing in the remaining
sections. Section 3 explain the encoding of verifiable external calls, Section
4 presents the extended structure of transactions to handle them and its
impact on blocks in Section 5. Finally, Section 6 brings these together at the
level of the network.

##  2 Motivation and Challenges

The current status quo of public blockchains has certain limitations which
would be addressed by enabling direct external calls, but doing so is fraught
with technical challenges. We discuss these and explain how our contribution
fits in this section.

###  2.1 On Why External Calls

The work presented herein is motivated by the following two objectives: (i) to
enable for more efficient dApp processes; and (ii) to allow for applications
that require direct blockchain to external systems to be realised (some of
which can help work towards mass-adoption). Indeed, we believe this approach
will enable for much more than just these two objectives which we now discuss
further below.

More efficient dApp processes: It is becoming evident that trusted external
oracle input is essential for many types of dApps being proposed — e.g. within
the DeFi (Decentralised Finance) space. DeFi is just one use-case that
highlights the importance that external trusted party data plays in the
decentralised world and, whilst, the state-of-the-art does provide a solution
to providing this required input, it is worth investigating whether direct
blockchain to oracle interaction can be achieved in aim of providing more
efficient processes.

New applications that require external calls: Whilst there is a long standing
debate in regards to whether regulation of the crypto-space defies the whole
point of such self-regulating systems, and without getting into the debate, we
do acknowledge that regulation and legal certainty may also help bring about
mass-adoption since many non-tech savvy users may trust jurisdictional
authorities over code. However, regulatory and legal requirements of such
technology raises problems, as requirements often require mandatory
interaction with regulatory entities or other parties (e.g. that accounts must
be filed at the end of the year). This creates problems for such decentralised
(potentially autonomous) organisations. Whilst, initial thoughts towards
creating legal certainty for such types of organisations have been presented
[9], such mandated direct interaction with the external world from blockchain
systems, smart contracts, decentralised autonomous organisations (DAO) or any
other decentralised logic was not possible prior to the work being proposed
herein. Indeed, this is just one such use-case in regards to types of
applications (regulated ones that require direct communication with external
parties) which this work can enable, and we believe that many other
applications which would require a blockchain/DLT to communicate directly with
the external world will be proposed based on this work.

What is needed is a decentralised system that supports both decentralised
peer-to-peer transactions and logic but also the ability to interact with
external trusted parties directly. Decentralised application frameworks and
smart contracts enable a way to achieve passive interaction with external
parties, however suffer from obligating the external points-of-trust to
integrate and actively interact with the respective dApps at their cost. This
is not always feasible since such points-of-trust (such as certificate
providers, universities, authorities, regulators, distributors, and any other
centralised service provider) often follow rigid processes and would likely be
unable to integrate directly with a dApps’s technical integration
requirements. Even more so when such points-of-trust may be responsible for
serving (or monitoring) many operators — which would potentially mean that
they would need to integrate with many smart contracts/dApps/blockchain
platforms.

###  2.2 The Challenges

Let us start by looking at technical challenges that are in the way of
achieving feasible and efficient oracle input. Blockchain and Distributed
Ledger Technology (DLT) systems require that the decentralised logic encoded
within them reaches a deterministic state. It is said that every node must
execute the exact same logic in order to achieve consensus.

For this reason, it is the general consensus in the community that Blockchain
and DLT systems cannot make calls to external systems/oracles [7, 4, 11, 10,
17, 15, 5, 6, 18, 1, 13, 12, 23, 14]. External data is fed in from oracles who
actively issue transactions to the DLT — which means that the oracle must pay
for providing this information. Many oracles that could provide useful
information may not be incentivised to do so — why should a external party
provide information at a cost if there is nothing in it for them? Solutions to
this problem have been proposed which require external systems and networks to
feed such oracle input into smart contracts [3] — again, however, requiring
that such costs are borne (typically by the end-users or dApp operator). Also,
feeding in oracle input imposes delays, some which may be due to the oracles’
own delays in submitting required transactions, and others due to the fact
that different steps within an interaction will take place in different
blocks.

For small private DLT systems, a solution to initiate externals calls to
trusted parties had been
proposed222https://hyperledger.github.io/composer/v0.19/integrating/call-out
which requires that each node makes the same call to the external system and
receives the exact same response. While this may work for smaller sized
networks (though in an inefficient manner), the solution does not scale up as
networks increase in size. More so, this solution limits the types of calls
that can be made to services that provide the same response irrespective of
when the call is made — i.e. stateless and deterministic. The reason is that
all nodes must receive the same response, and also that since blocks may need
verifying at a later point in time, the same response would need to be
received and verified in future as well. Therefore, such a solution could
limit the extent to which the chain could be verified if blocks ever need to
be verified in future and the external service provider is either no longer
available or returns different responses to the original response received.
More so, it would be impossible in future to determine whether the
participating verifying nodes actually recorded the correct response, or
whether they had all agreed on an incorrect response. Whilst, approaches for
non-interactive deterministic communication have been
proposed333https://ethresear.ch/t/on-chain-non-interactive-data-availability-
proofs/5715 [2], to the authors’ best knowledge the work presented herein is
the first proposed work on active communication which maintains deterministic
computation across the network.

So far dApps have required that any parties directly interact with blockchain
networks (or make use of proxy services [25]). This is not ideal as it limits
parties: (i) to those that are willing to interact and integrate with the
specific smart contract/network and bear any costs required to initiate
transactions; or (ii) by requiring dApps to make use of external services
which become trusted parties themselves. Chainlink [7] is such a trusted party
which makes use of decentralised nodes to lower trust issues in single node
operators as well as provides a bridge between various data sources and
blockchain systems — yet it requires fees to be paid for providing the
service444https://medium.com/@chainlinkgod/scaling-chainlink-
in-2020-371ce24b4f31.

Any required input from trusted parties results in separate transactions
belonging to separate blocks which could result in potentially large delays
for processes making use of oracles. Such delays can be large when trusted
parties are actively monitoring the ledger, let alone when trusted external
parties are not listening for such changes in real-time. As an example
consider a case where a trusted party random number generator (RNG) is used to
input a random number which is only revealed after a user initiates the smart
contract process — perhaps the user is placing a bet in a decentralised
betting dApp. The random number should not be revealed before the user places
the bet since the user would be able to know the outcome before betting. This
first transaction by the user to place a bet would take place in Block 1.
Thereafter, at best, the input from the RNG trusted party can take place in
Block 2 (though the input transaction could also be initiated and/or be
accepted in later blocks). The following sequence diagram in Figure 1 depicts
this.

Figure 1: Trusted parties may often require to wait for an action in a first
block before it can transmit its input into a subsequent block.

###  2.3 Contribution Overview

To recap, trusted oracles are key for types of decentralised services that
interact with the real-world. The general consensus is that it is impossible
or infeasible to allow blockchain systems to make direct calls to external
parties due to: (i) the requirement for computation to reach a deterministic
state; and (ii) potential overloading of points-of-trust with requests. Also,
whenever a node requires to verify some computation which involves a point-of-
trust, it would have to send another request, possibly getting a different
result than what the original caller got — which would also inundate the
centralised node with requests (potentially resulting in a denial-of-service
attack).

However, we believe that the general consensus on this matter is not well
founded and preconceived. Perhaps based upon the often cited deterministic
nature of computation that is required [21] — yet whilst this statement is
true, it is important to highlight that it is the state which computation
reaches that must be deterministic, and the computation performed can reach
such a deterministic state in different ways. In this paper we present a
mechanism that allows for such systems to interact with external parties
directly in a feasible manner. Figure 2 provides an overview of an oracle
input transaction/call flow for: (i) traditional oracle input (on the left);
(ii) (inefficient) external calls requiring responses to always be the same —
which does not scale up (in the middle); and (iii) the solution proposed
herein which makes use of verifiable external calls (on the right).

Figure 2: Left: traditional trusted party input; middle: active calls
requiring each node to undertake the external call that must return the same
input; right: external calls enabled with verifiable signed responses.

##  3 Verifiable External Calls

The solution proposed herein is to make use of verifiable external calls —
i.e. a request (call) made to an external system that returns back a signed
response which: (i) can be verified to truly be a response from the external
party in question; (ii) which does not require any further communication (with
the external party or other). This can be achieved in the same way how we
provide such assurances in traditional applications and how trusted oracle
input is verified, by checking whether the response was indeed digitally
signed [16] by the external party. Knowledge of the trusted party’s public key
is required to be known (in the same way that oracle input requires knowledge
of the trusted party’s address) or can be retrieved from a trusted entity.

To allow for processes to make direct use of external services (in a feasible
and efficient manner), which do not require explicit integration from the
external parties themselves (with the specific platform), we propose to make
use of verifiable external calls which provide a guarantee with respect to the
veracity of the origin of the response both at the time of processing as well
as for any point in future for which such verification may be required.

A verifiable external call is defined as the following tuple — a request, a
public key and a signed response structured as follows:

$\langle request,\;public\\_key,\;signed\\_response\rangle$

The $request$ would likely be represented as a Uniform Resource Identifier
(URI) and should point to the external system/service endpoint which is to be
called (though this is an implementation design decision), and may also
comprise of other input data. The $public\\_key$ may be hard-coded into the
application logic (e.g. into the smart contract), or it could even be
retrieved by a trusted certificate provider. In either case it would need to
be recorded by the time when the external call is executed — it will be used
to verify the response originated from the respective external party. The
$signed\\_response$ is the response that has been signed using the external
party’s private key (which is associated with $public\\_key$.

Indeed, this does require that the trusted data sources provide an end-point
that responds back with a signed response which would likely require changes
to existing data sources to implement signed responses — however, recent
proposals indicate that such a standard may eventually be
adopted555https://wicg.github.io/webpackage/draft-yasskin-http-origin-signed-
responses.html, which if adopted would enable for this approach to integrate
with all data sources (that are keeping up with standards).

Furthermore, to avoid old signed responses from being repeated, an incremental
number, date/time or challenge-response could be made use of which would
ensure old responses cannot be repeated — however this is left as an
implementation detail. Whilst, the challenge data sent to the external party
will be part of the $request$, the verifiable external call’s definition may
be extended to include the challenge-response. For example, the request can be
augmented by a request number to a fresh nonce $\nu$, which is expected to be
included unchanged in the response:

$\langle
request\oplus\\{\textit{request\\_nonce}\mapsto\nu\\},\;public\\_key,\;signed\\_response\oplus\\{\textit{response\\_nonce}\mapsto\nu\\}\rangle$

##  4 Transactions

When a transaction is initiated (be it by a user, another system, or the
system itself if such a DLT allows this) and accepted for execution, the node
which is processing the transaction will establish all external calls which
need to be performed, execute them and record the responses received back from
the trusted external parties along with associated digital signatures. Indeed,
at this point the finalising node must ensure that the response is from the
trusted party by verifying the response and signature against the trusted
party’s public key. Furthermore, if a unique number, date/time, or challenge-
response mechanism was used to ensure old data is not repeated, then this
would also be validated at this point. A depiction of how a transaction is
initiated and attributed with the various data associated with external calls
is depicted in Figure 3.

If any responses are not verified, then the transaction may be deemed to have
failed, or depending upon reparation or other logic the transaction may still
be valid (and able to process the unverified response). This is a design
decision that each platform would need to consider. The same goes for external
calls for which no response is received.

Figure 3: Transaction finalisation process.

To reiterate, to ensure that a finalising node does not repeat old responses
from external parties, the response and signature could be accompanied with
the date and time the response was generated and/or a unique response
identifier associated with the response (and potentially request as well). One
challenge is to ensure that participating nodes indeed execute such external
calls rather than simply record failure, which we will delve into in a future
paper (since it merits its own paper). However, verifiable external calls
could also be undertaken by the transaction initiator (i.e. the party
submitting the transaction provides this information as part of the
transaction submission process) — however indeed this depends upon the
architectural design of the blockchain, smart contract and wallet/dApp
software submitting the transaction. By performing the verifiable external
call at transaction submission time (on the initiator), the aforementioned
problem pertaining to nodes potentially reporting back failed external calls
would be eliminated.

##  5 Construction of Blocks

Block construction can proceed in the conventional manner, adding all
transactions including external invocations and responses as part of the
block. However, depending upon the type of system, it may be the case that a
particular trusted party is used extensively for multiple transactions within
the same block and that same response would be also be received for the
various other transactions in the block. For such systems one can optimise-out
redundant external calls by implementing a response cache which keeps track of
responses previously received within the same block and uses these values if
required again. Such an approach would necessarily assume that the external
calls are side effect free. This is obviously application dependent and
therefore well-defined semantics should be in place in regards to whether a
cached response may be used, or whether a new response must always be
retrieved for different transactions — and should be clear to the various
system’s stakeholders and users.

In fact one can go one step further in the use of this caching mechanism by
allowing the use of cached responses in older blocks to be referenced and
reused in new transactions. Needless to say, consideration would need to be
made in regards to whether the particular system would allow for historical
data lookup.

The diagram in Figure 4 illustrates the use of external call caches. Two
transactions in Block-1 (Tx-1 and Tx-2) make use of the same external call. If
Tx-1 is the first transaction of the two to be executed, the finalising node
executes the external call and records the signed response in the response
cache, referring to it in Tx-1. When Tx-2 is executed, it finds that the call
has already been recorded in the response cache (since we are assuming that it
makes use of the same call as Tx-1) and uses the cached value instead of
invoking the external call again. Similarly, in Block-2, the inclusion of
transaction Tx-3 which also matches the call in the previous block can also
make use of the same cached signed response stored in that cache.

Figure 4: Depiction of response cache usage in same and different blocks.

Limitations on the number of external calls that can be issued per
transaction666A transaction invoking a call to a smart contract can result in
multiple external calls arising from that single transaction. and potentially
per block may need to be established explicitly or implicitly (for example
through a ‘gas’-like feature) to avoid delaying block generation. One
potential design feature may be to implement transactions which involve
various external calls to span across blocks, allowing for some logic and
external calls to be issued in one block to be followed by the continuation of
the execution of the logic and possibly more external calls in a later block.
It is worth noting that if one were to adopt verifiable external calls
executed by the transaction initiator (see previous section), no such
considerations are necessary.

##  6 Network and Consensus

At a network level, one may naïvely keep existing approaches allowing the node
finalising the block to broadcast it once complete. However, this would result
in a multitude of nodes attempting to include transaction which include
external calls to perform the invocations, thus flooding the service provider
with calls. Instead, we propose a two-staged approach in which a node would
first bid for the right to finalise a node777We refer to bidding and earning
the right to finalise a block in order to remain agnostic to the underlying
consensus algorithm. without having performed the external calls and only
then, after earning this right, would it perform the calls and submit the
concluded block to the network. For instance, in a proof-of-work setting, a
bid for a block would include all the block information _except for the
transaction response cache_. Consensus would then proceed as usual, with other
nodes accept this partial block if it conforms to the usual proof-of-work
requirements. Once such a partial node is accepted (i.e. added to the chain),
the node which won can perform the external calls and submit the signed
results to be added to the chain as the end of that block. Other nodes would
accept the submitted results only if they are duly signed by the invoked
service provider. Consideration would have to be taken to take into account
not receiving the end of the block from the winning node.

In general, this would work as follows: (i) When a node has ‘earned’ the right
to finalise a block (irrespective of how this is established) the finalising
node may send out the block solution (if required) to let other nodes know
that a solution has been found so that they can decide whether to wait for the
block or continue looking for a solution; (ii) in such cases it would be up to
each node implementation to decide how long to potentially wait for a block
until continuing to look for a new one; (iii) for algorithms where the
finalising node (miner/validator) is determined implicitly this would not be
required. An overview of the process is depicted in Figure 5

When executing transactions, finalising nodes would thus execute up to the
point where external calls are required to be resolved, in which case the
finalising node should make the requests, receive the responses and verify
that they have been signed by the respective trusted party. Thereafter,
remaining logic pertaining to the transactions can be executed. The block can
then be finalised and sent to other nodes, who will in turn verify that the
responses received are from the trusted parties. Once again such
considerations are not required for initiator-based transactions.

Figure 5: Network-level block finalisation overview.

##  7 Conclusions

It is a widely accepted belief that blockchain systems cannot execute calls to
external systems due to the requirement for computation to reach a
deterministic state. It is often said that blockchain-based computation needs
to be deterministic [21], however it is important to highlight that requiring
the computation to reach a deterministic state does not mean that different
computation cannot take place to reach that state. Contrary to the general
consensus, in this paper, we have demonstrated a method for Blockchain and DLT
systems that allows for direct external calls to be initiated from the
Blockchain/DLT itself (or even from a transaction initiator’s software if
suitable).

A prototype demonstrating verifiable external calls has been implemented and
available from https://github.com/joshuaellul/excalls, and further information
on the project is available from: https://joshuaellul.github.io/excalls/
(which will be updated with progress).

## References

  * [1] Adler, J., Berryhill, R., Veneris, A., Poulos, Z., Veira, N., Kastania, A.: Astraea: A decentralized blockchain oracle. In: 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). pp. 1145–1152. IEEE (2018)
  * [2] Adler, J., Quintyne-Collins, M.: Building scalable decentralized payment systems. arXiv preprint arXiv:1904.06441 (2019)
  * [3] Al-Breiki, H., Rehman, M.H.U., Salah, K., Svetinovic, D.: Trustworthy blockchain oracles: Review, comparison, and open research challenges. IEEE Access 8, 85675–85685 (2020)
  * [4] Cai, Y., Fragkos, G., Tsiropoulou, E.E., Veneris, A.: A truth-inducing sybil resistant decentralized blockchain oracle. In: IEEE Conference on Blockchain Research & Applications for Innovative Networks and Services (2020)
  * [5] da Costa, P.D.: Trustable oracles towards trustable blockchains. Master’s thesis, Universidade do Porto (2019)
  * [6] Dinh, T.T.A., Datta, A., Ooi, B.C.: A blueprint for interoperable blockhains. arXiv preprint arXiv:1910.00985 (2019)
  * [7] Ellis, S., Juels, A., Nazarov, S.: Chainlink: A decentralized oracle network.(2017). White paper (2017)
  * [8] Ellul, J.: Blockchain is dead! long live blockchain! The Journal of The British Blockchain Association p. 21948 (2021)
  * [9] Ganado, M., Ellul, J., Pace, G.J., Tendon, S., Wilson, B.: Mapping the future of legal personality (2020)
  * [10] Greenspan, G.: Why many smart contract use cases are simply impossible. Article available on: https://www.coindesk.com/three-smart-contract-misconceptions (2016)
  * [11] Grooteman, B.: Providing Trusted Datafeeds to the Blockchain. Master’s thesis, Eindhoven University of Technology (2019)
  * [12] Guarnizo, J., Szalachowski, P.: Pdfs: practical data feed service for smart contracts. In: European Symposium on Research in Computer Security. pp. 767–789. Springer (2019)
  * [13] Kamiya, R.: Shintaku: An end-to-end-decentralized general-purpose blockchain oracle system (2019)
  * [14] van der Laan, B.: Publicly verifiable authenticity of data from multiple external sources for smart contracts using aggregate signatures. Master’s thesis, TU Delft (2018)
  * [15] Ma, L., Kaneko, K., Sharma, S., Sakurai, K.: Reliable decentralized oracle with mechanisms for verification and disputation. In: 2019 Seventh International Symposium on Computing and Networking Workshops (CANDARW). pp. 346–352. IEEE (2019)
  * [16] Merkle, R.C.: A certified digital signature. In: Conference on the Theory and Application of Cryptology. pp. 218–238. Springer (1989)
  * [17] Molina-Jiménez, C., Sfyrakis, I., Song, L., Al Nakib, H., Crowcroft, J.: The benefits of deploying smart contracts on trusted third parties (04 2019). https://doi.org/10.13140/RG.2.2.27278.00325
  * [18] Mühlberger, R., Bachhofner, S., Castelló Ferrer, E., Di Ciccio, C., Weber, I., Wöhrer, M., Zdun, U.: Foundational oracle patterns: Connecting blockchain to the off-chain world. 18th Int. Conference on Business Process Management (BPM 2020) (2020)
  * [19] Nakamoto, S.: A peer-to-peer electronic cash system (2008), https://bitcoin.org/bitcoin.pdf
  * [20] Prewett, K.W., Prescott, G.L., Phillips, K.: Blockchain adoption is inevitable—barriers and risks remain. Journal of Corporate accounting & finance 31(2), 21–28 (2020)
  * [21] Sankar, L.S., Sindhu, M., Sethumadhavan, M.: Survey of consensus protocols on blockchain applications. In: 2017 4th International Conference on Advanced Computing and Communication Systems (ICACCS). pp. 1–5. IEEE (2017)
  * [22] Stratopoulos, T.C., Wang, V.X., Ye, J.: Blockchain technology adoption. Available at SSRN 3188470 (2020)
  * [23] Woo, S., Song, J., Park, S.: A distributed oracle using intel sgx for blockchain-based iot applications. Sensors 20(9), 2725 (2020)
  * [24] Wood, G., et al.: Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper 151(2014), 1–32 (2014)
  * [25] Zhang, F., Cecchetti, E., Croman, K., Juels, A., Shi, E.: Town crier: An authenticated data feed for smart contracts. In: Proceedings of the 2016 aCM sIGSAC conference on computer and communications security. pp. 270–282 (2016)