Sunday, February 18, 2018

Proses Membuat Cryptocurrency Sendiri

Cara Membuat Cryptocurrency Sendiri

Cara membuat cryptocurrency sendiri pada dasarnya tidak begitu sulit, mengingat bitcoin sendiri adalah open source. Sampai sejauh ini telah ada ribuan jenis kripto selain bitcoin, atau yang disebut dengan Altcoin. Sebagian besar diantaranya juga tidaklah dibuat dari awal, melainkan mengambil source code yang yang sama berasal dari bitcoin, lalu diturunkan menjadi jenis lainnya lagi.
Sedangkan sebagaian besar lainnya adalah berupa token, yang dibangun diatas blockchain tertentu. Meski memang telah ada ribuan jenis altcoin, nampaknya akan tetap ada bermunculan nama-nama kripto baru, dan terus bertambah. Orang di dunia nampak begitu menikmati betapa mudahnya membuat uang sendiri versi mereka, setelah ruang-ruang itu dimonopoli dan dimanipulasi oleh bank-bank sentral dunia. Mereka mentasbihkan dirinya sebagai dewa penguasa penciptaan mata uang.
Apa yang terjadi jika setiap orang di dunia membuat mata uangnya sendiri? Di mana posisi dan peran bank sentral nantinya? Kira-kira seperti itulah gambaran yang perlu menjadi prolog pada kesempatan kali ini. Daripada makin ngelantur :D, mari kita coba memulai bahasan tentang bagaimana cara membuat cryptocurrency sendiri.
Seperti yang telah dijelaskan di awal, bahwa dari ribuan jenis kripto yang ada, sebagian besar banyak mengambil dari source code yang sudah ada. Pada bahasan ini pula, kita akan memanfaatkan source code yang telah ada tersebut. Bagaimana pun, cara-cara seperti itu tetap menjadi titik awal yang baik untuk mencoba mengenali lebih mendalam tentang cryptocurrency, bitcoin secara khusus, karena telah menjadi pengawal dunia cryptocurrency.
Souce code yang kita ambil nantinya adalah Litecoin versi 0.8, pertimbangannya, karena masih simple, dan belum kompleks seperti yang saat ini. Bagi yang sudah pengalaman coding, mungkin referensi pemprograman blockchain dengan C# bisa berguna untuk lebih jauh bisa bereksplorasi.
Jangan diambil serius, karena ini hanya bersifat pembahasan saja, bukan bertujuan membuat kripto baru seperti pada umumnya. Siapkan cemilan, kopi, karena prosesnya akan membutuhkan waktu yang lumayan panjang. Yuk, mari kita mulai.

Bagian Satu – Install Semua Dependency yang Diperlukan

Dependencies ini adalah file-file yang diperlukan saat kita hendak menginstall sesuatu. Agar cara membuat cryptocurrency sendiri ini berjalan mulus, tentu membutuhkan sekian banyak dependency yang diperlukan. Langsung saja, buka terminal di ubuntu anda, lalu satu persatu paste perintah berikut ini:
sudo apt-get install git
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo apt-get install libboost-all-dev
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler
Jika anda bertanya mengapa kita memerlukan repository bitcoin? Betul, karena Litecoin memang berasal dari sumber yang sama, Bitcoin. Lebih jauh kita akan mengetahui sendiri bagaimana Litecoin ini tidak akan jauh berbeda dengan Bitcoin, selain beberapa konsensus mendasar saja yang membedakan, seperti total supply dan beberapa hal lain.
Teruskan lagi prosesnya dengan memulai clone source code Litecoin versi 0.8 di github. Untuk memudahkan, sebaiknya anda menyimpan file clone Litecoin tersebut di folder Desktop pada ubuntu yang anda gunakan. Paste perintah di bawah ini:
cd Desktop
git clone -b 0.8 https://github.com/litecoin-project/litecoin.git
Pertama kali setelah clone, ada baiknya anda merubah nama folder hasil clone tersebut, sehingga mudah untuk di ingat. Di sini, EB merubah nama foldernya dengan “ebina”. Jadi untuk selanjutnya, anda hanya tinggal menyesuaikan saja dengan folder anda sendiri.
Kalau sudah, lanjutkan dengan merubah semua nama Litecoin, menjadi apapun sesuka anda. Paste saja perintah dibawah ini:
cd ebina
find . -type f -print0 | xargs -0 sed -i 's/litecoin/ebina/g'
find . -type f -print0 | xargs -0 sed -i 's/Litecoin/Ebina/g'
find . -type f -print0 | xargs -0 sed -i 's/LiteCoin/EbinaCoin/g'
find . -type f -print0 | xargs -0 sed -i 's/LITECOIN/EBINA/g'
find . -type f -print0 | xargs -0 sed -i 's/LTC/INA/g'
Jadi dengan perintah diatas tadi, kita telah merubah semua kata di dalam file-file hasil clone tersebut, dengan versi kita sendiri.
Khusus untuk source code Litecoin di versi ini, ada sedikit masalah di file rpcrawtransaction.cpp. Jadi kita perlu untuk merubahnya terlebih dulu. Buka folder hasil clone anda, lalu buka folder /src. Tepat di baris nomor 242, paste saja seperti ini:
const CScriptID& hash = boost::get(address);
Setelah itu, sekarang kita coba untuk mengcompile hasil clone. Proses compile pertama ini cukup menentukan kita bisa melanjutkan lebih jauh atau tidak. Jadi pastikan semua langkah diatas telah dilakukan secara benar.
Kalau berhasil, lebih jauh kita juga akan mengulang proses compile beberapa kali. Jangan khawatir, anda juga dapat mengcompile berapa kali yang anda mau, selama itu tidak merugikan tetangga anda… hehehe. Namun sebelumnya, pastikan anda berada di folder /src, lalu gunakan perintah ini untuk mulai mengcompile:
make -f makefile.unix
Bagaimana? Berhasil? Kalau berhasil berarti anda siap melangkah di tahap cara membuat cryptocurrency sendiri selanjutnya. Untuk mengetahui berhasil atau tidaknya, di dalam folder /src itu akan terdapat file “ebinad” (jika di dalam folder /src anda “xxxd”). Fungsi file itu adalah sebagai daemon, kalau di bitcoin disebut dengan bitcoind (daemon bitcoin).

Bagian Dua – Mengatur Parameter Network

Kalau kita memperhatikan di bitcoin, ada dua port yang digunakan, yakni pada port 8332 dan 8333. Pada dasarnya, jenis komunikasi di dalam bitcoin dapat dilakukan dengan mudah melalui TCP saja, namun masih banyak ruang yang bisa dikembangkan untuk diluar itu.
Jika pada port 8333 lebih dominan dan ekslusif dipergunakan sebagai jalur komunikasi antar node di dalam jaringannya, sedangkan port 8332 lebih bersifat inklusif karena klien itu haruslah mengaktifkan terlebih dahulu secara default untuk bisa menggunakannya.
Meski pada dasarnya perbedaan fungsional kedua port itu sama-sama bertindak sebagai peer-to-peer port karena memang tipikal jaringannya adalah peer-to-peer, namun banyak orang memang lebih banyak membedakan dari sisi fungsionalitasnya.Oleh karena itu, port 8333 bitcoin lebih bersifat sebagai peer-to-peer port untuk node, dan port 8332 lebih bersifat TCP port.
Sama juga dengan di Altcoin Litecoin, karena memang berasal dari akar yang sama, tidak banyak perbedaan. Port yang digunakan juga ada dua, yakni port 9333 dan 9332. Dalam hal ini, anda juga harus mengganti kedua port tersebut dengan port anda sendiri.
Pertanyaannya, bagaimana kedua port tersebut bisa berfungsi secara maksimal tanpa bisa terganggu dan tercampur dengan jaringan yang lain?
Nah, dari bitcoin, yang kemudian digunakan juga oleh Litecoin, sama-sama menggunakan langkah ajaib untuk melindungi dan memastikan kedua port mereka tersebut dapat berlaku hanya untuk jaringan bitcoin dan litecoin saja. Bagaimana langkah ajaib tersebut bisa dilakukan? Anda akan mengetahuinya sendiri nantinya.
Kita tunda dulu penjelasan langkah ajaib proteksi network tadi, untuk selanjutnya langsung dengan mengubah port dengan port anda sendiri. Seperti yang dijelaskan tadi, bahwa port Litecoin adalah 9333 dan 9332, jadi kita akan mengganti kedua port itu dengan port anda sendiri. Pastikan anda berada di folder /ebina/ (sesuaikan dengan folder anda), lalu paste sesuai port anda seperti berikut:

find . -type f -print0 | xargs -0 sed -i 's/9333/2333/g'
find . -type f -print0 | xargs -0 sed -i 's/9332/2332/g'
Menentukan Karakter Address
Berikutnya adalah mengganti karakter Address kripto yang bisa anda sesuaikan sendiri. Kalau di Bitcoin kita sudah banyak mengetahui karakter addressnya dimulai dengan angka “1”, sedangkan di Litecoin dengan karakter huruf “L” di depan. Karakter huruf “L” yang digunakan oleh Litecoin ini, diperoleh dari versi desimal angka “48”. Jadi nantinya, anda dapat leluasa menentukan karakter address anda sendiri.
Address kripto, adalah turunan dari hash public key yang selanjutnya dirubah ke dalam format base58. Untuk merubahnya, buka file base58.h yang ada di dalam folder /ebina/src melalui exploler ubuntu anda, lalu edit dengan text editor yang biasa anda gunakan.
Arahkan ke baris nomor 275 pada file tadi, dan ganti sesuai yang anda inginkan. Kurang lebihnya akan nampak seperti ini:
class CBitcoinAddress : public CBase58Data
{
public:
enum
{
PUBKEY_ADDRESS = 33, // Ebina addresses start with E
SCRIPT_ADDRESS = 5,
PUBKEY_ADDRESS_TEST = 92,
SCRIPT_ADDRESS_TEST = 196,
};
Anda dapat melihat lebih jauh di list prefix address untuk lebih memudahkan anda dalam menentukan angka desimal mana agar dapat merepresentasikan karakter huruf yang anda inginkan. Diatas, EB menggunakan angka desimal “33” untuk bisa menghasilkan karakter huruf kapital “E” sebagai awal addressnya nanti. Dan juga angka “92” untuk huruf kecil “e”dalam address testnet. Kalau sudah selesai, tutup file itu, dan siap melangkah di tahapan cara membuat cryptocurrency sendiri selanjutnya.
Mengatur Sistem Alert
Sistem Alert ini adalah berkaitan dengan broadcast informasi keseluruhan transaksi secara masal di dalam jaringan kripto. Ibaratnya, alert sistem di dalam broadcast transaksi ini bagaikan iklan masal yang dikirimkan serentak dan di replay berulang kali kepada seluruh node di dalam jaringan.
Disini nantinya kita akan membutuhkan tiga key alert yang akan digunakan. Langsung saja, buka terminal baru, lalu paste perintah berikut:
openssl ecparam -genkey -name secp256k1 -out alertkey.pem
openssl ec -in alertkey.pem -text > alertkey.hex
openssl ecparam -genkey -name secp256k1 -out testnetalert.pem
openssl ec -in testnetalert.pem -text > testnetalert.hex
openssl ecparam -genkey -name secp256k1 -out genesiscoinbase.pem
openssl ec -in testnetalert.pem -text > genesiscoinbase.hex
Penjelasan:
alertkey.hex untuk bisa mendapat key alert di mainnet
testnetalert.hex untuk bisa mendapat key alert di testnet
genesiscoinbase.hex untuk bisa mendapat key alert di block genesis maupun transaksi coinbase sebagai reward block baru
Caranya, pertama kita ketikkan perintah ini di terminal yang baru tadi:
cat alertkey.hex
Selanjutnya copy saja di bagian public key, paste di text editor anda, lalu hilangkan tanda “:”, dan jadikan dalam satu baris saja. Sebagai contoh, dari public key yang semula seperti ini:
04:9b:94:c8:19:40:a0:58:6a:5e:d7:0a:1a:56:63:
cf:02:e8:58:b0:22:8f:57:0f:99:a9:ef:a5:9f:61:
92:c9:98:eb:ab:a7:f7:2c:58:d2:d3:57:c6:6b:01:
d5:d0:0b:97:35:5e:c5:a4:55:07:5f:8b:31:f8:4e:
82:22:22:48:77

Lalu hapus tanda “:” hingga seperti ini:
049b94c81940a0586a5ed70a1a5663
cf02e858b0228f570f99a9efa59f61
92c998ebaba7f72c58d2d357c66b01
d5d00b97355ec5a455075f8b31f84e
4322224877
Dan dilanjut dengan menjadikan satu baris untuk selanjutnya bisa di copy paste.
049b94c81940a0586a5ed70a1a5663cf02e858b0228f570f99a9efa59f6192c998ebaba7f72c58d2d357c66b01d5d00b97355ec5a455075f8b31f84e4322224877
Copy key yang sudah dalam satu baris itu, lalu buka file alert.cpp yang ada di folder ebina/src. Arahkan ke baris 22 (pszMainKey), lalu paste di sana.
Kedua, ulangi untuk mengambil key alert yang akan digunakan di testnet. Ketikkan seperti di bawah ini:
cat testnetalert.hex
Copy dan paste di notepad dulu, edit dengan menghilangkan tanda “:”, jadikan satu baris seperti tadi. Masih di file alert.cpp, paste di bawah baris pszMainKey. Ingat, jangan sampai keliru. Kalau sudah simpan file alert.cpp, lalu tutup.
Key terakhir digunakan secara khusus untuk genesis block, paste perintah dibawah ini masih di terminal baru yang tadi:
cat genesiscoinbase.hex
Ulangi langkah edit dan jadikan satu baris tadi, lalu buka file main.cpp. Anda harus lebih akrab dengan file ini, karena akan lebih banyak berinteraksi dengan file tersebut. Arahkan menuju ke baris nomor 2788, paste di nilai ParseHex(“xx”), lalu save file.
Langkah Proteksi Network
Pada bagian ini, telah kita singgung di awal, sebagai sebuah langkah ajaib untuk membuat proteksi network agar hanya dapat berfungsi sebagai network kripto kita saja, tidak bisa tercampuri dengan network lain. Dikatakan sebagai langkah ajaib, karena ternyata hanya membubuhkan beberapa parameter saja, untuk membuatnya menjadi lebih spesifik, baik untuk network mainnet maupun testnet.
Langsung saja, caranya masih di file main.cpp, search saja “bool LoadBlockIndex()”, dibawahnya ada 4 parameter yang perlu di rubah untuk di testnet. Merubahnya seperti ini:
pchMessageStart[0] = 0xf3; —-> 0xf5
pchMessageStart[1] = 0xc2; —-> 0xc6
pchMessageStart[2] = 0xb7; —-> 0xb2
pchMessageStart[3] = 0xd9; —-> 0xd1
Sekarang untuk yang di mainnet, caranya sama, masih di main.cpp, search saja “unsigned char pchMessageStart[4]”.Lanjutkan dengan mengganti 4 parameter di sebelahnya seperti tadi. Sehingga akan nampak seperti ini:
pchMessageStart[4] = { 0xfh, 0x5, 0xb7, 0xd3 }; <--- ganti sendiri.
Kalau sudah, simpan kembali file tersebut.

Bagian Tiga – Menghapus Informasi Data Network Sebelumnya

Bagian ketiga cara membuat cryptocurrency sendiri ini adalah untuk menghapus data network yang telah ada tersimpan sebelumnya. Mengapa? karena kita clone source code, tidak build dari awal, jadi tentu saja telah menyimpan berbagai data yang berkaitan dengan peer node, ip address, dns, seed node aktif, ataupun yang lainnya.
Mengapa kita perlu menghapus, karena tentu saja kita belum mempunyai informasi tersebut karena belum ada klien satupun yang terhubung di network kita. Untuk melakukannya, pertama kita buka file net.cpp, arahkan ke baris 1226 atau search “unsigned int pnSeed[] =“.
Hapus semua data di dalamnya sehingga menjadi seperti di bawah ini:
unsigned int pnSeed[] =
{
0x0
};
Lanjutkan dengan search lagi “static const char *strMainNetDNSSeed[][2] = {“, hapus data dns seed mainnet yang ada dibawahnya. Sehingga jadi seperti ini:
static const char *strMainNetDNSSeed[][2] = {
{NULL, NULL}
};
Lalu hapus juga yang ada di dibawahnya, untuk DNS seed Testnet, hingga menjadi seperti ini:
static const char *strTestNetDNSSeed[][2] = {
{NULL, NULL}
};
Kalau sudah selesai, save file net.cpp, lalu tutup.

Bagian Empat – Menentukan Konsensus Dasar Block

Pada bagian ini, membahas bagaimana menentukan konsensus dasar block di blockchain. Beberapa hal yang menyangkut hal ini seperti besaran nilai reward block untuk penambang, total supply, rata-rata waktu block baru, coinbase maturity, dan juga konsensus tempo waktu halving.
Garis besarnya di proses ini nanti, kita akan mengetahui bagaimana transparansi dunia kripto yang dapat dilihat sendiri secara gamblang melalui source code yang dibuka secara publik. Beberapa hal di atas, secara tidak langsung akan membentuk ekonomi moneternya sendiri.
Misalnya saja pada penentuan reward block, total supply, dan rata-rata waktu block baru tercipta, dan juga halving, merupakan sebuah mekanisme distribusi unit-unit baru kripto. Dengan pola distribusi yang teratur dan terukur, selanjutnya akan mempengaruhi supply mata uang kripto di pasar.
Ditambah dengan karakternya yang terbatas, mata uang berbasis kripto menjadi berlawanan dengan sifat mata uang kertas yang tak terbatas, bisa dicetak berapapun jumlahnya. Akibatnya, fiat lebih rentan pada penurunan nilai mata uangnya sendiri, yang pasti akan berakhir dengan hyperinflasi.
  • Total Supply
Total supply adalah jumlah keseluruhan unit kripto yang dapat diciptakan untuk sepanjang masa, tanpa ada penambahan penciptaan unit-unit baru lagi. Bitcoin, total supply unitnya terbatas hanya sebesar 21 juta unit saja. Meski demikian, unit-unit kriptonya terdiri dari 8 digit. Sehingga total nilainya juga cukup besar, dan dianggap cukup.
Anda bisa menentukan berapa total supply mata uang kripto anda sendiri. Selain itu, anda juga akan mengetahui bahwa mata uang kripto cukup berbeda dengan mata uang fiat. Mata uang kripto sejak awal peciptaan sistemnya, sudah mengetahui jumlah total penciptaan mata uangnya, tidak seperti mata uang fiat.
Caranya, buka file main.h yang ada di dalam folder /src anda, arahkan di baris nomor 55. Di situ, anda bisa membuktikan transparansi total supply sebuah mata uang kripto. Jadi, untuk membuktikan secara langsung spesifikasi mata uang kripto termasuk total supplynya, maka anda harus melihat langsung di bagian file ini. Anda bisa merubah total supply yang besarnya 84.000.000 tersebut sesuka anda.
Yang perlu anda perhatikan adalah, bahwa jumlah total supply tersebut bukanlah angka acak, namun total angka yang telah dikalkulasi dengan matang, karena akan mempengaruhi banyak hal. Termasuk penentuan nilai block reward, rata-rata block baru, mekanisme halving. Anda juga harus memastikan bahwa total supply tersebut akan bisa dikalkulasi secara pasti, kapan keseluruhan total supply tersebut akan habis seluruhnya dalam jangka waktu tertentu, berdasarkan banyak hal tadi.
  • Coinbase Maturity
Lanjutkan ke bawahnya di baris 58, adalah coinbase maturity. Coinbase maturity ini adalah tenggang waktu reward block yang baru bisa digunakan untuk dibelanjakan setelah melampaui beberapa block selanjutnya yang telah ditentukan disana. Jika anda telah menentukan nilai coinbase maturity sebesar 50 misalnya, maka para penambang yang mendapat reward block baru, hanya akan bisa menggunakan koin tersebut, jika block baru yang tercipta selanjutnya telah mencapai 50 block.
Jadi fungsi coinbase maturity ini adalah, juga menjadi salah satu fungsi dalam mengatur distribusi unit-unit kripto baru. Sehingga bisa mempengaruhi hukum supply and demand pula. Anda bisa menentukan sendiri nilainya. Namun anda juga perlu juga untuk memperhatikan berapa menit rata-rata waktu yang dibutuhkan dalam proses penciptaan block-block baru.
  • Transaksi Low-priority
Melangkah selanjutnya di baris nomor 627, adalah tentang bebas fee transaksi untuk transaksi-transaksi yang berukuran kecil dengan ukuran byte yang kecil. Khusus tentang bagian ini sebenarnya juga tidak lagi digunakan, baik di bitcoin maupun dibeberapa altcoin lainnya, karena umumnya telah ada biaya transaksi yang diambil dari besaran per byte.
Bagian tentang free tx disini memang sengaja dibahas sebagai bahan informasi tambahan saja untuk anda. Jadi anda bisa menggunakannya atau tidak. Kalau sudah semua di file main.h ini, anda bisa save file dan menutupnya.
  • Konsensus Block Reward
Block Reward adalah sejumlah unit koin kripto baru yang diberikan kepada penambang yang berhasil memproduksi block baru pada tempo waktu tertentu. Nah, sudah disinggung sebelumnya bahwa penentuan jumlah total supply akan berelasi dengan penentuan nilai block reward ini.
Jadi mekanisme penentuan block reward, haruslah bisa dipastikan keseluruhan unitnya itu benar-benar bisa habis melalui distribusi unitnya. Maka kalkulasinya juga harus presisi berdasarkan dengan rata-rata tempo waktu block baru yang anda tentukan nantinya. Kalau kalkulasinya benar-benar presisi, prediksi kapan total supply akan habis diproduksi pun dapat diketahui sejak awal. Bitcoin misalnya, sudah bisa diprediksi dengan kalkulasi yang logis, bahwa unit bitcoin baru akan habis ditambang seluruhnya pada tanggal 7 Mei tahun 2140.
Anda bisa merubah nilai block reward ini dengan membuka kembali file main.cpp, lalu arahkan ke baris 1090, atau dengan search “int64 nSubsidy”. Silahkan tentukan sendiri nilai block reward anda.
  • Konsensus Halving
Halving ini maksudnya pemotongan separuh nilai block reward yang diberlakukan secara otomatis setelah mencapai ukuran tertentu. Dalam hal ini, seperti bitcoin maupun di source code litecoin yang anda lihat saat ini juga memberlakukan mekanisme halving dengan ukuran pencapaian jumlah block. Disana anda melihat capaian jumlah block untuk halving adalah 840.000 block.
Jadi penerapan halving baru, berjalan secara otomatis, jika telah memperoleh jumlah block tersebut. Kisaran waktunya masih sama dengan bitcoin, dalam jangka waktu 4 tahun. Sekali lagi, anda bebas untuk memodifikasi nilai total block untuk halving ini. Letak code untuk mekanisme ini tepat berada di bawah block reward, di baris 1093 file main.cpp.
  • Rata-rata Waktu Block Baru
Masih di file yang sama, pada baris bawahnya nomor 1098 dan 1099, adalah tentang penentuan rata-rata block baru yang bisa diciptakan. Penentuan rata-rata block baru ini, sekaligus berkaitan dengan mekanisme retarget tingkat kesulitan pertambangan. Sehingga, rata-rata waktu block baru yang dapat tercipta itu dapat dicapai lebih konstan. Anda bisa merubah ini:
static const int64 nTargetTimespan = 3.5 * 24 * 60 * 60;
static const int64 nTargetSpacing = 2.5 * 60;
nTargetTimespan ini adalah jangka waktu retarget difficulty ekosistem pertambangan.
nTargetSpacing ini adalah rata-rata waktu block baru yang bisa diciptakan, biasanya dalam ukuran menit.
Kalau sudah selesai, save kembali file main.cpp anda.

Bagian Lima – Menentukan Parameter Blockchain

  • Genesis Block
Genesis block ini adalah block baru pertama kali, yang nilainya bisa anda tentukan sendiri. Namun, sebaiknya anda gunakan nilai yang sama seperti nilai block reward, agar anda tidak mengkalkulasi ulang. Jika anda telah merubah nilai block reward sebelumnya adalah 20 koin misalnya, maka nilai Reward di Genesis Block sebaiknya juga tetap 20.
Jadi jika anda telah merubah nilai di block reward, maka anda juga harus merubah nilai genesis block. Lokasinya masih sama di file main.cpp, baris 2787. Lihat seperti dibawah ini:
txNew.vout[0].nValue = 50 * COIN;
  • Arbitrary Text Pada Genesis Block
Arbitrary Text pada Genesis Block ini maksudnya adalah bahwa anda bisa melampirkan sembarang teks di dalam Genesis Block anda. Seperti pada bitcoin yang melampirkan judul headline harian New York Times tentang rencana bailout kedua bank sentral AS.
Untuk merubahnya, ada di atas nilai genesis block tadi. Anda bisa merubahnya di bagian ini:
const char* pszTimestamp = "bla...bla...bla...bla...bla...bla";
Meski anda bisa memasukkan sembarang text, namun tetap ada batasan yang telah ditentukan. Kalau ingin mengetahui berapa ukuran karakter arbitrary teks yang bisa anda masukkan, lihat saja di baris 589. Kurang lebih seperti ini:
if (IsCoinBase())
{
if (vin[0].scriptSig.size() < 2 || vin[0].scriptSig.size() > 100)
return state.DoS(100, error("CTransaction::CheckTransaction() : coinbase script size"));
Jadi diatas, telah ditentukan jumlah limit karakternya, jadi jika anda memasukkan karakter melebihi jumlah 100 itu, maka proses build core pun tidak bisa berjalan karena eror. Namun anda tentu bisa merubah limit karekter itu sebelumnya, jika anda ingin memasukkan karakter pesan lebih banyak.
  • Timestamp Genesis Block
Pembahasan cara membuat cryptocurrency sendiri makin menarik di bagian ini. Menarik, karena kita akan memahami bagaimana genesis block haruslah sesuai dengan waktu saat itu, nounce block, dan juga hash block genesis tersebut. Karena source code kita bukan build dari awal, melainkan hasil clone dari bitcoin yang di clone ulang oleh Litecoin, lalu kita clone ulang lagi, maka menjadi terkesan seolah menyiasati genesis block yang sebelumnya telah terekam di source code itu.
Untuk menyiasati agar bisa mendapat timestamp berdasarkan nounce saat itu dan hash block yang tepat dan valid, maka otomatis juga harus menyiasati ketiganya. Cara pertama adalah memperoleh timestamp yang digunakan sebagai kail untuk mendapatkan nounce dan nilai hash yang tepat, agar bisa digunakan sebagai detail informasi genesis block.
Di sini, kita bisa memperoleh timestamp kita sendiri. Karena ada dua network yakni mainnet dan testnet, maka kita tentu membutuhkan dua timestamp yang berbeda. Misalnya pertama kita buat timestamp untuk testnet dulu, caranya buka terminal baru, lalu ketikkan ini:
date +%s
Catat hasil replay perintah tadi, lalu tandai untuk testnet, karena penting agar anda tidak sampai keliru saat memasukkannya.
Ulangi lagi perintah tadi diterminal untuk timestamp mainnet. Copy dan paste di terminal, tandai untuk mainnet.
Masukkan timestamp untuk testnet di file main.cpp pada baris 2800. Contohnya seperti dibawah ini:
if (fTestNet)
{
block.nTime = 1518545988;
Selanjutnya untuk timestamp mainnet masukkan di baris 2794 (diatas testnet).
Berikutnya adalah menghapus nilai hash markle root di baris 2809 sehingga menjadi seperti ini:
assert(block.hashMerkleRoot == uint256("0x"));
Save file main.cpp anda.
  • Mencari Hash Merkle Root Genesis Block yang Valid
Kalau sudah, maka selanjutnya adalah mencoba mengcompile kembali untuk menghasilkan hash merkle root genesis block yang valid. Caranya masih ingat bukan? Paste seperti saja perintahnya dibawah ini:
make -f makefile.unix
Prosesnya mungkin membutuhkan waktu hingga 10-20 menit. Kalau proses compile selesai dan berhasil, lanjutkan dengan menjalankan daemon core kripto anda. Proses nantinya tidak akan berhasil, karena memang tujuannya untuk bisa mendapat hash merkle root valid untuk genesis block kita. Pastikan anda berada di folder /ebina/src (sesuaikan dengan folder anda), lalu ketikkan perintah berikut:
./ebinad (sesuaikan nama+d)
Kalau sudah mendapat report eror “Aborted (core dumped) maka di file debug.log akan otomatis menghasilkan hash merkle root yang valid. Jadi anda tinggal melihatnya di file debug.log yang berada di folder .ebina
Anda bisa menekan tombol CTRL+h untuk menampilkan file-file sistem atau tersembunyi. Buka file dan lihat di baris paling bawah.
debug.log mainnet
Lokasi file debug.log mainnet.
Bagian baris paling bawah, itulah hash merkle root anda yang valid. Anda bisa gunakan hash itu untuk hash merkle root block genesis anda. Lihat gambar di bawah ini:
hash-merkle-root
Copy baris hash itu, lalu paste di baris 2809 file main.cpp anda. Lalu save file.
  • Menyiapkan Block Genesis Testnet dan Mainnet
Copy dan paste code dibawah ini, tepat di baris 2803 file main.cpp anda (di bawah timestamp testnet).
if (true && block.GetHash() != hashGenesisBlock)
        {
            printf(“Searching for genesis block…\n”);
            // This will figure out a valid hash and Nonce if you’re
            // creating a different genesis block:
            uint256 hashTarget = CBigNum().SetCompact(block.nBits).getuint256();
            uint256 thash;
            char scratchpad[SCRYPT_SCRATCHPAD_SIZE];
            loop
            {
#if defined(USE_SSE2)
                // Detection would work, but in cases where we KNOW it always has SSE2,
                // it is faster to use directly than to use a function pointer or conditional.
#if defined(_M_X64) || defined(__x86_64__) || defined(_M_AMD64) || (defined(MAC_OSX) && defined(__i386__))
                // Always SSE2: x86_64 or Intel MacOS X
                scrypt_1024_1_1_256_sp_sse2(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
#else
                // Detect SSE2: 32bit x86 Linux or Windows
                scrypt_1024_1_1_256_sp(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
#endif
#else
                // Generic scrypt
                scrypt_1024_1_1_256_sp_generic(BEGIN(block.nVersion), BEGIN(thash), scratchpad);
#endif
                if (thash <= hashTarget)
                    break;
                if ((block.nNonce & 0xFFF) == 0)
                {
                    printf(“nonce %08X: hash = %s (target = %s)\n”, block.nNonce, thash.ToString().c_str(), hashTarget.ToString().c_str());
                }
                ++block.nNonce;
                if (block.nNonce == 0)
                {
                    printf(“NONCE WRAPPED, incrementing time\n”);
                    ++block.nTime;
                }
            }
            printf(“block.nTime = %u \n”, block.nTime);
            printf(“block.nNonce = %u \n”, block.nNonce);
            printf(“block.GetHash = %s\n”, block.GetHash().ToString().c_str());
}
Fungsi code diatas adalah untuk bisa menghasilkan atau generate timestamp, nounce dan hash genesis block yang valid, saat nanti kita jalankan daemon core kripto kita. Karena ada dua genesis baik di testnet maupun mainnet, maka kita hapus terlebih dahulu nilai hash genesis block yang telah ada (di testnet dan mainnet).
Hash genesis block pertama yang kita hapus pertama untuk yang di testnet letaknya di baris 2749 file main.cpp. Hapus nilai hashnya menjadi seperti ini:
hashGenesisBlock = uint256("0x");
Lalu selanjutnya hapus juga nilai hash block genesis mainnet pada baris nomor 38 (bagian atas). Kalau sudah, save file kembali, lalu ulangi untuk compile kembali.
Genesis Block Testnet
Kalau compile berhasil, coba running daemon core anda di testnet terlebih dahulu. Pastikan anda berada di dalam folder ebina/src, lalu ketikkan perintah seperti ini:
./ebinad -testnet
Nanti anda akan mendapat notifikasi pesan eror, kemudian buka file debug.log yang ada di folder testnet3.
debuglogtestnet3
Cari di dalam debug.log testnet tersebut, yang seperti ini:
block.nTime = 1518545988
block.nNonce = 386296394
block.GetHash = 7ae6f691f4809e42faf40be7beb937e1d3aa5735c51d1d586c49f385be95c6c6
Keterangan:
386296394  —> nilai nonce valid block genesis testnet anda
7ae6f69xxxx –> nilai hash valid block genesis testnet anda
Selanjutnya anda tinggal memasukkan nonce dan hash block genesis testnet tersebut pada lokasi yang sebelumnya telah kita hapus dengan tepat. Jangan sampai keliru, kalau keliru proses build nantinya tidak akan berhasil, karena tidak ada block genesis yang valid.
Lokasi detail informasi block genesis testnet ada di di baris 2749 pada file main.cpp anda. Sedangkan lokasi nonce dan timestamp genesis block anda ada di baris 2801. Save file, lalu compile kembali.
Genesis Block Mainnet
Ulangi langkah sebelumnya di mainnet, dengan perintah ./ebinad (sesuaikan dengan nama file daemon core anda, tanpa “-testnet”). Tunggu sampai keluar pesan eror, lalu buka file debug.log mainnet anda. Cari baris serupa yang menampilkan informasi tentang nonce dan hash block, lalu paste di block genesis mainnet anda.
Lokasi hash block genesis mainnet ada di baris nomor 38 file main.cpp
Lokasi nonce block genesis mainnet terletak di baris 2796
Terakhir yang perlu dirubah di file main.cpp adalah mengganti nilai “true” menjadi “false”pada code tambahan yang kita masukkan sebelumnya di file main.cpp. Search saja “if (true && block.GetHash() != hashGenesisBlock)”, ganti nilai true menjadi false di baris tersebut.
  • Merubah Informasi Data Checkpoints.cpp
Langkah selanjutnya, adalah merubah informasi data di file checkpoints.cpp. Buka file tersebut di folder /src, lalu arahkan di baris 38, lalu ganti seperti di bawah ini:
(  0, uint256("0xHASH BLOCK GENESIS MAINNET ANDA"))
Lanjutkan dibawahnya menjadi seperti ini:
staticconst CCheckpointData data = {
&mapCheckpoints,
1518546021, // <-- GANTI DGN TIMESTAMP MAINNET ANDA
0, // * ISI NOL
//
1.0// * GANTI SEPERTI ITU
};
Terakhir ganti juga informasi checkpoint sesuai dengan informasi timestamp, nonce, dan hash genesis block untuk testnet anda. Sesuaikan dengan informasi genesis block testnet anda yang sudah anda gantikan di file main.cpp. Kurang lebihnya akan nampak seperti ini setelah semuanya diganti.
  • Compile
Simpan semua file kembali. Jika anda ingin merubah banyak hal seperti desain image untuk wallet, icon, dan gambar-gambar lainnya, anda bisa mengedit sendiri di folder /src/qt/res. Kalau sudah, sekarang tinggal jalankan compile terakhir. Pastikan dulu anda berada di folder /ebina (sesuaikan dengan folder anda).
Kali ini, coba jalankan perintah compile seperti ini:
qmake
make
Berhasil bukan? lanjutkan dengan menjalankan core anda pertama kali di testnet. Ketikkan perintah berikut:
./ebina-qt -testnet
Untuk jalankan di mainnet, ketikkan perintah berikut:
./ebina-qt
Tunggu sebentar, dan… yeeee…. kita berhasil!!!

walletqt
Address dimulai dengan huruf E.
Pada lain kesempatan, kita akan membahas lanjutan untuk proses mining pertama, dan mengkoneksikan dengan klien lain. Semoga pembahasan cara membuat cryptocurrency sendiri ini dapat membuat anda lebih mengerti cara kerja bitcoin dan cryptocurrency secara umum. 

Saturday, February 10, 2018

Nilai Bitcoin Diprediksi Tembus Rp 4,4 Miliar

Jakarta - Baru-baru ini, Cameron Winklevoss mengeluarkan pernyataan yang cukup menarik terhadap pergerakan nilai Bitcoin di masa depan. Menurutnya, cryptocurrency ini akan mengalami pertumbuhan hingga 40 kali lipat dari nilainya sekarang.

"Kelangkaan membuat emas menjadi berharga. Dengan stoknya yang terbatas, ditambah angka yang sudah pasti (20 juta), menjadikan Bitcoin lebih baik dari emas dari sisi tersebut," ujarnya.

"Dengan kapitalisasi market yang sudah melewati USD 100 miliar, kami memperkirakan terdapat potensi untuk tumbuh sekitar 30 hingga 40 kali lipat, mengingat emas memiliki pasar hingga USD 7 triliun," ia menambah.

Cameron juga mengatakan bahwa banyak orang yang sudah melirik ke Bitcoin, sehingga mereka akan menyadari nilainya tersebut. "Melihat nilainya sekarang, aset ini masih dihargai sangat rendah," katanya.

Meskipun ia tidak memberikan lini masa secara detail mengenai pertumbuhan nilainya hingga mencapai 40 kali lipat, Cameron memperkirakan bahwa hal tersebut dapat terjadi dalam kurun waktu 10 hingga 20 tahun ke depan.

Kini, berdasarkan data dari CoinDesk, 1 BTC sendiri berada di kisaran USD 8.200 (Rp 111 juta), dengan kapitalisasi pasar mencapai USD 139 miliar.

Berarti, jika memang benar cryptocurrency tersebut dapat tumbuh hingga 40 kali lipat, maka harga Bitcoin akan setara dengan USD 328.000 (Rp 4,4 miliar), dengan kapitalisasi pasar mencapai USD 5,5 triliun (Rp 74.978 triliun).

Angka prediksi dari kapitalisasi pasar tersebut pun memiliki potensi untuk terus bertambah, mengingat masih terdapat lebih dari 3 juta Bitcoin yang masih tersedia.

Tyler Winklevoss pun mendukung ucapan dari saudara kembarnya tersebut, dengan menghadirkan perspektif yang berbeda. "Kritik yang mengarah kepada Bitcoin hanya dilakukan oleh orang-orang yang gagal berimajinasi," ujarnya, seperti detikINET kutip dari CNBC, Sabtu (10/2/2018).

"Mungkin cryptocurrency tidak benar-benar penting dalam transaksi antar manusia, namun cerita menjadi berbeda ketika membicarakan tentang pertukaran nilai ekonomi antar mesin," ia menambahkan.

Cameron Winklevoss dan Tyler Winklevoss sendiri dikenal sebagai salah satu juragan Bitcoin terkaya di dunia sampai saat ini. Berdasarkan data dari Forbes per 6 Februari 2018, kekayaan mereka berdua lewat aset cryptocurrency yang dimilikinya berada di kisaran USD 900 juta hingga USD 1,1 miliar.

Friday, February 9, 2018

Perkiraan harga bitcoin 2018 bisa tiga kali lipat – Tom Lee




Tom Lee adalah ahli strategi ekuitas sebelumnya dari JPMorgan Chase, dan merupakan salah satu pendiri Fundstrat Global Advisors, sebuah firma strategi pasar. Lee juga seorang advokat Bitcoin yang memperkirakan bahwa harga mata uang itu bisa “mudah dua kali lipat”, dan bahkan tiga kali lipat, tahun ini.
Lee sebelumnya telah menandai pertengahan 2018 karena saat Bitcoin akan mulai melakukan perdagangan pada $ 11.500, harga telah tercapai tahun lalu. Bahkan, bahkan mencapai volume perdagangan hampir $ 20k di beberapa bursa.
Dia telah menyebut ketidakpastian harga Bitcoin sebagai “proses penemuan harga.” Selain itu, dia mengatakan bahwa investor mungkin belum
“Hargai berapa banyak kasus pengembangan dan penggunaan sedang dibangun di sekitar Bitcoin.”
Lee kemudian menjelaskan kenaikan harga bitcoin 2018 yang dapat dicapai:
“Secara jangka panjang, [cara termudah untuk melihat Bitcoin adalah] sebagai pengganti atau sekumpulan nilai. Jadi, saat milenium menemukan dan menghasilkan pendapatan, mereka akan menggunakannya sebagai pengganti emas. Jika [Bitcoin] mendapat 5% dari pasar emas, itu kira-kira $ 50.000. “
Lee sebelumnya mengatakan bahwa milenium tampaknya menawarkan penerimaan dan adopsi mata uang virtual yang lebih mudah secara umum, sehingga memberikan tawaran investasi yang layak untuk mereka. Lee telah menyamakan hal ini dengan investasi emas generasi sebelumnya.
Bitcoin telah mengungguli emas selama dua tahun. Selain itu, ‘buy bitcoin’ query pencarian di Google melebihi permintaan ‘beli emas’.
Lee juga menjelaskan bahwa “meski dengan dasar yang disesuaikan dengan risiko, Bitcoin akan dengan mudah mengungguli S & P.” Dia menambahkan bahwa jika Bitcoin dapat memperoleh kembali pijakan $ 20 ribu dalam enam bulan pertama tahun ini, paruh kedua tahun 2018 dapat melihat Bahkan keuntungan lebih besar.
Lee bukan satu-satunya hedging taruhan harga Bitcoin. Beberapa, seperti Dennis Gartman, masih yakin bahwa gelembung itu akan meledak, mengakibatkan perdagangan Bitcoin di bawah $ 5k.
Namun, penggemar Bitcoin seperti Bobbly Lee telah meramalkan bahwa mata uang tersebut bisa diperdagangkan setinggi $ 100k. Lee adalah co-founder dan CEO BTCC, pertukaran kripto terpanjang di China sebelum dimatikan. Meskipun ia telah dibakar oleh larangan Bitcoin China, Lee dan banyak lainnya percaya bahwa satu-satunya cara adalah untuk Bitcoin.

Prediksi Harga Bitcoin Bisa Mencapai $50,000 Pada 2018 Ini

Prediksi Harga Bitcoin Bisa Mencapai $50,000 Pada 2018 Ini -Perdagangan, pasar Cryptocurrency baru-baru ini turun di bawah angka $ 400 miliar, karena bitcoin sendiri jatuh ke sedikit di atas $ 6.000, sebelum harganya mulai kembali. Pada saat pers, pasar kriptocurrency membuat pivot bullish, karena regulator AS memberi sinyal bahwa mereka akan melakukan pendekatan hati-hati terhadap peraturan cryptocurrency selama dengar pendapat Senat tingkat tinggi.

Pada saat pers, menurut data indeks harga , bitcoin diperdagangkan pada $ 8.387 setelah naik 24,5 persen dalam 24 jam terakhir. Ini mungkin hanya awal dari kenaikan crypto utama tahun ini, karena menurut para ahli CNBC, lihat bitcoin melakukan banteng lebih besar dari tahun lalu dan mencapai $ 50.000.
Kenyataannya, para ahli percaya bahwa ekosistem cryptocurrency dapat melampaui angka $ 1 triliun, karena kripto yang lain juga dapat melihat keuntungan yang signifikan. Thomas Glucksmann, kepala pengembangan bisnis APAC di bursa cryptocurrency Gatecoin, mencatat bahwa pengakuan peraturan, perkembangan teknologi, dan masuknya institusional modal akan berkontribusi pada dorongan tahun ini.

Cara Memastikan Crypto Atau Bukan – Dengan Melihat Karakter Cryptocurrency

Saat ini, telah cukup banyak beredar klaim-klaim sebagai sebuah cryptocurrency. Istilah yang cukup dikenal oleh komunitas cryptocurrency tentang hal ini adalah Era Shittcoin. Secara umum, mereka hanya menggunakannya sebagai kedok cryptocurrency belaka. Mencoba memanfaatkan peluang dibalik populernya cryptocurrency yang diawali dengan Bitcoin. Kebanyakan dari klaim-klaim ini, menggunakan pola skema piramida, dan mengejar keuntungan semata dari member-member baru. Seperti pola skema piramida pada umumnya, selalu berujung kolap pada akhirnya.
Sebelum kita membahas bagaimana cara memastikan crypto atau bukan, memahami bitcoin secara menyeluruh tentu adalah hal yang tepat sebagai acuannya. Karena bagaimanapun, cryptocurrency baru yang banyak bermunculan juga tidaklah bisa lepas dari bitcoin.

Makna Cryptocurrency

Sederhananya istilah cryptocurrency ini memang muncul pasca bitcoin diperkenalkan. Satoshi Nakamoto pada saat itu memperkenalkan Bitcoin tidaklah dianggap sebagai sebuah mata uang, melainkan sebagai sebuah sistem pembayaran elektronik berbasis peer to peer. Tentang hal ini, dapat dilihat di dalam papernya tentang Bitcoin. Ketika banyak orang di komunitas mampu melihat fungsinya yang dapat menjadi media pentransfer nilai dan juga mampu menyimpan nilai, orang mulai menambatkan predikat sebagai sebuah mata uang.
Meskipun Satoshi Nakamoto tidak pernah membicarakan sebagai sebuah mata uang secara verbal, kenyataan yang ada memang mampu berfungsi seperti hal itu. Karakter-karakter untuk bisa dianggap sebagai mata uang, relatif berpihak pada Bitcoin. Di lain sisi, banyak juga yang beranggapan bahwa predikat sebagai sebuah mata uang justru mengurangi esensi Bitcoin secara menyeluruh. Karena dianggap mempersempit peran bitcoin yang jauh lebih luas dari hanya sekedar sebagai sebuah mata uang.
Walaupun project crypto sebelum bitcoin telah banyak dilakukan, namun, crypto di era bitcoin adalah sebuah hal yang menjadi terobosan yang luar biasa. Terutama bagaimana sebuah sistem pembayaran elektronik dapat berjalan tanpa harus bergantung pada pihak dan otoritas manapun. Sejak saat itu pula istilah “Cryptocurrency” di era bitcoin dan setelahnya menjadi kian populer.
Sejak saat itu, banyak kalangan ilmuan, peneliti, akademisi, dan lain sebagainya di seluruh dunia makin tertarik untuk mengkaji, dan meneliti lebih jauh. Pra dan kontra pun berjalan mengiringi sepanjang jalannya. Namun pada akhirnya, makin banyak orang di belahan dunia yang mampu melihat potensi di dalamnya. Ada begitu manfaat yang dapat dijadikan pelajaran, digunakan untuk dapat diaplikasikan di banyak bidang.
Masyarakat dapat melihat semua hal ini karena transparansi yang cukup melekat kental di dalam bitcoin. Kajian-kajian dan penelitian tentang bitcoin dan blockchain yang menjadi tolak punggungnya juga cukup ilmiah. Hal itu tentu saja karena memang cabang ilmu kriptografi di dalam bitcoin dan cryptocurrency memegang peranan utama. Cabang ilmu yang mendasari inilah yang menjadi muara dari istilah cryptocurrency. Crypto adalah kriptografi, dan currency adalah mata uang. Sehingga tentu saja, cryptocurrency adalah mata uang berbasis kriptografi.

Desentralisasi Jadi Pondasi Utama

Jika kita telah memahami bahwa era bitcoin menjadi tolak ukur cryptocurrency saat ini, maka karakter yang tidak bisa terlepas adalah bagaimana desentralisasi itu dapat dicapai di dalam sistemnya. Cryptocurrency yang muncul setelahnya, atau yang bisasa disebut dengan altcoin, sama juga mendasarkan pada hal yang sama. Sebut saja seperti Litecoin, Dogecoin, Ethereum, dan banyak yang lain, sama juga mengedepankan tentang desentralisasi.
Bukanlah perihal menghindari otoritas yang berwenang yang menjadi latar belakang. Melainkan pada sisi keamanan yang berlapis jika cryptocurrency dapat berjalan sepenuhnya desentralisasi. Anggapannya tentu saja, pihak otoritas justru menjadi sumber kelemahan, pintu masuk segala permasalahan, menjadi obyek penipuan, banyak celah keamanan dan lain sebagainya.
Semua simpul node, sama-sama menjadi pusat kontrol satu sama lain. Menjadi garda terdepan berjalannya konsensus yang telah disepakati dan dijalankan dan dipatuhi secara bersama-sama. Dengan kedudukan dan posisi yang sama antara satu dengan yang lain. Hal ini, tentu saja menjadi benteng yang paling kokoh, mampu mengatasi berbagai macam persoalan yang sebelumnya menjadi hantu yang paling ditakuti dalam sistem pembayaran elektronik.
Seiring berjalan waktu, telah banyak modifikasi, banyak developer yang mencoba berinovasi, saling mengisi dalam berbagai macam hal tentang cryptocurrency. Hal ini memang relativ menjadi memungkinkan dapat dilakukan karena memang source code Bitcoin secara gamblang dan terbuka dapat dipelajari dan dapat dikembangkan lebih lanjut oleh siapapun. Inisiatif yang ada selanjutnya, adalah berusaha untuk membuat cryptocurrency yang cukup berbeda, sentralisasi. Inisiatif ini lebih banyak muncul dari kalangan pihak jasa keuangan, atau juga startup di berbagai belahan di dunia. Konsorsium perbankan di banyak negara saling berkumpul untuk mencoba menerapkan teknologi blockchain sebagai sebuah sistem yang tersentral untuk industri keuangan.
Sementara inovasi dan ide tentang hal ini, tidak terlepas juga dari kepentingan-kepentingan lain yang mencoba memanfaatkan peluang dibalik makin populernya cryptocurrency. Tidak lain adalah adanya pihak-pihak dengan klaim menggunakan private blockchain dan apapun istilah yang mereka gunakan. Padahal, tujuan utama hanyalah untuk mengeruk keuntungan semata, pada orang-orang awam yang belum banyak mengerti tentang cryptocurrency.

Karakter Project Baru Cryptocurrency

Transparansi, desentralisasi, telah banyak disinggung pada penjelasan diatas. Dua hal ini tentulah menjadi tolak ukurnya. Fungsinya, tentu saja agar masyarakat dapat melihat, dan memberikan penilaian atas kelayakan, keamanan, prospek kedepan yang baik atau tidak, dan mengetahui tipikal cryptocurrency yang ditawarkan.
Jadi secara garis besar, dengan mengetahui karakter bagaimana project baru cryptocurrency ini, adalah hal yang paling tepat untuk dapat melihat cara memastikan crypto atau bukan. Berikut adalah beberapa hal mendasar yang telah menjadi kebiasaan atas munculnya project cryptocurrency baru.
  • Announcement

Announcement ini adalah memperkenalkan project cryptocurrency tersebut kepada khalayak. Cryptocurrency, tentu saja lebih banyak diadopsi oleh basis komunitas crypto itu sendiri. Sehingga, sasaran yang diharapkan adalah akan banyak orang di komunitas crypto yang nantinya akan mengadopsi atau menggunakan crypto baru tersebut. Biasanya komunitas yang dituju untuk memperkenalkan project baru ini adalah di bitcointalk.org, ataupun di reddit/cryptocurrency.
Selanjutnya, dari announcement inilah, yang kemudian seolah menjadi forum untuk penilaian, menentukan kadar project baru cryptocurrency itu akan ramai diadopsi atau tidak. Dalam hal ini, bagi pemula thread yang mengumumkan project, seringkali dilihat dari tingkatan rank yang disandang pada forum tersebut.
Bagi developer yang identik dengan para scammer, biasanya membuka akun baru pada forum tersebut. Hal ini, tentu saja sudah menjadi penilaian tersendiri bagi komunitas crypto atas tawaran project barunya tersebut. Terlebih, memang bagi developer yang menyamarkan dengan akun baru ini, biasanya sebagian besar dari mereka adalah scammer lama yang membuat project lagi dengan akun baru.
Secara umum, pada perkenalan ini, developer atau penggagas project akan mengumumkan segala sesuatu yang berkaitan dengan cryptocurrency mereka. Pada perkenalan project baru ini, segala opini, penilaian baik dan buruk dari komentar banyak orang dapat memberikan gambaran kita akan crypto baru itu. Semakin banyak penilaian negatif yang muncul, maka kita dapat mengambil kesimpulan lebih untuk menjauhinya. Beberapa hal tersebut lebih lanjut adalah:
  • Spesifikasi

Spesifikasi koin crypto ini berelasi dengan banyak hal, seperti:
Total supply
Total supply adalah jumlah keseluruhan unit koin yang nantinya akan diciptakan dalam keseluruhan jangka panjang di project crypto tersebut. Jumlah total supply di setiap project cryptocurrency tentu akan beraneka ragam. Total supply juga berpengaruh dalam hal sisi ekonomi yang hendak dikonsepkan pada project itu.
Perlu menjadi catatan penting, bahwa garis besar cryptocurrency di era Bitcoin, cenderung memilih untuk lebih membatasi jumlah total supply koin yang diciptakan. Tujuannya tidak lain adalah mencoba mengusung ekosistem seperti dalam ekosistem komoditas emas, dan diterapkan secara digital dalam cabang ilmu kriptografi.
Emas, tentu terbatas jumlahnya yang ada di alam. Lambat laun, supply emas juga akan habis ditambang, selanjutnya juga tidak akan ada lagi emas yang dapat ditambang, karena sumber daya emasnya telah habis. Begitupun halnya dalam cryptocurrency. Karakter ini kemudian diterjemahkan dalam konsensus yang selanjutnya ditambatkan dalam protokol core bitcoin, ataupun cryptocurrency lainnya. Jadi sifat terbatasnya sumber daya emas ini, diterjemahkan melalui total supply dalam protokol cryptonya. Jika telah mencapai total supply, maka artinya tidak ada lagi unit baru yang dapat tercipta.
Sebagai perbandingan, total supply bitcoin berjumlah 21 juta. Namun perlu diketahui, bahwa unit satuan bitcoin terdiri dari 8 digit. Sehingga tentu saja, meski dengan total 21 juta dengan satuan 8 digit itu tentu sudah dianggap lebih dari cukup. Pembatasan itu, selain mencoba melekatkan karakter dan sifat emas, juga sebagai upaya untuk mencoba lebih tahan atas laju inflasi yang tak terbendung pada FIAT Money.
Pada sebuah project baru cryptocurrency, jika dinilai total supply yang terlalu banyak, menjadi enggan diadopsi oleh para pengguna crypto secara umum. Hal tersebut, sisi ekonomi jangka panjang pada project tersebut lebih rentan akan inflasi, hingga menurunnya nilai atau harga crypto tersebut. Semakin banyak koin yang nantinya beredar, tentu saja akan mempengaruhi harga pada akhirnya. Maka tepatlah total supply ini menjadi acuan yang penting juga dalam memberikan penilaian atas crypto tersebut.
Dalam hal ini, kebanyakan para scammer justru bertindak sebaliknya, mereka menggunakan total supply yang relatif cukup besar. Jika anda menjumpai project crypto semacam ini, maka patutlah untuk dihindari.
Algoritma
Algoritma ini sebenarnya digunakan sebagai sebuah sarana untuk pencapaian konsensus di dalam cryptocurrency. Jika di dalam bitcoin, menggunakan sha256, namun altcoin secara umum, lebih beragam dan menggunakan alternatif lain selain sha256. Untuk Altcoin, biasanya menggunakan scrypt, ada yang gunakan sha512, scrypt-jane, ataupun yang lain. Masing-masing pilihan itu, juga memberikan sisi tingkat keamanan yang berbeda pula. Sehingga, dari keterangan ini, menjadi pertimbangan penting untuk diketahui oleh para calon pengadopsi crypto baru itu. Jika anda tidak menjumpai detail tentang hal ini pada sebuah project crypto baru, maka sudah sepatutnya anda meninggalkannya.
Rentang Waktu Block Baru Tercipta
Sacara umum, altcoin juga mengadopsi block ini. Transaksi-transaksi cryptocurrency, dimasukkan kedalam tiap-tiap block. Masing-masing block ini, dapat secara runtut menunjukkan kesejarahannya. Sehingga validitasnya juga akan saling berelasi satu block, dengan block lainnya. Rentan waktu setiap block baru, menjadi sebuah sistem pola pendistribusian unit-unit koin baru yang tercipta. Umumnya, ada rentan waktu rata-rata setiap block baru yang berusaha dicapai. Jika di dalam bitcoin, rentan waktu block baru tercipta selama kurang lebih 10 menit. Pada setiap project altcoin baru, umumnya berbeda. Ada yang lebih cepat dari itu.
Sehingga secara umum, jika semakin cepat rentan waktu block baru tercipta, maka artinya unit-unit baru koin tersebut tercipta lebih cepat. Dan distribusi koin juga berjalan lebih cepat, dan tentunya, berujung juga implikasinya pada total supply koin yang beredar. Seperti yang telah disinggung diatas, semakin banyak koin beredar, maka akan mempengaruhi juga supply and demand.
Di dalam cryptocurrency, setiap bagiannya akan saling berelasi dengan banyak hal. Dalam hal ini, rentan waktu block baru ini tentu juga akan berelasi juga pada pola pendistribusiannya. Sekaligus, berujung juga nanti rentan waktu total supply yang bisa diketahui kisaran waktunya. Di dalam bitcoin, total jumlah supply akan berakhir, dapat diperkirakan berakhir pada tahun 2041 mendatang. Hal ini bisa diketahui dari rentang waktu block baru ini. Selain itu, karena rentang waktu block berelasi dengan pola pendistribusian, maka berelasi juga nantinya pada besaran reward block untuk para penambang. Pola distribusi ini, ada yang menggunakan POW, dan ada yang lebih memilih POS. Lebih jelas tentang ini bisa anda baca disini: Proof Of Work Sebagai Insentif.
Block Reward
Block reward ini, digunakan sebagai pola pendistribusian unit baru. Sehingga, tentu saja, akan menjelaskan lebih lanjut apakah project baru tersebut dapat ditambang secara umum, atau tidak. Muncul istilah baru, tentang adanya premined. Artinya, keseluruhan total supply itu telah ditambang sebelumnya oleh developer mereka. Project crypto baru yang sifatnya premined, menjadi penilaian tersendiri bagi komunitas crypto. Banyak orang yang lebih cenderung tidak menyukai hal ini. Tentu saja, alasan utamanya adalah dalam sisi keamanan. Project crypto baru yang dapat ditambang secara umum, secara tidak langsung akan menarik pengadopsi baru. Hal ini berujung pada makin banyaknya simpul node yang membantu menjaga validitas jaringan di sistemnya.
Halving Reward
Berkaca dari bitcoin, pengurangan reward block ini, memberikan dampak untuk mengatur tingkat distribusi unit baru yang tercipta. Umumnya setelah beberapa periode waktu tertentu yang telah ditetapkan di dalam konsensus protokol core. Jika di dalam bitcoin, halving ini secara otomatis terjadi jika telah mencapai 210.000 block tercipta. Dengan kisaran waktu block baru tercipta adalah rata-rata 10 menit. Maka dapat dihitung kisaran waktu block yang telah mencapai 210.000 block itu adalah kurang lebih selama 4 tahun. Dalam hal ini, kita dapat melihat bahwa semuanya dapat terhitung secara pasti. Saling berelasi satu dengan yang lain. Jadi tidak ada proses Sim Salabim.
Selain itu, pengurangan reward block ini, juga sebagai antisipasi atas meningkatnya pertumbuhan teknologi. Perkembangan teknologi yang cenderung berjalan lurus kedepan, tentu juga akan berdampak pada ekosistem pertambangan. Misalnya saja makin meningkatnya perkembangan teknologi dalam perangkat pertambangan. Seperti yang kita tahu, bahwa ekosistem perangkat pertambangan di dalam bitcoin telah mengalami beberapa fase. Semuanya juga sebagai implikasi atas perkembangan teknologi ini. Nampaknya, ide cemerlang Satoshi Nakamoto, membaca situasi ini dengan apik. Mempertimbangkan juga pengurangan block reward ini karena pertimbangan jauh kedepan, masa juga akan dipermudah dengan makin efektifnya perangkat pertambangan crypto.
Block Exploler
Parameter yang cukup memungkinkan melihat database transaksi atau yang lebih banyak dikenal dengan Blockchain, dapat dilihat dari block exploler ini. Untuk membedakan antara crypto yang benar atau yang abal-abal, dapat juga dilihat dari sini. Kita dapat dengan mudah membedakan bagaimana block exploler yang ada pada bitcoin, dengan crypto baru tersebut. Jika ada cukup banyak kejanggalan disana, maka sudah dapat dipastikan project baru tersebut hasil cipta karya para scammer.
Bitcoin Block Exploler:
  • https://blockexplorer.com/
  • http://blockr.io/
  • https://blockchain.info/
  • https://live.blockcypher.com/
Pool
Pool ini adalah tempat para penambang melakukan pertambangan secara bersama-sama. Pool ini hampir sama dengan mining pool pada bitcoin, muncul sebagai upaya untuk memudahkan penambang kecil. Agar penambang kecil ini dapat ikut berpartisipasi dalam ekosistem pertambangan. Tidak adanya informasi detail tentang dimana pool mereka, menjadi indikasi penting project baru itu bukanlah crypto.
  • Source Code

Source Code, menjadi tolak ukur utama untuk menilai apakah project crypto baru ini benar-benar crypto atau bukan. Biasanya, publikasi tentang source code ini juga akan diiringi dengan adanya whitepaper yang telah dipublikasikan. Dua hal tersebut, telah dianggap sebagai elemen yang saling melengkapi antara keduanya. Umumnya, source code ini dipublikasikan di github.
Dari source code ini, publik akan secara terbuka dapat melihat dan menilai konsep project crypto itu. Kebanyakan project crypto baru yang benar-benar berbeda dari bitcoin maupun altcoin lain yang telah ada cukup jarang. Yang lebih banyak muncul adalah hasil sedikit modifikasi saja dari source code yang telah ada sebelumnya. Jika source code itu hanya berasal dari copy paste saja atas project yang telah ada sebelumnya, maka penilaian negatif pula yang banyak didapat. Apalagi jika copy paste source code tersebut tidak menyertakan sumber aslinya. Sebab, Cloning github repository ini, tentu masih menyertakan source code aslinya.
  • Whitepaper

Seperti yang dijelaskan tentang source code diatas, whitepaper ini menjelaskan secara terperinci konsep project crypto baru tersebut. Jika ada ketidak sesuaian antara penjelasan konsep yang ada di whitepaper dengan source code yang telah dipublikasikan, maka tentu dapat diambil kesimpulan negatif pada project itu. Sehingga, dapatlah kita ambil kesimpulan yang memudahkan kita dalam mengetahui cara memastikan crypto atau bukan, dari adanya whitepaper ini juga.
  • Raodmap
Kita dapat menyebut, roadmap ini adalah serangkaian target pengembangan yang hendak dicapai pada sebuah project crypto baru. Transparansi roadmap yang jelas, tentu memberikan penilaian tersendiri. Termasuk juga memberikan gambaran inovasi developer akan project yang selalu berkembang. Jika pengembangan berjalan stagnan, hal ini juga berimplikasi pada ekosistem project crypto itu secara global.
  • Developer
Selanjutnya, untuk cara memastikan crypto atau bukan, bisa dilihat dari siapa developer dibalik project tersebut. Kejelasan tentang kualifikasi developer yang menggarap project crypto baru, tentu juga menentukan. Kita dapat menilai apakah developer tersebut memang cukup qualified atau tidak. Jika developer project tersebut telah banyak dikenal dalam dunia crypto, maka akan menambah sisi trust pada project itu. Sebaliknya, jika developer unknown, maka sudah sepatutnya kita hindari.
  • Market
Seringkali, banyak orang menilai cara memastikan crypto atau bukan hanya dari sisi ini saja. Padahal, hal-hal penting yang menentukan adalah seperti hal-hal diatas. Market, dapat dikatakan sebagai tujuan akhir atas banyaknya pengadopsi crypto baru tersebut. Umumnya, pada sebuah project crypto baru, berusaha agar dapat dimasukkan dalam market kapitalisasi crypto (coinmarketcap). Hal ini berjalan beriringan pula dengan adanya market yang menjembatani crypto baru tersebut.
Dalam hal ini, perkembangan yang ada ada beberapa crypto yang telah berhasil menembus market crypto. Namun jangan berhenti dulu sampai disitu. Sebab, kita perlu mengetahui apakah crypto baru tersebut masuk juga pada banyak market crypto besar yang telah ada. Dalam hal ini, banyak pula dijumpai market yang dibuat-buat sendiri oleh para developer project crypto baru itu. Jika anda menjumpai hal semacam ini, maka bisa anda simpulkan bahwa anda akan menyesal nantinya.
Dari banyak penjelasan tersebut, sekarang anda dapat mengetahui cara memastikan crypto atau bukan. Dan anda juga dapat memulai mengidentifikasi sendiri pada banyak crypto yang telah ada. Apakah dari gambaran tersebut crypto tersebut terpenuhi atau tidak. Jika tidak, maka sudah sepatutnya untuk dihindari.

Thursday, February 8, 2018

MANTAN MENTERI KEUANGAN SEBUT INDONESIA TIDAK AKAN BISA MENGHENTIKAN PEREDARAN BITCOIN




DuniaFintech.com – Perdebatan panjang terkait mata uang virtual masih belum menunjukkan titik temu di berbagai belahan dunia. Setelah Jokowi menyebut Bitcoin dan Blockchain sebagai teknologi masa depan yang tidak bisa diabaikan, kali ini mantan menteri keuangan Chatib Basri ikut mengemukakan pandangannya terkait kehebohan mata uang virtual ini.
Mantan menteri yang menjabat di Kabinet Indonesia Bersatu itu menyebut bahwa melarang sirkulasi Bitcoin bukanlah cara yang efektif untuk menanggulangi dampak negatif dari Bitcoin dan mata uang virtual lainnya.

Chatib menyebut bahwa Bank Indonesia selaku bank sentral-lah yang harusnya segera mengambil langkah dengan mengadopsi mata uang digital sebagai salah satu alat pembayaran resmi. Dengan membuat kebijakan semacam itu, pemerintah bisa ikut mengawasi dan mengetahui bagaimana sirkulasinya.
Saya mengerti kecemasan Bank Indonesia terhadap Bitcoin. Jadi yang harus dilakukan oleh Bank Indonesia adalah melakukan langkah agar mata uang virtual bisa menjadi sesuatu yang diawasi. Kita tidak bisa menghalangi (orang untuk memiliki Bitcoin dan mata uang virtual lainnya),” ungkap Chatib sebagaimana dilansir oleh Kompas, Senin (5/2) lalu.
Mengingat penggunaan teknologi digital secara besar-besaran, bank sentral perlu menggunakan teknologi tersebut untuk mencegah dampak negatif dengan mengeluarkan teknologi digital resmi.
Dia menyebutkan sebagai contoh Bucket Technologies, sebuah startup Amerika Serikat yang memfasilitasi transaksi uang tanpa kabel di pengecer, dimana koin yang biasanya diberikan sebagai kembalian pada pelanggan diubah menjadi voucher, seperti untuk Google Play Store atau Apple Pay.

Pandangan  CEO Bitcoin Indonesia terhadap Larangan Penggunaan Mata Uang Digital

Baik Bank Indonesia maupun Otoritas Jasa Keuangan memang telah mengeluarkan larangan, namun ini masih terbatas pada penggunaan mata uang virtual sebagai alat pembayaran. Karena larangan tersebut terkandung dalam undang-undang, CEO Bitcoin Indonesia, Oscar Darmawan pun memiliki pemikiran yang sama.
Saya juga mendukung regulasi tentang transaksi di Indonesia harus menggunakan rupiah dan saya juga tidak pernah menyarankan melakukan pembayaran menggunakan mata uang virtual,” tuturnya kepada Bisnis.com, Selasa (6/2) lalu.

Satu hal yang kurang disetujui bos marketplace aset digital terbesar Indonesia ini adalah alasan pemerintah yang menyebut bahwa mata uang digital banyak dimanfaatkan untuk kejahatan.
Teknologi blockchain yang serba tercatat malah memudahkan untuk melakukan pelacakan. Termasuk kalau dana yang ada digunakan untuk kejahatan,” imbuhnya.
Oscar juga menambahkan bahwa selama ini Bitcoin digunakan sebagai alat transaksi antar negara. Melarang Bitcoin di satu negara, tidak akan lantas menyelesaikan masalah. Namun Oscar tetap mendukung penuh keputusan pemerintah melarang penggunaan mata uang virtual sebagai alat pembayaran.


sumber: https://www.duniafintech.com/mantan-menteri-keuangan-sebut-indonesia-tidak-akan-bisa-menghentikan-peredaran-bitcoin/