100% нашли этот документ полезным (1 голос)
11 просмотров

Beginning Ethereum Smart Contracts Programming: With Examples in Python, Solidity, and JavaScript Lee pdf download

Ebook access

Загружено:

eehkibfoz581
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
100% нашли этот документ полезным (1 голос)
11 просмотров

Beginning Ethereum Smart Contracts Programming: With Examples in Python, Solidity, and JavaScript Lee pdf download

Ebook access

Загружено:

eehkibfoz581
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 57

Beginning Ethereum Smart Contracts Programming:

With Examples in Python, Solidity, and


JavaScript Lee download

https://textbookfull.com/product/beginning-ethereum-smart-
contracts-programming-with-examples-in-python-solidity-and-
javascript-lee/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Biota Grow 2C gather 2C cook Loucas

https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-
loucas/

Introducing Ethereum and Solidity: Foundations of


Cryptocurrency and Blockchain Programming for Beginners
Chris Dannen

https://textbookfull.com/product/introducing-ethereum-and-
solidity-foundations-of-cryptocurrency-and-blockchain-
programming-for-beginners-chris-dannen/

Ethereum for Architects and Developers With Case


Studies and Code Samples in Solidity Springerlink
(Online Service)

https://textbookfull.com/product/ethereum-for-architects-and-
developers-with-case-studies-and-code-samples-in-solidity-
springerlink-online-service/

Beginning Functional JavaScript. Functional Programming


with JavaScript using EcmaScript 6 1st Edition Anto
Aravinth

https://textbookfull.com/product/beginning-functional-javascript-
functional-programming-with-javascript-using-ecmascript-6-1st-
edition-anto-aravinth/
Beginning Functional JavaScript: Functional Programming
with JavaScript Using EcmaScript 6 1st Edition Anto
Aravinth

https://textbookfull.com/product/beginning-functional-javascript-
functional-programming-with-javascript-using-ecmascript-6-1st-
edition-anto-aravinth-2/

Ethereum for Architects and Developers: With Case


Studies and Code Samples in Solidity 1st Edition
Debajani Mohanty

https://textbookfull.com/product/ethereum-for-architects-and-
developers-with-case-studies-and-code-samples-in-solidity-1st-
edition-debajani-mohanty/

Good Habits for Great Coding: Improving Programming


Skills with Examples in Python Michael Stueben

https://textbookfull.com/product/good-habits-for-great-coding-
improving-programming-skills-with-examples-in-python-michael-
stueben/

Beginning Programming with Python For Dummies 2nd


Edition John Paul Mueller

https://textbookfull.com/product/beginning-programming-with-
python-for-dummies-2nd-edition-john-paul-mueller/

Blockchain The Ultimate Guide to the World of


Blockchain Technology Bitcoin Ethereum Cryptocurrency
Smart Contracts 1st Edition Takashima

https://textbookfull.com/product/blockchain-the-ultimate-guide-
to-the-world-of-blockchain-technology-bitcoin-ethereum-
cryptocurrency-smart-contracts-1st-edition-takashima/
Beginning Ethereum
Smart Contracts
Programming
With Examples in Python,
Solidity and JavaScript

Wei-Meng Lee
Beginning Ethereum Smart Contracts Programming:
With Examples in Python, Solidity and JavaScript
Wei-Meng Lee
Ang Mo Kio, Singapore

ISBN-13 (pbk): 978-1-4842-5085-3    ISBN-13 (electronic): 978-1-4842-5086-0


https://doi.org/10.1007/978-1-4842-5086-0

© 2019 by Wei-Meng Lee

Any source code or other supplementary material referenced by the author in this book is available to
readers on GitHub via the book’s product page, located at www.apress.com/9781484250853. For more
detailed information, please visit http://www.apress.com/source-code.
Contents

Introduction�����������������������������������������������������������������������������������������������������������xvii

Chapter 1: Understanding Blockchain���������������������������������������������������������������������� 1


Motivations Behind Blockchain����������������������������������������������������������������������������������������������������� 2
Placement of Trusts����������������������������������������������������������������������������������������������������������������� 2
Trust Issues����������������������������������������������������������������������������������������������������������������������������� 3
Solving Trust Issues Using Decentralization���������������������������������������������������������������������������� 4
Example of Decentralization���������������������������������������������������������������������������������������������������� 4
Blockchain As a Distributed Ledger����������������������������������������������������������������������������������������� 8
How Blockchain Works����������������������������������������������������������������������������������������������������������������� 9
Chaining the Blocks��������������������������������������������������������������������������������������������������������������� 10
Mining������������������������������������������������������������������������������������������������������������������������������������ 12
Broadcasting Transactions���������������������������������������������������������������������������������������������������� 12
The Mining Process��������������������������������������������������������������������������������������������������������������� 13
Proof of Work������������������������������������������������������������������������������������������������������������������������� 16
Immutability of Blockchains�������������������������������������������������������������������������������������������������� 16
Blockchain in More Detail����������������������������������������������������������������������������������������������������������� 17
Types of Nodes���������������������������������������������������������������������������������������������������������������������� 19
Merkle Tree and Merkle Root������������������������������������������������������������������������������������������������� 21
Uses of Merkle Tree and the Merkle Root������������������������������������������������������������������������������ 22
Summary������������������������������������������������������������������������������������������������������������������������������������ 23
Chapter 2: Implementing Your Own Blockchain Using Python������������������������������� 25
Our Conceptual Blockchain Implementation������������������������������������������������������������������������������� 25
Obtaining the Nonce�������������������������������������������������������������������������������������������������������������� 27
Installing Flask���������������������������������������������������������������������������������������������������������������������� 28
Importing the Various Modules and Libraries������������������������������������������������������������������������ 29
Declaring the Class in Python������������������������������������������������������������������������������������������������ 29
Finding the Nonce����������������������������������������������������������������������������������������������������������������� 31
Appending the Block to the Blockchain��������������������������������������������������������������������������������� 32
Adding Transactions�������������������������������������������������������������������������������������������������������������� 32
Exposing the Blockchain Class as a REST API����������������������������������������������������������������������� 33
Obtaining the Full Blockchain������������������������������������������������������������������������������������������������ 33
Performing Mining����������������������������������������������������������������������������������������������������������������� 34
Adding Transactions�������������������������������������������������������������������������������������������������������������� 35
Testing Our Blockchain��������������������������������������������������������������������������������������������������������������� 36
Synchronizing Blockchains��������������������������������������������������������������������������������������������������������� 41
Testing the Blockchain with Multiple Nodes�������������������������������������������������������������������������� 45
Full Listing for the Python Blockchain Implementation��������������������������������������������������������������� 51
Summary������������������������������������������������������������������������������������������������������������������������������������ 59

Chapter 3: Connecting to the Ethereum Blockchain����������������������������������������������� 61


Downloading and Installing Geth������������������������������������������������������������������������������������������������ 62
Installing Geth for macOS������������������������������������������������������������������������������������������������������ 62
Installing Geth for Windows��������������������������������������������������������������������������������������������������� 63
Installing Geth for Linux��������������������������������������������������������������������������������������������������������� 64
Getting Started with Geth������������������������������������������������������������������������������������������������������������ 64
Examining the Data Downloaded������������������������������������������������������������������������������������������� 65
Geth JavaScript Console�������������������������������������������������������������������������������������������������������� 66
Sync Modes��������������������������������������������������������������������������������������������������������������������������� 68
Summary������������������������������������������������������������������������������������������������������������������������������� 69
Chapter 4: Creating Your Own Private Ethereum Test Network������������������������������ 71
Creating the Private Ethereum Test Network������������������������������������������������������������������������������ 71
Creating the Genesis Block��������������������������������������������������������������������������������������������������� 72
Creating a Folder for Storing Node Data�������������������������������������������������������������������������������� 73
Initiating a Blockchain Node�������������������������������������������������������������������������������������������������� 74
Starting Up the Nodes����������������������������������������������������������������������������������������������������������� 76
Managing Accounts��������������������������������������������������������������������������������������������������������������������� 88
Removing Accounts��������������������������������������������������������������������������������������������������������������� 90
Setting the Coinbase������������������������������������������������������������������������������������������������������������� 90
Summary������������������������������������������������������������������������������������������������������������������������������� 91

Chapter 5: Using the MetaMask Chrome Extension������������������������������������������������ 93


What Is MetaMask?�������������������������������������������������������������������������������������������������������������������� 93
How MetaMask Works Behind the Scene������������������������������������������������������������������������������ 94
Installing MetaMask�������������������������������������������������������������������������������������������������������������� 95
Signing in to MetaMask��������������������������������������������������������������������������������������������������������� 97
Selecting Ethereum Networks�������������������������������������������������������������������������������������������������� 103
Getting Ethers���������������������������������������������������������������������������������������������������������������������� 104
Creating Additional Accounts����������������������������������������������������������������������������������������������� 111
Transferring Ethers�������������������������������������������������������������������������������������������������������������� 113
Recovering Accounts����������������������������������������������������������������������������������������������������������� 117
Importing and Exporting Accounts�������������������������������������������������������������������������������������������� 120
Exporting Accounts�������������������������������������������������������������������������������������������������������������� 120
Importing Accounts������������������������������������������������������������������������������������������������������������� 124
Summary���������������������������������������������������������������������������������������������������������������������������������� 126

Chapter 6: Getting Started with Smart Contract��������������������������������������������������� 127


Your First Smart Contract���������������������������������������������������������������������������������������������������������� 127
Using the Remix IDE������������������������������������������������������������������������������������������������������������ 128
Compiling the Contract�������������������������������������������������������������������������������������������������������� 131
Testing the Smart Contract Using the JavaScript VM���������������������������������������������������������� 133
Getting the ABI and Bytecode of the Contract��������������������������������������������������������������������� 136
Loading the Smart Contract onto Geth�������������������������������������������������������������������������������������� 139
Testing the Contract������������������������������������������������������������������������������������������������������������ 142
Calling the Contract from Another Node������������������������������������������������������������������������������ 144
Summary���������������������������������������������������������������������������������������������������������������������������������� 146

Chapter 7: Testing Smart Contracts Using Ganache��������������������������������������������� 147


Downloading and Installing Ganache���������������������������������������������������������������������������������������� 147
Command-Line Interface����������������������������������������������������������������������������������������������������� 148
Graphical User Interface������������������������������������������������������������������������������������������������������ 150
Creating a Smart Contract�������������������������������������������������������������������������������������������������������� 153
Deploying the Contract to Ganache������������������������������������������������������������������������������������� 154
Examining Ganache������������������������������������������������������������������������������������������������������������� 156
Testing the Contract������������������������������������������������������������������������������������������������������������ 159
Connecting MetaMask to Ganache������������������������������������������������������������������������������������������� 161
Summary���������������������������������������������������������������������������������������������������������������������������������� 167

Chapter 8: Using the web3.js APIs����������������������������������������������������������������������� 169


What Is web3.js?����������������������������������������������������������������������������������������������������������������������� 169
Installing web3.js���������������������������������������������������������������������������������������������������������������� 170
Testing the web3.js Using MetaMask���������������������������������������������������������������������������������� 171
Testing the web3.js Without MetaMask������������������������������������������������������������������������������� 175
Deploying Contracts Using web3.js������������������������������������������������������������������������������������������ 178
Interacting with a Contract Using web3.js�������������������������������������������������������������������������� 184
Sending Ethers to Smart Contracts������������������������������������������������������������������������������������� 191
Summary���������������������������������������������������������������������������������������������������������������������������������� 198

Chapter 9: Smart Contract Events������������������������������������������������������������������������ 199


What Are Events in Solidity?����������������������������������������������������������������������������������������������������� 199
Adding Events to the ProofOfExistence Contract����������������������������������������������������������������� 200
Deploying the Contract�������������������������������������������������������������������������������������������������������� 203
Handling Events Using web3.js������������������������������������������������������������������������������������������������� 204
Testing the Front End����������������������������������������������������������������������������������������������������������� 208
Notarizing the Same Document Twice��������������������������������������������������������������������������������� 213
Sending Incorrect Amount of Ether������������������������������������������������������������������������������������� 215
Summary���������������������������������������������������������������������������������������������������������������������������������� 219

Chapter 10: Project – Online Lottery�������������������������������������������������������������������� 221


How the Lottery Game Works���������������������������������������������������������������������������������������������������� 221
Defining the Smart Contract������������������������������������������������������������������������������������������������ 223
Constructor�������������������������������������������������������������������������������������������������������������������������� 224
Betting a Number���������������������������������������������������������������������������������������������������������������� 225
Drawing the Winning Number and Announcing the Winners����������������������������������������������� 227
Getting the Winning Number����������������������������������������������������������������������������������������������� 229
Killing the Contract�������������������������������������������������������������������������������������������������������������� 230
Testing the Contract������������������������������������������������������������������������������������������������������������������ 230
Betting on a Number����������������������������������������������������������������������������������������������������������� 231
Viewing the Winning Number���������������������������������������������������������������������������������������������� 236
Examining the Contract on Etherscan��������������������������������������������������������������������������������� 237
Killing the Contract�������������������������������������������������������������������������������������������������������������� 239
Adding Events to the Contract��������������������������������������������������������������������������������������������� 243
Creating the Web Front End������������������������������������������������������������������������������������������������������ 247
Returning Ethers Back to the Owner at the End of the Game���������������������������������������������� 253
Making the Game Run Indefinitely�������������������������������������������������������������������������������������� 255
Summary���������������������������������������������������������������������������������������������������������������������������������� 256

Chapter 11: Creating Your Tokens������������������������������������������������������������������������ 257


What Are Tokens?���������������������������������������������������������������������������������������������������������������������� 257
How Tokens Are Implemented?������������������������������������������������������������������������������������������� 259
Minting New Tokens������������������������������������������������������������������������������������������������������������ 259
Burning Tokens�������������������������������������������������������������������������������������������������������������������� 259
Units Used Internally in Token Contracts����������������������������������������������������������������������������� 260
ERC20 Token Standard�������������������������������������������������������������������������������������������������������� 261
Creating Token Contracts���������������������������������������������������������������������������������������������������������� 263
Deploying the Token Contract���������������������������������������������������������������������������������������������� 272
Adding Tokens to MetaMask������������������������������������������������������������������������������������������������ 275
Buying Tokens��������������������������������������������������������������������������������������������������������������������� 279
Creating an ICO Page����������������������������������������������������������������������������������������������������������� 284
Summary���������������������������������������������������������������������������������������������������������������������������������� 287

Index��������������������������������������������������������������������������������������������������������������������� 289
Introduction
Welcome to Beginning Ethereum Smart Contracts Programming!
This book is a quick guide to getting started with Ethereum Smart Contracts
programming. It first starts off with a discussion on blockchain and the motivations
behind it. You will learn what is a blockchain, how blocks in a blockchain are chained
together, and how blocks get added to a blockchain. You will also understand how
mining works and discover the various types of nodes in a blockchain network.
Once that is out of the way, we will dive into the Ethereum blockchain. You will
learn how to use an Ethereum client (Geth) to connect to the Ethereum blockchain and
perform transactions such as sending ethers to another account. You will also learn how
to create private blockchain networks so that you can test them internally within your
own network.
The next part of this book will discuss Smart Contracts programming, a unique
feature of the Ethereum blockchain. Readers will be able to get jumpstarted on Smart
Contracts programming without needing to wade through tons of documentation. The
learn-by-doing approach of this book makes you productive in the shortest amount
of time. By the end of this book, you would be able to write smart contracts, test them,
deploy them, and create web applications to interact with them.
The last part of this book will touch on tokens, something that has taken the
cryptocurrency market by storm. You would be able to create your own tokens and
launch your own ICO and would be able to write token contracts that allow buyers to buy
tokens using Ethers.
This book is for those who want to get started quickly with Ethereum Smart
Contracts programming. Basic programming knowledge and an understanding of
Python or JavaScript are recommended.
I hope you will enjoy working on the sample projects as much as I have enjoyed
working on them!
CHAPTER 1

Understanding Blockchain
One of the hottest technologies of late is Blockchain. But what exactly is a blockchain?
And how does it actually work? In this chapter, we will explore the concept of blockchain,
how the concept was conceived, and what problems it aimed to solve. By the end of this
chapter, the idea and motivation behind blockchain would be crystal clear.

Tip For the clearly impatient – A blockchain is a digital transaction of records


that’s arranged in chunks of data called blocks. These blocks link with one another
through a cryptographic validation known as a hashing function. Linked together,
these blocks form an unbroken chain – a blockchain. A blockchain is programmed
to record not only financial transactions but virtually everything of value. Another
name for blockchain is distributed ledger.

Hold on tight, as I’m going to discuss a lot of concepts in this chapter. But if you
follow along closely, you’ll understand the concepts of blockchain and be on your way to
creating some really creative applications on the Ethereum blockchain in the upcoming
chapters!

Tip Ethereum is an open-source public blockchain that is similar to the Bitcoin


network. Besides offering a cryptocurrency known as Ether (which is similar
to Bitcoin), the main difference between Bitcoin and itself is that it offers a
programming platform on top of the blockchain, called Smart Contract. This book
focuses on the Ethereum blockchain and Smart Contract.
Chapter 1 Understanding Blockchain

Motivations Behind Blockchain


Most people have heard of cryptocurrencies, or at least, Bitcoin.

Note The technology behind cryptocurrencies is blockchain.

To understand why we need cryptocurrencies, you have to first start with


understanding a fundamental concept – trust. Today, any asset of value or transaction is
recorded by a third party, such as bank, government, or company. We trust banks won’t
steal our money, and they are regulated by the government. And even If the banks fail,
it is backed by the government. We also trust our credit card companies – sellers trust
credit card companies to pay them the money, and buyers trust credit card companies to
settle any disputes with the sellers.

Placement of Trusts
All these boil down to one key concept – placement of trust. And that is, we place our
trust on a central body. Think about it, in our everyday life, we place our trusts on banks,
and we place our trusts on our governments.
Even for simple mundane day-to-day activities, we place our trusts in central bodies.
For example, when you go to the library to borrow a book, you trust that the library
would maintain a proper record of the books that you have borrowed and returned.
The key theme is that we trust institutions but don’t trust each other. We trust our
government, banks, even our library, but we just don’t trust each other. As an example,
consider the following scenario. Imagine you work at a cafe, and someone walks up
to you and offers you a US ten-dollar bill for two cups of coffee. And another person
who offers to pay you for the two cups of coffee using a handwritten note saying he
owes you ten dollars. Which one would you trust? The answer is pretty obvious, isn’t it?
Naturally you would trust the US ten-dollar bill, as opposed to the handwritten note.
This is because you understand that using the ten-dollar bill, you can use it elsewhere
to exchange for other goods or services, and that it is backed by the US government. In
contract, the handwritten note is not backed by anyone else (except perhaps the person
who wrote it), and hence it has literally no value.

2
Chapter 1 Understanding Blockchain

Now let’s take the discussion a bit further. Again, imagine you are trying to sell
something. Someone comes up to you and suggests paying for your goods using the
currencies as shown in Figure 1-1.

Figure 1-1. Currencies from two countries

Would you accept the currencies as shown in the figure? Here, you have two different
currencies – one from Venezuela and one from Zimbabwe. In this case, the first thing
you consider is whether these currencies are widely accepted and also your trust in these
governments. You might have read from the news about the hyperinflation in these two
countries, and that these currencies might not retain its value over time.
And so, would you accept these currencies as payment?

T rust Issues
Earlier on, I mentioned that people trust institutions and don’t trust each other. But even
established economies can fail, such as in the case of the financial crisis of the United
States in 2007–2008. Investment bank Lehman Brothers collapsed in September 2008
because of the subprime mortgage market. So, if banks from established economies can

3
Chapter 1 Understanding Blockchain

collapse, how can people in less developed countries trust their banks and governments?
Even if the banks are trusted, your deposits may be monitored by the government, and
they could arrest you based on your transactions.
As we have seen in the example in the previous section, there are times when people
don’t trust institutions, especially if the political situation in that country is not stable.
All these discussions bring us to the next key issue – even though people trust
institutions, institutions can still fail. And when people lose trust in institutions, people
turn to cryptocurrencies. In the next section, we will discuss how we can solve the trust
issues using decentralization, a fundamental concept behind cryptocurrency.

Solving Trust Issues Using Decentralization


Now that you have seen the challenges of trust – who to trust and who not to trust, it
is now time to consider a way to solve the trust issues. In particular, blockchain uses
decentralization to solve the trust issue.
In order to understand decentralization, let’s use a very simple example that is based
on our daily lives.

E xample of Decentralization
To understand how decentralization solves the trust issue, let’s consider a real-life example.
Imagine a situation where you have three persons with DVDs that they want to share
with one another (see Figure 1-2).

4
Chapter 1 Understanding Blockchain

Figure 1-2. Sharing DVDs among a group of people

The first thing they need to do is to have someone keep track of the whereabouts
of each DVD. Of course, the easiest is for each person to keep track of what they have
borrowed and what they have lent, but since people inherently do not trust each other,
this approach is not very popular among the three persons.
To solve this issue, they decided to appoint one person, say B, to keep a ledger, to
hold a record of the whereabouts of each DVD (see Figure 1-3).

5
Chapter 1 Understanding Blockchain

Figure 1-3. Appointing a particular person to keep the records

This way, there is a central body to keep track of the whereabouts of each DVD. But
wait, isn’t this the problem with centralization? What happens if B is not trustworthy?
Turns out that B has the habit of stealing DVDs, and he in fact could easily modify the
ledger to erase the record of DVDs that he has borrowed. So, there must be a better way.
And then, someone has an idea! Why not let everyone keep a copy of the ledger
(see Figure 1-4)? Whenever someone borrows or lent a DVD, the record is broadcast to
everyone, and everyone records the transaction.

6
Chapter 1 Understanding Blockchain

Figure 1-4. Getting everyone to keep the records

We say that the record keeping is now decentralized! We now have three persons
holding the same ledger. But wait a minute. What if A and C conspire to change the
records together so that they can steal the DVDs from B? Since majority wins, as long
as there is more than 50% of the people with the same records, the others would have
to listen to the majority. And because there are only three persons in this scenario, it is
extremely easy to get more than 50% of the people to conspire.
The solution is to have a lot more people to hold the ledger, especially people who
are not related to the DVDs sharing business (see Figure 1-5).

7
Chapter 1 Understanding Blockchain

Figure 1-5. Getting a group of unrelated people to help keep the records

This way, it makes it more difficult for one party to alter the records on the ledger,
and that in order to alter a record, it would need to involve a number of people altering
the record all at the same time, which is a time-consuming affair. And this is the key idea
behind distributed ledger, or commonly known as blockchain.

Blockchain As a Distributed Ledger


Now that we have a better idea of a distributed ledger, we can now associate it with
the term – blockchain. Using the DVD rental example, each time a DVD is borrowed
or returned, a transaction is created. A number of transactions are then grouped
into a block. As more transactions are performed, the blocks are linked together
cryptographically, forming what we now call a blockchain (see Figure 1-6).

8
Chapter 1 Understanding Blockchain

Figure 1-6. Transactions form a block, and then blocks are then chained

Based on what we have discussed, we can now summarize a few important points:

• Centralized databases and institutions work when there is trust in the


system of law, governments, regulatory bodies, and people.

• A decentralized database built on the blockchain removes the need


for the trust in a central body.

• A blockchain can be used for anything of value, not just currencies.

How Blockchain Works


At a very high level, a blockchain consists of a number of blocks. Each block contains a
list of transactions, as well as a timestamp (see Figure 1-7).

9
Chapter 1 Understanding Blockchain

Figure 1-7. Every blockchain has a beginning block known as the genesis block

The blocks are connected to each other cryptographically, the details in which we
will discuss in the sections ahead. The first block in a blockchain is known as the genesis
block.

Note Every blockchain has a genesis block.

So, the next important questions is – how do you chain the blocks together?

Chaining the Blocks


Before we discuss how blocks in a blockchain are chained together, we have to discuss
a key concept in blockchain – hashing. A hash function is a function that maps data of
arbitrary size to data of fixed size. By altering a single character in the original string, the
resultant hash value is totally different from the previous one. Most importantly, observe
that a single change in the original message results in a completely different hash,
making it difficult to know that the two original messages are similar.
10
Chapter 1 Understanding Blockchain

A hash function has the following characteristics:

• It is deterministic – the same message always results in the same


hash.

• It is a one-way process – when you hash a string, it is computationally


hard to reverse a hash to its original message.

• It is collision resistant – it is hard to find two different input messages


that hash to the same hash.

We are now ready to discuss how blocks in a blockchain are chained together. To
chain the blocks together, the content of each block is hashed and then stored in the next
block (see Figure 1-8). That way, if any transactions in a block is altered, that is going to
invalidate the hash of the current block, which is stored in the next block, which in turn
is going to invalidate the hash of the next block, and so on.

Figure 1-8. Chaining the blocks with hashes

11
Chapter 1 Understanding Blockchain

Observe that when hashing the content of a block, the hash of the previous block is
hashed together with the transactions. However, do take note that this is a simplification
of what is in a block. Later on, we will dive into the details of a block and see exactly how
transactions are represented in a block.
Storing the hash of the previous block in the current block assures the integrity of the
transactions in the previous block. Any modifications to the transaction(s) within a block
causes the hash in the next block to be invalidated, and it also affects the subsequent
blocks in the blockchain. If a hacker wants to modify a transaction, not only must he
modify the transaction in a block but all other subsequent blocks in the blockchain. In
addition, he needs to synchronize the changes to all other computers on the network,
which is a computationally expensive task to do. Hence, data stored in the blockchain
is immutable, for they are hard to change once the block they are in is added to the
blockchain.
Up to this point, you have a high-level overview of what constitutes a blockchain and
how the blocks are chained together. In the next section, you will understand the next
important topic in blockchain – mining.

M
 ining
Whenever you talk about blockchain or cryptocurrencies, there is always one term that
comes up – mining. In this section, you will learn what is mining, and what goes on
behind the scene.
Mining is the process of adding blocks to a blockchain. In a blockchain network,
such as the Bitcoin or Ethereum network, there are different types of computers known
as nodes. Computers on a blockchain that add blocks to the blockchain are known as
miner nodes (or mining nodes, or more simply miners).
We will talk about the different types of nodes later on in this course, but for now, we
want to talk about a particular type of node, known as the miner node. The role of the
miner node is to add blocks to the blockchain.
But how are blocks added?

B
 roadcasting Transactions
When a transaction is performed, the transaction is broadcasted to the network (see
Figure 1-9).

12
Chapter 1 Understanding Blockchain

Figure 1-9. Transactions are broadcasted to mining nodes, which then assemble
them into blocks to be mined

Each mining node may receive them at different times. As a node receives
transactions, it will try to include them in a block. Observe that each node is free to
include whatever transactions they want in a block. In practice, which transactions get
included in a block depends on a number of factors, such as transaction fees, transaction
size, order of arrival, and so on.
At this point, transactions that are included in a block but which are not yet added
to the blockchain are known as unconfirmed transactions. Once a block is filled with
transactions, a node will attempt to add the block to the blockchain.
Now here comes the problem – with so many miners out there, who gets to add the
block to the blockchain first?

The Mining Process


In order to slow down the rate of adding blocks to the blockchain, the blockchain
consensus protocol dictates a network difficulty target (see Figure 1-10).

13
Chapter 1 Understanding Blockchain

Figure 1-10. Hashing the block to meet the network difficulty target

In order to successfully add a block to the blockchain, a miner would hash the
content of a block and check that the hash meets the criteria set by the difficulty target.
For example, the resultant hash must start with five zeros and so on.
As more miners join the network, the difficultly level increases, for example, the
hash must now start with six zeros and so on. This allows the blocks to be added to the
blockchain at a consistent rate.
But, wait a minute, the content of a block is fixed, and so no matter how you hash it,
the resultant hash is always the same. So how do you ensure that the resultant hash can
meet the difficulty target? To do that, miners add a nonce to the block, which stands for
number used once (see Figure 1-11).

14
Chapter 1 Understanding Blockchain

Figure 1-11. Adding a nonce to change the content of the block in order to meet
the network difficulty target

The first miner who meets the target gets to claim the rewards and adds the block to
the blockchain. It will broadcast the block to other nodes so that they can verify the claim
and stop working on their current work of mining their own blocks. The miners would
drop their current work, and the process of mining a new block starts all over again.
The transactions that were not included in the block that was successfully mined will be
added to the next block to be mined.

REWARDS FOR MINERS

In the case of Bitcoin, the block reward initially was 50 BTC and will halve every 210,000
blocks. At the time of writing, the block reward is currently at 12.5 BTC, and it will eventually
be reduced to 0 after 64 halving events. For Ethereum, the reward for mining a block is
currently 2 ETH (Ether).

15
Chapter 1 Understanding Blockchain

BLOCKS ADDING RATES

For Bitcoin, the network adjusts the difficulty of the puzzles so that a new block is being mined
roughly every 10 minutes. For Ethereum, a block is mined approximately every 14 seconds.

Proof of Work
The process in which blocks are mined and added to the blockchain is known as the
Proof of Work (PoW). It is difficult to produce the proof but very easy to validate. A good
example of Proof of Work is cracking a combination lock – it takes a lot of time to find the
right combination, but it is easy to verify once the combination is found.
Proof of Work uses tremendous computing resources – GPUs are required, while
CPU speed is not important. It also uses a lot of electricity, because miners are doing the
same work repeatedly – find the nonce to meet the network difficulty for the block.
A common question is why you need to use a powerful GPU instead of CPU for
mining? Well, as a simple comparison, a CPU core can execute 4 32-bit instructions per
clock, whereas a GPU like the Radeon HD 5970 can execute 3200 32-bit instructions per
clock. In short, the CPU excels at doing complex manipulations to a small set of data,
whereas the GPU excels at doing simple manipulations to a large set of data. And since
mining is all about performing hashing and finding the nonce, it is a highly repetitive
task, something that GPU excels in.

Tip When a miner has successfully mined a block, he earns mining fees as well
as transaction fees. That’s what keeps miners motivated to invest in mining rigs
and keep them running 24/7, thereby incurring substantial electricity bills.

Immutability of Blockchains
In a blockchain, each block is chained to its previous block through the use of a
cryptographic hash. A block’s identity changes if the parent’s identity changes. This in
turn causes the current block’s children to change, which affects the grandchildren, and
so on. A change to a block forces a recalculation of all subsequent blocks, which requires
enormous computation power. This makes the blockchain immutable, a key feature of
cryptocurrencies like Bitcoin and Ethereum.

16
Chapter 1 Understanding Blockchain

As a new block is added to the blockchain, the block of transactions is said to be


confirmed by the blockchain. When a block is newly added, it’s deemed to have one
confirmation. As another block is added to it, its number of confirmation increases.
Figure 1-12 shows the number of confirmations that the blocks in a blockchain have. The
more confirmations a block has, the more difficult it is to remove it from the blockchain.

Tip In general, once a block has six or more confirmations, it’s deemed infeasible
for it to be reversed. Therefore, the data stored in the blockchain is immutable.

Figure 1-12. Confirmations of blocks in a blockchain

Blockchain in More Detail


In the previous section, you learned that a block contains a nonce, timestamp, and the
list of transactions. That was a simplification. In real implementation, a block consists of

• A block header

• The list of transactions

17
Chapter 1 Understanding Blockchain

The block header in turn consists of the following:

• The hash of the previous block

• Timestamp

• Merkle root

• Nonce

• Network difficulty target


Note that the block header contains the Merkle root, and not the transactions (see
Figure 1-13). The transactions are collectively represented as a merkle root, details of
which will be discussed in the next few sections.

Figure 1-13. A block contains the block header, which in turns contains the
Merkle root of the transactions

18
Chapter 1 Understanding Blockchain

T ypes of Nodes
Before we address the rationale for storing the Merkle root in the block header, we need
to talk about the types of nodes in a blockchain network. Figure 1-14 shows the different
types of nodes in a blockchain network.

Figure 1-14. Different types of nodes in a blockchain network

As we mentioned in our earlier sections, computers connected to the blockchain


network are known as nodes. We have discussed the role of mining nodes, whose key
responsibility is to gather transactions into blocks and then try to add the block to the
blockchain by finding the nonce that satisfies the network difficulty. Mining nodes are
also known as full nodes.

Tip Note that full nodes are not necessarily mining nodes. However, mining
nodes need to be a full node.

The purpose of a full node is to ensure the integrity of the blockchain and people
running full nodes do not get rewards. On the other hand, mining nodes are rewarded
when they add a block to the blockchain.
19
Chapter 1 Understanding Blockchain

An example of a full node is a desktop wallet, which allows users to perform


transaction using the cryptocurrency.
Each full node has a copy of the entire blockchain. Full nodes also validate every
block and transactions presented to it.
Besides full nodes, there are also light nodes. Light nodes help to verify transactions
using a method called simplified payment verification (SPV). SPV allows a node to verify
if a transaction has been included in a block, without needing to download the entire
blockchain. Using SPV, light nodes connect to full nodes and transmit transactions to the
full nodes for verifications.
Light nodes only need to store the block headers of all the blocks in the blockchain. An
example of a light node is a mobile wallet, such as the Coinbase mobile app for iOS and
Android. Using a mobile wallet, a user can perform transactions on the mobile device.

Note Desktop wallets can be full node or light node.

And so, we can summarize the types of nodes that we have discussed thus far:

• Full node

• Maintains a complete copy of the blockchain

• Able to verify all transactions since the beginning

• Verifies a newly created block and add it to the blockchain

• Visit the following sites to see the current number of full nodes for
the following blockchains:
• Bitcoin – https://bitnodes.earn.com

• Ethereum – www.ethernodes.org/network/1

• Mining node (must be a full node)

• Works on a problem (finding the nonce)

• Light node (e.g., wallets)

• Maintains the headers of the blockchain

• Uses SPV to verify if a transaction is present and valid in a block

20
Other documents randomly have
different content
naaraksensa kanssa, pamahti laukaus, ja toinen kaatui. Itse oli
Minna tallannut perhosen, joka kuollessaankin oli kiinni kukassa, jota
eläessään oli lempinyt.

Tähän vastaa mies, että perhosen kuolo oli lemmen voittoriemu,


perhonen kun kuoli kanssa armaansa. Niin käy enkelikin elon
erämaita, temmaten armaan armaalta, mutta ei saaliinhimoisesti,
vaan hellästi.

Hän miettii:

viel' itkettyäs kotvan korjaan Sunkin, sa kaihoon jäänyt,


kyynel-laaksostas, kuss' yksin kuljet.

Tuo enkeli on Kuolo. Minna luulee häntä itseään kuoloksi ja pyytää


häntä viemään "valjun liljan" luojan luo.

MIES.

Iäti kukkimaan ja lempimään.

MINNA.

Iäisen jalkain juuress' itkemään, Hän kunnes, kyyneliini


heltyin, käskee sua noutamaan sen, joka nyt mua karttaa.

MIES.

Oi, sataman kun saat sa, saa hän myös! Kai itse hyvää
enkeliäs etsii hän tuota luokses-tuojaa. — Unohda min rikkoi
maa, min täällä kärsit, siksi.
Nuku, sanoo hän, ja uneksi onnea ja rauhaa. Niin, vastaa Minna,
kuinka kuolo viepi onnen jälleen takaisin kautta maailman. Ja koska
rakastaja itse on kuolon enkeli, niin kai hänen on aarteita tarvis,
voittaaksensa maan lasten lemmen. Niitä tahtoo Minna hänelle
antaa: kyynelensä, huokauksensa, jotka kiiluvat timantteina ja
helminä. Ja missä

valittaa leski turvaton, ja turhaan hält' itkee leipää valjut


pienoiset, ja paarten ääress' asuu karvas hätä, ne sinne
sirota, ja siunaten saleista taivahan ma näen sen. Vaan lempi
lohduton miss' autuuttansa mennyttä vaatii maalta,
taivahalta, siell' älä kylvä kultaa, helmiä, vaan nosta
viikatteesi, niitä!

Muistamme että mustasukkainen, joka alussa turhaan on


turvautunut järkeen, myöhemmin on kehittynyt tyytymään entisen
onnensa muistoon ja mielikuvituksen luomiin kuviin. Nyt Minnankin
järki on soaistu, ja hänkin elää mielikuvituksen maailmassa. Mutta
kun molemmista nyt kuolo on rakastavien vapauttaja, niin he
ajattelevat etupäässä jälkeenjäänyttä. Armaan kadottaminen on
lyhyt koetusaika, jonka jälkeen kuolo vapahtaa toisenkin, "iäti
kukkimaan ja lempimään". Minnasta taas ensin lähteneen
huokaukset ja kyyneleet ovat aarre, jolla voidaan lohduttaa onnensa
menettäneitä, mutta jos lohduton rakkaus vaatii maalta ja taivaalta
mennyttä autuuttansa, silloin tulee kuolon niittää jälkeenjäänyt.

Minkätähden? Sitä Runeberg ei sano, mutta hän näyttää


tarkottavan että vaatiminen on itsekästä, ja että kuolon tulee
puhdistaa ihmiset kaikesta maallisesta tahrasta — aivan niinkuin
runossa Elo ja kuolo.
Lausuttuaan äsken mainitut sanat Minna nukkuu ja hänen
rakastajansa sanoo häntä sen johdosta onnelliseksi: hänen
ajatustaan vainoavat vielä murheen laumat, mielipuolisuuskaan ei
suo lepoa, vain uni on hylättyjen ystävä.

Mutta nyt ovat runon sankarin silmät, samoinkuin äsken


Minnankin, auenneet näkemään ihmisten yleistä kohtaloa. Kaikkialla
"itku kohtaa, kurjuus vallitsee". Ihmiselle on annettu kaksinainen
osa, maallista pimeyttä ja taivaallista valoa; ja sentähden ihmiselämä
on "yö synkkä tähden ympär' ainokaisen". Ja tämän tähden "valju
tuike turhaan puhki pilvein ja usmain hunnun pyrkii".

Vaan silmä toisinaan tok' unhottaa yön hämärän ja kauhut,


taistot, tähteen vain lapsen ihastuksin tähyää; ja hetket nuo,
ne nimee heikkous kirkkaiksi hetkikseen ja niitä lempii keveinä
elon riemutuokioina; vaan voima, sydän väkevä, se kiroo ne
kiusaajina hornankitaisina, poloisen toivon turmaan
kiehtojina, vain näyttääkseen kuin siltä siipi herpoo, valon ja
rauhan valhe-airuina tiell' aatoksen, mi harhan korpiin käy.

Taas esiintyy siis vastakohta aatoksen ja tunteen välillä. Valoisempi


käsitys elämästä on tunteen luoma, "lapsen ihastuksin" sydän katsoo
henkistä maailmaa; mutta aatos, voima, sydän väkevä, näkee siinä
vain valon ja rauhan valhe-airueita. Sentähden ainoa lohdutus on uni
ja unho, kun vain voidaan unhottaa.

Leponi vaivuntaa vain kärsimyksen


on taakkahan, mi kantaakseni karttuu.

Mutta sentään hän ei enää ajattele vain itseään, hän katselee


Minnan unta "iloin vienon-haikein".
kun murhe haudall' istuu rakkaan vainaan
ja kukast' iloitsee, mi sille kohoo.

Vieläpä hän neljännessä yössä kertoo kuinka hän on koko yön


valvonut
Minnan vieressä, muistellen lapsuutensa rauhaa,

kun aatos viel' ei tiennyt itsestänsä viel' entänyt ei turhaan


etsimään kuin Noan kyyhky rantaa viherjöivää, vaan arkiss'
unten turvaisessa tuuti yl' elon aavan pohjattoman aallon.

Siis taas vastakohta aatoksen ja välittömän tunteen välillä. —


Mutta myöskin lemmen aikoja hän nyt oli muistanut "täynn' iloa ja
haikeutta vuoroin".

Siten on hän valmistunut vastaanottamaan niitä jäähyväissanoja,


jotka
Minna lausuu herättyään täysin tajuisena ja "taivaan tyynnä":

Nyt vaivan tutkain taittui, verho vaipui mun silmiltäni; olen


löytänyt mit' etsinkin, ei muuta sydän vaadi. Mit' omistavi
maa, sen riemut, tuskat, ne maljoin kukkuraisin join, eik' ole
sen ahtaass' aartehistoss' enempää. Nyt menen minne
seurata et saa; vaan kohta lähden kauemmas, ja silloin
perästä tervetullut! Saat laillani ehk' uneksua kauan, tääll' että
turhaan etsit onneas. mun laillani myös olet kerran, sydän
tyventyneenä, valoisana sielu, sen helmaan ihmetellen
heräävä; hyvästi siksi jää!

Nämä sanat ovat runon käsittämiselle hyvinkin tärkeät, koska


runon sankari sittemmin toistaa ne. Minnalla on nyt elämästä se
käsitys, että tyytymättömyys siihen on unelma; kun herätään, niin
huomataan että ollaan onnen helmassa.

Niin oli Minna lähtenyt ja uhkaavasti varottanut häntä


seuraamasta.
Hän oli lähtenyt — minne? Tietysti puolisonsa luo.

Miel' ylevä näät pakkons' aina kantaa, ja velvotuksen


vaskikahleet takoo se lujiksi.

Mutta ajatellessaan tätä ja Minnan puolison onnea runon sankari


taas tuntee mustasukkaisuuden heräävän, hän tahtoo nähdä
kilpailijansa veren veitseen hyytyvän. Mutta, sanoo hän, pois hornan
aatos, joka viettelet sieluni ainoata aarretta, Minnan vastalemmen
toivoa.

Vaan hän ei voi edes itselleen etsiä vapautusta kuolemasta. Tosin


nurmen alla nukkujan povessa ei enää tuska herää. Mutta henki,
onko se kuolemassa vapaa? Ei:

Saleissa taivaan viel' on orja se; se kantaa kahleen


itsessänsä, kunis se lempens' ajallisen muiston kantaa. Ja
lempi se ei niin vain varisekaan, kuin kätkee tomun hauraat
kahlehet.

Puhdistumatonna tästä maan tomusta saavuttaisi henki kuoleman


kautta ainoastaan elämän, "syvemmin tuskansa vain tajuavan".

Mutta ei mikään taivas olisi kylliksi ihana houkutellaksensa henkeä


luokseen, niin kauan kun Minna vielä hengittää maan laaksoissa.
Aistillisuus yhä vetäisi häntä Minnan luokse, se veisi voiton
henkisyydeltä. Ei olo siis muuta neuvoa kuin koettaa yhä enemmän
kiihdyttää tuskaansa; "niin polon ponnettuuteen polo kuolkoon".
Sentähden hän koettaa itselleen kuvailla Minnan puolison onnea
kiduttaakseen sillä itseään, mutta lopuksi nämä kuvatkin vaikuttavat
niin voimakkaasti häneen, että hän aatokselleen sanoo:

Saata yön tähteä


kaks yhteen
törmäämään ja pirstoin
radoiltansa
suistumaan, ja
maailman vankka
perus pettäköön, ja
maa, taivas
huokaukseen
hukkukoon.

Jyrkkänä vastakohtana tälle neljännen yön lopulle alkaa viides yö


huudahduksella:

Sees ehtoo, rauhaa! Rauhaa, taivas, maa! Kuin elinkautis-


vanki armaan saanut… kuin hän vaan autuaampana ma
seison jaloissa intohimon kahlepirstat… Räpyttää aatos
siipiään ja empii eik' uskois vapauttaan, vaikka vie jo päälle
pilvein joka siiven-isku.

Kaikki on autuasta, hän seisoo Minnan haudalla.

Mutta Minna ei nuku, hänen henkensä valvoo, hänen hahmonsa


katsoo joka kukasta, äänensä soi linnunlauluna, tuulet ja pilvet
lähettävät hänestä viestejä. Murhe, vaivat, huolet, tuskat, kauhut,
mit' on ne? — Varjo-aavehia parvi, todellisia silmiss'
ajatuksen, se kunis vanki pimeän on mailla, vaan tyhjiä, vaill'
olemusta, voimaa, päin valoa se konsa kohouu. Ylemmäs
multaa kohtalon ei mahti; ja inehmo, mi maassa maata on,
on heti taivasta tuoll' ylähällä.

Kaikki hänen entiset huolensa näyttävät hänestä nyt pieniltä,


vähäpätöisiltä. Mitä hän olikaan kadottanut? Maallisen puolen
Minnaa, mutta ei hänen sieluansa, "silmist' iäisnä mi siinsi", ei
kauneuttaan, "mi syttyi ajassa, mut iäisyyteen".

Nyt hän siis ymmärtää Minnan jäähyväissanojen tarkotuksen.

Ol' unta vaivani — mi todellista ei kera hetkein synny,


vaihdu ei. Yks oli totta toki: lempeni; sen helmass' uneksin —
nyt valveill' olen. Näin uniss' aaveita, yön hirmuja; nyt Minnan
nään ja taivaat, Jumalan.

Ja noita sanoja seuraa tuo merkillinen kuvaus rakkaudesta:

Oi rakkaus, kuink' ihanuutes voittaa tuon myrkkynuoli-


Amorin, tuon, jota ihannoi runo, intohimo uskoo! Nyt
kirkastettuna sun hahmos nään: nään joutses tähtäävän, mut
sylis on se avara, mi aukee maailmalle; ja nuoles tunnen —
taotut ne on valosta, viattuudest', autuudesta.

Tässä hahmossa rakkaus kerran ennenkin oli esiintynyt hänelle,

kun ensi kerran näin


Minnan katseessa sun
ilmestykses ja hänen
kanssaan syliini sun suljin;
mutt' hetken vain sun näin,
en sitten enää. Valoni
sammui, varjot sielun
täytti, ja himojen soi viekas
kehtovirsi unissa kävijälle
elon yön.

Ja sitten seuraa tuo ihana vertauskuva: ihminen lepää iäisyyden


helmassa kuin lapsi äitinsä helmassa; vain kaksi tuokioista hän on
valveilla mullan horrosta ja voi luoda katseen henkimaailman
riemuun; ja nämä tuokiot ovat ensi lempi ja ihmisen viimeinen hetki.
Kaikki muu on vain unia, kavaloita, ahdistavia, julmia; mutta joskus
myös unia joiden utupiirteissä ystävällinen vilahdus "hohtaa taivast',
iäisyyttä" — puhtaan lemmen tuokioita.

Näissä tunteissa eläen rakastaja voi riemumielin muistella


lapsuuttaan ja nuoruuttaan. Haudan vierellä on paikka uinua
viattomuuden unia. Ja kun hän tuntee hetken lähestyvän, jona hän
saa seurata Minnaa, niin hän lausuu:

Hellin sovitetuin katsein heitän mä hyvästi mist' iäks' eroon


nyt. Oi, helppo vääryydet on unohtaa, kun taaksi jäi jo
kärsimys ja murhe! Eik' aatos katkera saa tulla myötä valoisiin
juhliin rakkauden ja rauhan.

Yksin luontokin nyt esiintyy hänelle toisessa valossa kuin ennen.


Intohimon hetkenä oli hänestä tuntunut mahdottomalta yhtyä siihen
riemuun, minkä päivännousu kaikkialla luonnossa herättää. Nyt hän
sensijaan kiittää aurinkoa

jok' ilosta, mi versoi suojassas, ja tunteesta, min kypsytti


sun liekkis, valon ja elon parhaist' antimista.
Mutta ei siinä kyllin. Hän, joka tähän asti on paennut muita
ihmisiä, hän pyytää nyt kotilaaksoansa ottamaan hänen sijaansa
helmalapseksensa toisen, joka on

kuin minä eksyksissä tomun maassa. Ain' uusin keväin hälle


kirjaellos sa kukkakirjas maista paremmista.

Ja vihdoin hän jättää hellät jäähyväiset niille miljoonille sydämille,


jotka jäävät tänne iloon ja tuskaan. Jos elämä ei anna heille sitä mitä
he ovat toivoneet, jos hyiset myrskyt riistävät heidän viimeisenkin
onnensa, niin älkööt he silloinkaan nurkuko, sillä "auvoineen ja
vaivoineen vain unelma on elo".

Olen jotensakin laajasti esittänyt tämän merkillisen runoelman


rakennetta, syystä että Mustasukkaisuuden öitä usein pidetään
hämäränä, epäselvänä jopa epärunebergilaisenakin. Ja tosiaan
eroavatkin teoksen sekä sisällys että esitystapa tuntuvasti siitä mitä
Runebergin runoelmissa myöhemmin tavataan. Mutta juuri
sentähden tämä teos on sitä merkillisempi. Siitä näet mielestäni
selvästi huomataan miten tosirunebergilainen katsantotapa
muodostuu.

Lähtökohta on siinä ettei järki, johon runoilija ennen on


turvautunut, pystykään hillitsemään niitä intohimoja jotka ovat
vallanneet mustasukkaisen mielen. Ja läpi koko runoelman näemme
kuinka järkiperäinen "aatos" osottaa samaa kykenemättömyyttä,
vieläpä estää tunnetta antautumasta ylevämpiin iloihin.

Mutta intohimot, aistillisuuden maailma, ovat nekin voimia jotka


estävät ihmisen onnea. Näitä esteitä on mahdoton voittaa muilla
keinoin kuin siten että tunne jalostuu, vapautuu itsekkäisyydestä ja
kohoaa korkeampaan maailmaan kuin aistillisuuden. Tämä taas
tapahtuu ensiksi kun tunteet siirretään mielikuvituksen maailmaan,
ja sitten kun ihminen johtuu ajattelemaan toistenkin suruja ja tuskia.
Mitä enemmän tämä tapahtuu, sitä enemmän tunne saapi kokea että
sielun oikea elämä on elämää semmoisessa rakkaudessa, joka avaa
sylinsä maailmalle, se on kaikille ihmisille, ja joka jakaa niille valoa,
viattomuutta, autuutta.

Ja samalla muuttuu luonnonkin merkitys ihmiselle. Niin kauan kuin


hän elää itsekkäissä himoissa, hän pakenee luontoa eikä voi yhtyä
sen riemuun. Mutta kun sielu on kohonnut maille paremmille, silloin
luontokin niistä "kirjottaa kukkakirjansa".

Lopputulos on siis sama kuin jo Syysillassakin: katoavaisuus,


aistillisuus, ja niiden mukana elämän vaivat ja tuskat, ne ovat vain
iäisyyden helmassa nukkuvan unelmia.

Tämä suuremman ja pienempien runojen täydellinen


yhtäpitäväisyys osottaa selvästi että runoilija tässäkin, niinkuin
noissa runoissa, on lähtenyt personallisista tarpeistaan ja
kokemuksistaan. Oman itsensä vuoksi, saavuttaaksensa itse
selvitystä elämän tarkotuksesta ja ihmisen asemasta maailman
kokonaisuudessa, runoilija on esittänyt ihmissydämen sisällisiä
taisteluita. Ja päätöskin on hänen luonteensa mukainen: tuo
kirkastettu rakkaus, joka avaa sylinsä maailmalle, se on hänen
luontainen ihmisystävällisyytensä, ainoastaan vahvistuneena ja
selvinneenä sisällisessä taistelussa; ja siihen on yhtynyt rakkaus
toiseen Friggaan ja luontoon. Samaten tiekin, jota hän on kulkenut,
on hänen oman luonteensa määräämä; se on runoilijan tie, se viepi
tunteen ja mielikuvituksen, eikä järkiperäisen mietiskelyn maitten
halki.
Mutta niinkuin jo mainittiin on tämä tie yhteinen uuden vuosisadan
koko runoudelle. Ja kaikkialla pyrittiin tähän aikaan, samoinkuin
Runeberg teki, käsittämään maailmaa siten että sen henkisempiä
puolia katsottiin ainoiksi korkeammassa merkityksessä todellisiksi,
jota vastoin aineellisuutta pidettiin niiden rinnalla ala-arvoisena, jopa
olemattomanakin. Tässäkin kohden käypi virta edellisen vuosisadan
ajatustapaa vastaan, tämä kun uudistajain mielestä oli vienyt ihmisiä
harrastamaan etupäässä vain aineellisia pyrintöjä.

Mutta kysymykseen mikä sitten oikea korkeampi todellisuus on,


vastattiin eri lailla. Luokaamme lyhyt silmäys näihin vastauksiin, siten
parhaiten selviää Runebergin asema ajan henkisessä kehityksessä.

12.

Ajan virtaukset tulivat yhdeksännentoista vuosisadan alkupuolella


Suomeen pääasiallisesti kahdelta taholta: Ruotsista ja Saksasta.
Ruotsi vaikutti runoudellaan, Saksa filosofiallaan. Ruotsin runoudessa
esiintyi taas kaksi pääsuuntaa: varsinainen romanttinen ja
gööttiläinen. Saksan uusi filosofia vaikutti meillä syvemmin vasta
Hegelin kautta.

Romantikot sanoivat: aineellisuus painostaa ajan mieltä,


jokapäiväiset huolet tekevät ihmisistä hyödyn orjia. Korkealle pyrkivä
henki ei viihdy siinä maailmassa, tunne kohottaa hänet toiseen
maailmaan, missä mielikuvitus vapaasti luopi ihanteitaan. Vähät siitä
pitävätkö poroporvarit niitä ihanteita vain unelmina, meille niiden
maailma on korkeammassa merkityksessä ainoa todellinen.
Göötit sanoivat: velttous painostaa ajan mieltä; jokapäiväiset
huolet tekevät ihmiset heikoiksi. Korkealle pyrkivä henki ei viihdy
siinä maailmassa; tahto kohottaa hänet toiseen maailmaan, missä
tarmo liikkuu vapaasti. Vähät siitä jos suuri tarmokas henki
aikaansaa mullistuksia, joista poroporvarit joutuvat kärsimään; meille
tuo suuri henki edustaa sitä mikä korkeammassa merkityksessä on,
tahi ansaitsee olla, todellista.

Kumpaiseenkaan näistä ohjelmista ei Runeberg voinut yhtyä. Hän


kyllä tunnusti toiselta puolen tunteen ja mielikuvituksen, toiselta
puolen puhdistuneen tahdon merkityksen. Mutta niinkuin jo on
huomautettu oli hänen elämänsä ollut semmoista ettei hän tarvinnut
henkisesti siitä paeta mielikuvituksen maailmaan; ja tarmon
perikuvana oli hänelle esiintynyt suomalaisen talonpojan hiljainen
kärsivällisyys. Ja lopuksi, kun molemmat mainitut suunnat
halveksivat jokapäiväisiä ihmisiä, niin niiden edustajat helposti
joutuivat ylpeilemään ja prameilemaan. Mutta mitään ei Runeberg
vihannut niin paljon kuin juuri ylpeilemistä. Näistä syistä häneen
enimmin vaikuttikin Stagnelius, joka asettui noitten kahden suunnan
ulko- tahi yläpuolelle. Ja muistettava on myöskin että varsinkin
gööttiläisen, mutta muutamissa kohden romanttisenkin suunnan
esiintyminen ja ohjelma riippui Ruotsissa vuoden 1809 jälkeen
heränneistä valtiollisista ja yhteiskunnallisista harrastuksista, joille
Runeberg oli vieras — niinkuin suuressa määrin Stagneliuskin.

Jos siis nuo kaksi vastausta aikakauden suureen kysymykseen


eivät voineet tyydyttää Runebergia, niin tulee meidän tarkastaa
hänen suhdettansa Hegelin filosofiaan.

Tässä kohden eivät kansalliset eroavaisuudet olisi estäneet


Runebergia yhtymästä ulkoapäin tulleeseen ohjelmaan. Nojautuihan
Snellmankin juuri Hegeliin, kun hän ryhtyi taisteluun kansallisuuden
hyväksi. Vieläpä Hegelin filosofia tavallansa oli vastakohta sekä
romantikkojen että gööttien ohjelmalle. Mielikuvitus ei Hegelin
mukaan ollut korkein sielunkyky eikä tarmokaan. Ainoan todellisen
loi hänen mielestään järki, ei tosin tuo valistusfilosofian "terve järki",
vaan korkeampi sielunkyky, joka käsitteistä muodostaa järjestelmän,
missä vallitsee ehdoton yhtenäisyys ja lainmukaisuus.

Mutta olemme jo nähneet että Runeberg nimenomaan julistaa


järjen kykenemättömäksi auttamaan ihmistä siinä taistelussa, josta
hänen sisällinen onnensa riippuu. Tähän päätökseen oli jo hänen
oma elämänkokemuksensa vienyt, mutta omituista on nähdä kuinka
hän tälle kokemukselleen on saanut tukea tuosta ennen mainitusta
Gerlachin kirjasta, jota professori Avellan peräti halveksi, pitäen sitä
kovin vanhanaikaisena.

Koska Gerlachin kirjaa ei ole tähän asti käytetty Runebergin


kehitystä esitettäessä, katson tarpeelliseksi antaa mahdollisimman
lyhyen ja yleistajuisen selonteon sen sisällöstä; sitä seuraa lyhyt
yleiskatsaus järjestelmän pääpykäliin, johon ne lukijat tyytykööt,
joita filosofiset yksityiskohdat eivät huvita.

Niin pian kuin ihminen on jossain määrin kehittynyt henkiseen


itsenäisyyteen, hän koettaa saavuttaa yhtäpitäväisyyttä omansa ja
muiden ihmisten mielipiteiden välillä; ja varsinkin tunnetaan tämä
tarpeelliseksi kun on kysymys yhteisen tarkotusperän
saavuttamisesta taikka asioista jotka hänen silmissään ovat tärkeitä
ja pyhiä. Mutta kultuurin monimuotoisuus on vaikuttanut että
semmoinen yhtäpitäväisyys kaikkialla puuttuu, ja välttämättömästi
edistyvä kehitys saa aikaan ettei ihminen omasta itsestäänkään sitä
löydä. — Omantunnon ääni ruumiillisen vietin vaatimusten rinnalla,
tahdon vapauden aate verrattuna ihmisen riippuvaisuuteen
olosuhteista, mielteiden häilyväisyys pyrittäessä käsittämään
maailmaa kokonaisuudessaan, jumalallisen kaitselmuksen aate
pelkän sattuman rinnalla — kaikki tämä synnyttää sisällistä taistelua
ja epävarmuutta, josta vakavammat luonteet elävästi tuntevat
tarvista päästä. Sentähden jokainen siihen tilaan joutunut ihminen
pyrkii muodostamaan itselleen semmoisen elämän- ja
maailmankatsomuksen, joka voi häntä rauhottaa, ja siinä on
filosofoimisen historiallinen peruste. Filosofian tarkotus on siis se että
ihminen, tehdessään arvostelmiansa maailmasta ja ihmiselämästä
olisi sopusoinnussa itsensä kanssa.

Tämän tarkotuksen saavuttamiseksi täytyy ihmisen tarkastaa


sisäistä maailmaansa ja sitä tutkimalla pyrkiä sellaiseen
maailmankatsomukseen, jonka avulla selvästi tajuamme
vakaumuksemme sisäisen perustuksen ja henkisen
välttämättömyyden. Mutta kun samallainen vakaumus on tärkeä
myöskin ihmisten yhteiselämälle, niin pyrkii totuuden ystävä,
saavutettuansa vakaumuksen, levittämään sitä muidenkin
yhteisomaksi. Mutta silloin tulee vakaumuksen olla yleispätevä, se on
niin muodostettu, että jokaisen, joka kykenee asiaa selvästi
tajuamaan, täytyy tunnustaa se oikeaksi. Ja kun ihmisten
mielipiteiden eroavaisuudet johtuvat heidän erilaisista
elämänkokemuksistaan, on sitävastoin puhtaan ihmisluonnon
lainmukaisuus (joka ilmenee esim. matemaatisissa totuuksissa)
yleispätevyyden perusta ja tunnusmerkki. Filosofian voimme siis
määritellä niin että se tieteellisesti esittää sellaista maailman- ja
elämänkatsomusta, joka perustuu inhimillisen hengen puhtaaseen
luontoon. Mutta kun tuohon puhtaaseen luontoon todellisuudessa
aina sekaantuu jotakin yksilöllistä, niin on mainitun tarkotuksen
täydellinen saavuttaminen luettava inhimillisten ihanteiden joukkoon,
pidettävä tutkivan hengen loppumattomana tehtävänä, jolla
kuitenkin on arvonsa yhtä hyvin kuin hyveeseen pyrkimisellä, vaikka
täydellinen hyve ei olekaan saavutettavissa.

Kun siis filosofia tilapäisestä, kokemusperäisestä sivistyksestä


pyrkii elämänkatsomukseen, jossa puhdas henkisyys täydellisesti
kuvastuu, niin sen täytyy muodostaa järjestelmä, jossa ne käsitteet
ja aatteet, jotka ovat korkeamman ja puhtaasti järjellisen
maailmankatsomuksen perustana, asetetaan selvään yhteyteen sekä
keskenänsä että sisäisen perustuksensa kanssa. Tätä tehdessään
filosofia tosin ei voi sitoutua olemaan opettamatta muuta kuin vain
semmoista, jota n.s. terve ihmisjärki tietää ja käsittää, sillä jos tämä
ihmisjärki on tarpeeksi valveilla, se pian huomaa kietoutuvansa
ristiriitoihin, jotka juuri tekevät filosofisen selvittämisen tarpeelliseksi.
Mutta toiselta puolen filosofia ei voi joutua ehdottomaan ja
täydelliseen ristiriitaisuuteen luonnollisen elämän kanssa, koska sen
tehtävänä juuri on tämän elämän selvittäminen. Filosofian ei siis pidä
luulotella että se vasta on kaiken totuuden luoja, ja että ihmishenki
vasta tätä keinotekoista tietä voisi yleensä ajatella järjellisesti.

Se sisällinen maailma, jota filosofian tulee tarkastaa, esiintyy ensi


sijassa tajuna (Bewusstsein). Tajuummehan me vetoamme, kun
olemme vakuutetut jostakin, joko vakaumuksemme sitten koskee
totta, hyvää tai kaunista. Taju on siis toista kuin tunteemme,
pyrkimyksemme, käsitteemme ja aatteemme, koska se niille juuri
antaa todellisuuden ja välttämättömyyden leiman. Taju vaikuttaa että
jokin esiintyy meille olevana; niitä tiloja ja toiminnan ilmauksia, jotka
ovat tajuttomia, emme käsitä oleviksi. Taju on siis tajuavan
osanottoa toimintaansa ja sen sisältöön.
Alkuperäisin tajun muoto on välitön taju. Se ei erota tajuavaa
tajutusta ja on siis himmeää. Tuon eron toimittaa ajattelu
(Reflexion), joka muodostaa käsitteitä, erottaen erilaisen ja
yhdistäen yhtäläisen. Tästä syntyy välillinen taju. Kun alkuperäinen
ja välitön taju täten ajattelun välityksellä on saanut sisällölleen
käsitteen varmuuden ja lujuuden, silloin esiintyy taju tietona.

Mutta käsitteetkin kaipaavat tajun vahvistusta esiintyäkseen meille


olevina. Lähinnä on meillä siis aina välitön taju itsestämme. Vasta se
vakuuttaa meitä kaiken sieluntoiminnan välttämättömyydestä, ja
välitön itsetajumme on siis hengen elämän varsinaisena keskuksena
ja tyyssijana sekä sinä sydämenä, joka tosin tarvitsee kehittyä
kasvaaksensa tiedon puuksi, ja joka senvuoksi vaatii tai herättää
ajattelua, jonka kautta tämä kehitys tapahtuu, mutta joka kuitenkin
antaa kaikille kehittyneen tajun aineksille sen merkityksen tajuavaan
nähden, joka on totuudelle ominaista.

Välitön taju esiintyy tuntemisena. Mutta elävänä yksilönä ihminen


huomaa omistavansa eri voimia, joiden kautta hän joutuu
riippumaan vieraastakin toiminnasta. Siten ihmisen elonjännitys voi
muuttua tavallista, normaaliastetta suuremmaksi tai pienemmäksi, ja
tästä syntyy mielihyvän tai mielipahan tunteita, jotka siis eivät ole
minkään erityisen peruskyvyn ilmauksia. Ja kun koetamme säilyttää
mielihyvän ja poistaa mielipahan syitä, syntyy viettejä. Jos nyt
ajattelu kohdistuu tunteihin ja vietteihin, vertaamalla niitä keskenään
ja huomioon ottamalla vietin tyydyttämisen etäisemmätkin
seuraukset, niin tapahtuu valinta eri nautintojen tai tekemisen ja
tekemättä jättämisen välillä, eikä siis tahtokaan, joka tämän valinnan
toimittaa, ole mikään erityinen sielunkyky.
Lopuksi on sanottava samaa mielikuvituksestakin (Phantasie). Sitä
ei voi erottaa muista sieluntoiminnan muodoista, se liittyy kaikkiin
niihin, ja sen tarkotuksena on korvata niitä puutteellisuuksia, joiden
huomataan olevan olemassa todellisuudessa.

Se sopusointuinen elämän- ja maailmankatsomus, johon valistunut


ihminen pyrkii, se muodostuu siis niin että sieluelämän kaikki
toimintamuodot kehittyvät keskinäisessä yhteydessä. Ajattelu
muodostaa käsitteitä, hankkien siten tajuavalle puhtaasti henkistä
omaisuutta. Käsitteet ryhmittyvät niin että niistä syntyy yhä
yleisempiä käsitteitä, kunnes kaikki mikä voi olla tietämisen esineenä
muodostaa yhtenäisen järjestelmän. Samaten ymmärrys erottaa eri
pyrkimykset, samalla arvostellen niitä, ja niin eri pyrkimyksetkin
liittyvät yhteen, kuten eri käsitteet, kunnes syntyy ihmiselämän koko
alan käsittävä sopusointuinen yleispyrkimys, jota, kun se pukeutuu
ymmärryksen ja kehittyneen itsensätuntemisen muotoon, sanotaan
tahdoksi (häikäilemättömän himon vastakohtana).

Tietämisellä ja pyrkimisellä on siis yhteinen päämäärä: nähdä


lainmukaisuutta kokonaisessa ja sopusointua kaikissa sen osissa.
Mutta tämän muodollisen yhteyden ohessa on olemassa yhteys
sisältöönkin nähden, sillä oikea tietopuolinen käsitys on inhimillisten
kykyjen oikean ja täysin luonnonmukaisen käyttämisen ehtona. Jos
taas pyrkimystä, harrastusta puuttuu, niin kaikki ymmärryksen
ohjeet eivät voi aikaansaada tahtoa.

Samaten mielikuvituksenkin toiminta riippuu muista sielun


toimintamuodoista ja niiden hankkiman sivistyksen sisällöstä ja
muodosta, sanalla sanoen mielikuvituksen tuotteiden laatu riippuu
ihmisen kehityskannasta. Ja kun mielikuvitus liittyy toisiin
toimintamuotoihin, täydentäen niiden tuloksia, niin täytyy sen
tuotteiden myöskin mukautua noiden toiston toimintamuotojen
lakeihin.

Mutta toiselta puolen pyrkii mielikuvitus täten kohoamaan


semmoiseen toimintaan, jossa henkisen elämän puhdas
lainmukaisuus eli alkuperäinen luonto mitä laajimmin ja
innokkaimmin on vaikuttamassa. Ja kun mielihyvän tunne syntyy
semmoisessa tilassa jossa elontoiminta on kohonnut tavallista
astetta ylemmäksi, niin on luonnollista että mielikuvituksenkin
toiminta synnyttää mielihyvää, siinä tunnetaan henkisten voimain
leikin helppoutta, sopusointua ja elävyyttä. Mutta kun mielikuvitus
samalla yhtyy muihin toimintamuotoihin, niin on yhtä luonnollista
että se toiselta puolelta yhdistystensä lennokkuudella edistää
käsittämistä ja helpottaa järjen yleiskatsetta, toiselta puolen luopi
kuvan siveellisestä täydellisyydestä, jonka kautta hyvän aate tulee
eläväksi ja vaikuttavaksi. Mitä likeisemmin pyrkimys mielihyvään,
kauneuteen, liittyy toden ja hyvän esittämiseen, sitä enemmän
täyttyy sija joka mielikuvituksella luonnonmukaisesti on sielullisten
toimintamuotojen sarjassa.

Mutta myöskin ajatuksen ja tahdon tietä kohoaa ihminen


korkeammalle alalle. Ihmisyys semmoisenaan on jo korkeampaa kuin
pelkät luonnon esineet. Samoin henki voi kehittyä hallitsemaan
aistillisuutta ja himoja, jotka määräävät eläinten toimintaa. Se arvon
määrääminen, mikä tässä tapahtuu, ei kohdistu yksilöllisiin
tarkotuksiin, ja siten herää ihmisarvon tunne, tunne siitä että
ihminen ei ole luotu palvelemaan itsekkäitä pyrintöjä, eikä olemaan
pelkkänä välikappaleena. Tämä ihmisarvon tunne taistelee
itsekkäästä arvostelusta johtuvia pyyteitä vastaan, jos kohta se ei voi
koskaan tukahuttaa aistillisia haluja. Alussa se tosin on heikko, mutta
vähitellen se aikaansaa tajussa tosiasioita jotka yhä enemmän
tulevat käytännöllisen ymmärryksemme ohjeiksi ja muodostavat
omantunnon ensimäiset värähdykset, siveellisen itsetajun ensimäisen
muodon. Ajattelun avulla tämä itsetaju kuitenkin voi kehittyä niin
että toiselta puolen tunnemme oikeutemme, se on vaadimme
riippumattomuutta muiden mielivallasta, toiselta puolen tunnemme
itsemme velvotetuiksi säästämään ihmistä ja kohtelemaan häntä
olentona jolla on oma tarkotuksensa, mutta samalla ottamaan myös
osaa inhimillisen olevaisuuden kehittämiseen ja edistämiseen.

Jos täten toisella puolella käsitteiden, toisella puolella pyrkimysten


järjestämisellä on saavutettu sopusointua ja huomattu
lainmukaisuutta, niin puuttuu kumminkin äärimmäinen peruste,
ehdoton perussyy kaikkeen. On ikäänkuin kuuntelisi eri soittimien
sopusointuista säveltä olettamatta syytä, joka on sen kaiken
tuottanut ja joka siinä kaikessa on määräävänä. Mutta samaten kuin
tutkiskellessamme sitä henkeä, joka on luonut sopusoinnun,
jätämme syrjään tämän sopusoinnun, samaten muodostaessamme
ehdottoman perussyyn aatteen kohoamme ymmärryksen toiminnan
yläpuolelle ja tulemme uskon piiriin. Uskonnollinen aate johtuu siis
erityisestä henkisen elämän toiminnasta, jossa tämä elämä
näyttäytyy korkeimmassa puhtaudessaan.

Uskonnollinen aate on pyrkimyksiinkin nähden tärkeä. Sillä jos


inhimillisiä olosuhteita arvostellessamme lähdemme vain
kokemusperäiseltä näkökannalta, niin on vaara tarjona, että
siveellisen arvonmääräämisen täytyy väistyä itsekkään tieltä. Onhan
ihmisen olemassa-olo, mainitulta kannalta katsottuna, vain lyhyt
päivä, joka auttamattomasti häipyy takaisin ikuiseen yöhön, ja ainoa
viisauden sääntö olisi kai silloin nauttia siitä niin kauan ja niin
mieluisasti kuin mahdollista; ja samalla esiintyy ihminen
kietoutuneena ulkonaisen maailman välttämättömyyteen. Mutta kun
ihminen kohoaa tajuamaan ehdottoman perussyyn aatteen, joka on
kaikki tehnyt ja hallitsee kaikki, niin henki samalla tajuaa oman
toimintansa siinä toteutuvan ja sopivan yhteen sen kanssa.
Henkisenä voimana tuo ehdoton perussyy esiintyy korkeampana kuin
kokemusperäinen välttämättömyys, ja kohoten tuon voiman
yhteyteen ihmishenki huomaa olevansa sukua jumalalliselle
perussyylle, ja ihmisyyden kohtalo esiintyy samalla ehdottoman
hengen johdon alaisena.

Mitä enemmän tämä ehdottoman perussyyn aate ihmiselle selviää,


sitä enemmän hän omassa hengessään ja ihmishengessä yleensä
huomaa korkeimman hengen heijastusta ja kuvaa. Johdumme siis
siihen että koko ihmisyyden ja ihmiskunnan olemassaolo ja kehitys
esiintyy yhtä paljon korkeampana itsekkäitä pyyteitä kuin
kokonaisuus esiintyy tiedollemme osia suurempana.

Täten kehittyy ihmisen tajusta käsitteitä jotka tulevat inhimillisen


elämän ja toiminnan johtaviksi periaatteiksi. Mutta kun ehdoton
perussyy hallitsee myöskin luonnon valtakuntaa, niin avautuu
henkemme katseelle täten näköala, jonka ulottuvaisuus ja kantavuus
on mitä suurin, sillä se käsittää sekä koko maailman että sen
perussyyn, ja sitä on siis pidettävä filosofian etsimänä korkeampana,
sopusointuisena maailman- ja elämänkatsomuksena.

Gerlachin järjestelmän merkillisimmät kohdat ovat siis lyhyesti


seuraavat:

Ihmisen tarkotus on pyrkiä sopusointuun itsensä ja muiden


ihmisten kanssa.

Tämä tapahtuu yhtämittaisessa kehityksessä, jossa kaikki


sielunkyvyt vaikuttavat yhdessä.
Ei mikään sielunkyky vie ihmistä pois todellisuudesta, jos kohta eri
kyvyt kohottavat häntä aatteellisemmalle alalle kuin se minkä
jokapäiväinen elämä tarjoo.

Sieluelämän keskuksena on välitön itsetaju, joka ilmenee


tuntemisena. Eri sielunkyvyt ovat vain tämän itsetajun palvelijoita
sen sisältöä selvitettäessä, järjestettäessä ja täydennettäessä.

Sentähden kaikkien sielunkykyjen kehitys riippuu yksilön


personallisesta kehityksestä. Ja tämä osottautuu paraiten ihmisarvon
tajuamisessa sekä himojen ja itsekkäiden pyyteitten voittamisessa.

Korkeimman sopusoinnun saavuttaa ihminen kohoamalla


mielikuvituksen ja uskonnon aloille. Silloin hänelle esiintyy luontokin
samoinkuin ihminen ikuisuuden heijastuksena.

Jos joku olisi kysynyt Runebergin mielipidettä tästä ohjelmasta,


niin hän varmaan olisi vastannut yhtyvänsä siihen pykälä pykälältä,
niin ihmeellisen hyvin se soveltuu hänen personallisiin
taipumuksiinsa. Gerlachin kirjan lukeminen on siis selvittänyt ja
vahvistanut hänen käsitystänsä, houkuttelematta häntä millään
muotoa alalle joka ei olisi sopinut yhteen hänen runollisten
taipumustensa ja tarkotustensa kanssa. Päinvastoin hänen
myöhemmin runoudesta lausumansa periaatteet monessa kohden
myös osottavat yhtäläisyyttä Gerlachin kanssa. Jopa eräs tärkeä
kohta Mustasukkaisuuden öissä vasta Gerlachin kannalta katsottuna
oikein selvenee.

Gerlach sanoo näetten että mielihyvän tai mielipahan tunteet


syntyvät siitä että elonjännitys on tavallista suurempi tahi pienempi.
Siitä johtuu että mitä enemmän ihminen kohoaa ihanteellisille aloille,
se on, mitä suurempi hänen elonjännityksensä on, sitä vähemmän
hän voi tuntea mielipahaa. Ja juuri tätä Runeberg nähtävästi
tarkottaa, kun hän sanoo että vaivat, huolet, tuskat, kauhut ovat
varjo-aaveita,

todellisia silmiss' ajatuksen, se kunis vanki pimeän on


mailla, vaan tyhjiä, vaill' olemusta, voimaa, päin valoa se
konsa kohouu.

Ja jos ihminen on kohonnut niin korkealle, että hän lepää


ikuisuuden helmassa, silloin ovat vaivat ja tuskat täysin olemattomia,
ne ovat vain unelmia.

Mutta kun tuo ikuisuuteen kohoaminen tapahtuu (runoelmassa,


samoinkuin Gerlachin mukaan) mielikuvituksen, puhdistuneen
rakkauden ja uskonnon siivillä, niin mainitun käsityskannan
saavuttaminen on runoilijalle ollut ylen tärkeä.

Ja seuraukset siitä tulevat pian näkyviin hänen runoudessaan.

Varsinkin rakkaus esiintyy nyt puhdistuneena, ihanteellisena.


Runossa Tytölle kuvataan sen varsinaiseksi kodiksi taivasta;
rakastavalla on korkeassa tähtikodissa ollut armas puoliso, ja tästä
on mainen tyttö heijastus. Sentähden yhdistää nyt molempia
"rakkaus suureen kaikkeuteen"; tyttö on rakastavalle maa ja taivas
yhtaikaa. Ja voitonriemua täynnä on myöskin se uusi laulu Friggalle,
joka nyt kirjotetaan; siinäkin on (toinen) Frigga korkeamman
rakkauden maallinen kuva.

Ja kun semmoinen voitto on saavutettu, tuntee Runeberg olevansa


runoilijaksi luotu. Hänellä on, sanotaan runossa Mua onnellista!
"sydämeen osuva kieli, jos villi verhoton mua kuulkohon" ja tämä
kieli on raikas rauha hänen seesteisellä otsallaan ja rakkaus hänen
vapaan silmänsä katseessa. Sentähden on koko maailma hänelle
avoinna, "kaunis tuhatmuoto ihanne" karkeloi hänen tiellään ja

aurinko kuolettuuden tyynnä kultaan mun intoni luo maalin


ihanan, eik' epäilykset kehnot murra multa poveni uhmaa
nuoren, uljahan.

Lienee nyt selvä minkä tähden Runeberg jäi vieraaksi Hegelille


yhtä hyvin kuin ruotsalaiselle runoudelle. Kaikilla mainituilla kolmella
suunnalla oli se vika että eristettiin yksi sielunkyky, tunne, tahto tahi
järki, ja kohotettiin se hallitsevaksi, sensijaan että Runeberg pyrki
kaikkien sopusointuun. Mutta täten nuo suunnat näyttivät hänen
silmissään yksipuolisilta, vieläpä itsekkäisyyttä ja itserakkautta
edistäviltäkin. Niiden tarkotuksena oli luoda maailma joka tyydytti
vain muutamia valituita sieluja, ja niiden edustajat luulivat että
ihmiselle oli mahdollista luoda "ainoa todellinen", sensijaan että
hänen Runebergin mielestä tulee sitä etsiä, puhdistamalla omaa
sieluaan.

Mutta sopii kysyä: mistä sai Runeberg voimaa puolustaa


omintakeisuuttaan noita ajan valtaavia virtauksia vastaan? Eihän
tietysti Gerlachin kirja yksistään olisi siinä kohden mitään
aikaansaanut.

Tietysti ei. Mutta minkä vuoksi oli aikoinaan Gerlach määrätty


tutkintokirjaksi? Epäilemättä sentähden että se vastasi sitä
käsitystapaa, joka Turun yliopistossa vielä silloin katsottiin oikeaksi.
Ja itse asiassa oli tässä yliopistossa ollut siveysopin opettaja joka
olisi voinut hänkin pykälä pykälältä yhtyä Gerlachin ohjelmaan. Tämä
opettaja oli Franzén. Jopa huomataan saman käsitystavan juuret
aina Porthanin opeissa.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

Вам также может понравиться