Bitcoin Forum
April 26, 2024, 08:37:55 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Bahasa Indonesia (Indonesian) / Apa yang membuat kalian enggan berdiskusi di thread teknikal Bitcoin ?? on: April 22, 2024, 11:36:20 PM
Apa yang membuat kalian enggan berdiskusi di thread teknikal Bitcoin dan Blockchain ??

Apakah karena kalian takut ?
Apakah karena tidak menguasai pembahasan ?
Apakah karena tidak bisa buat kejar setoran posting ?

Rata-rata postingan di SFI dalam sehari ada di sekitaran 50-100 Post, namun anehnya hanya topik-topik receh yang setiap hari rame, sementara topik-topik yang memiliki pembahasan berat (membahas perihal tekhnikal Bitcoin, dan teknologi Blockchain) hanya member-member tertentu yang mau ikut berdiskusi didalamnya. Sangat jauh berbeda dengan era tahun 2017-2019 dimana cukup banyak member SFI yang sangat tertarik berdiskusi, berkontribusi atau sekedar mencari informasi di Thread-thread teknikal Bitcoin dan Blockchain.

Sudah bukan rahasia jika mayoritas member pasti menginginkan Rank Tinggi dan mendapatkan banyak merit dan rata-rata kalo ditanya pasti menjawab, bahwa mereka ingin lebih maju dan berkeinginan berupaya membuat postingan yang berkualitas. Namun nyatanya hanya sedikit yang berani menyebrang dari zona nyaman mereka, sementara lainnya hanya tetap berkutat di thread-thread receh yang notabene menjadi ladang spam, perulangan opini dan wadah yang cocok buat kejar target postingan Sigcamp dan Bounty.

Kalo memang benar-benar ingin maju, naik rank cepet dan mendapatkan banyak merit, jangan hanya niatan itu cuman menjadi sebatas ucapan saja. Minimal luangkan waktu 30-60 menit sehari untuk mencoba berdiskusi di thread-thread yang bukan merupakan zona nyaman kalian. Tidak harus membuat postingan yang panjang lebar atau repot-repot main ke Technical Global Board, bahkan jika anda cuma sekedar bertanya (on-Topic) itu sudah merupakan awal yang bagus, asal itu bukan merupakan postingan yang hanya bersifat hit and run (1 postingan lalu menghilang tanpa jejak).



Beberapa contoh Thread yang membahas perihal teknikal Bitcoin dan Blockchain :

[Edukasi] Privasi dan Anonimitas Bitcoin
BITCOIN CORE
ELECTRUM - BITCOIN WALLET
[Edukasi] Dari Private Key Sampai Ke Bitcoin Address (Untuk Pemula)
[INFO] Algoritma Konsensus pada Teknologi Blockchain
[GUIDE] Bitcoin-CLI via Command Prompt (Windows)
[GUIDE] Cara Membuat Alamat Bitcoin Unikmu Sendiri (Custom Address)
◉ Bitcoin Protocol Rules ◉
[Edukasi] Proses Transaksi & Block di Jaringan Blockchain Bitcoin
2  Bitcoin / Bitcoin Technical Support / Help with understanding Taproot tree expression on: March 15, 2024, 05:28:41 PM
As far as I know, to describe Script Tree with Script Path 1:
Code:
<Key1> OP_CHECKSIG <Key2> OP_CHECKSIGADD OP_2 OP_NUMEQUAL

and Script Path 2:
Code:
<Key3> OP_CHECKSIG 

I have to use Taproot expression: tr(InternalKey,{multi_a(2,Key1,Key2),pk(Key3)}), so that the descriptor can be imported into Bitcoin core with private key disabled.

However, for example, if I want to change script path 2 as
Code:
OP_10 OP_CHECKSEQUENCEVERIFY OP_DROP <Key3> OP_CHECKSIG

I don't know what kind of expression to use?

tr(InternalKey,{sortedmulti_a(2,Key1,Key2),???)})
3  Local / Bahasa Indonesia (Indonesian) / [Edukasi] Proses Transaksi & Block di Jaringan Blockchain Bitcoin on: February 03, 2024, 08:13:23 PM
Index




[Edukasi] Proses Transaksi & Block di Jaringan Blockchain Bitcoin

Secara umum pada saat seseorang mengirimkan BTC dari wallet yang dimilikinya ke Wallet milik orang lain, maka pada saat transaksi tersebut mendapatkan konfirmasi Block, secara otomatis Balance pada kedua Wallet akan mengalami perubahan. Sederhananya Balance dari pengirim akan berkurang dan Balance milik penerima akan bertambah sebesar jumlah nilai transaksi yang dilakukan.

Pada prakteknya, proses transaksi dari satu address ke address lainnya di dalam jaringan Bitcoin harus melalui proses komputasi dan prosedur yang cukup kompleks yang melibatkan keseluruhan Node yang ada di Jaringan Bitcoin. Disini, akan saya jelaskan mengenai flow sebuah transaksi dan bagaimana transaksi tersebut mendapatkan konfirmasi block, sehingga output dari transaksi tersebut bisa digunakan sebagai referensi (UTXO) buat transaksi-transaksi selanjutnya.


● Proses Transaksi

◉ Pada saat sebuah transaksi baru dibuat, secara umum transaksi tersebut akan berisikan address pengirim, address penerima, besaran BTC yang dikirimkan dan besaran fee transaksi. Sebenarnya yang menjadi nilai besaran BTC yang akan dikirimkan adalah UTXO yang merupakan Output dari transaksi yang belum digunakan. UTXO tersebut digunakan sebagai Input yang merupakan referensi dari transaksi yang dipilih, sehingga pada Input akan berisikan hash dan indeks dari TXID yang mewakili UTXO. Sementara pada Output berisikan intruksi untuk mengirimkan BTC (berapa besar jumlah BTC yang dikirimkan, dan address penerima transaksi).

◉ Transaksi yang dibuat harus ditandatangani terlebih dahulu menggunakan private key melalui proses kriptografi. Selain sebagai tanda persetujuan, hal ini juga menjadi bukti bahwa UTXO yang digunakan dalam Input adalah milik si pengirim, sekaligus akan menciptakan UTXO baru bagi pemilik address penerima.

◉ Setelah transaksi dibuat dan ditandatangani, maka transaksi tersebut akan memiliki struktur dengan Version, Flag, Input Count, Input, Output Count, Output, Witness data dan Locktime didalamnya. Sebagai contoh saya menggunakan transaksi 55fc28c1ca463fc27c7092d5776d6d78a2607741bb622bd888d0da5cedbd2903, yang jika diuraikan RAW data dari transaksi tersebut adalah sebagai berikut :


RAW Transaction
0200000000010151ab9ecdaeb374eacdd52ea3c56ef65ab3c1a5017b851e54a55872cf604a144d0 100000000fdffffff02357b140000000000160014cf63468044aedeb9e83d594bf958970951d953 ca1147d300000000001600144a15270d0f29348f4733b3e8306ed612eadc1c6f024730440220186 a25919f4c5c9b24db4296336763ed2a1d6267c97ff13104a42e3bac564723022078fa2ad2db73a9 6023df6b482c5c5c7b0599378f224d1e609af7f024d277c2f7012102f264b13d35294c6bcdea229 f229645ad990989816be46605599579a5f947f337dd3b0b00

Transaction Structure
02000000 0001 01 51ab9ecdaeb374eacdd52ea3c56ef65ab3c1a5017b851e54a55872cf604a144d 01000000 00 fdffffff 02 357b140000000000 16 0014cf63468044aedeb9e83d594bf958970951d953ca 1147d30000000000 16 00144a15270d0f29348f4733b3e8306ed612eadc1c6f 02 47 30440220186a25919f4c5c9b24db4296336763ed2a1d6267c97ff13104a42e3bac564723022078f a2ad2db73a96023df6b482c5c5c7b0599378f224d1e609af7f024d277c2f701
21 02f264b13d35294c6bcdea229f229645ad990989816be46605599579a5f947f337 dd3b0b00



Version02000000Menyatakan Versi 2
Witness Flag*0001Marker 0x00 , Flag 0x01
Input Count01Jumlah Input 1
Hash of referenced Tx51ab9ecdaeb374eacdd52ea3c56ef65ab3c1a5017b851e54a55872cf604a144dHash dari transaksi yang digunakan sebagai input
Index of transaction output01000000Index dari UTXO, Vout = 1
ScriptSig Size001 byte yang menyatakan Ukuran dari Unlocking-Script
Sequence Numberfdffffffdiasumsikan sebagai RBF karena fdffffff < ffffffff
Output Count02Jumlah Output 2
Amount Output 1357b1400000000001342261 satoshis = 0.01342261 BTC
ScriptPubKey Size Output 116Menyatakan ukuran 22 bytes
ScriptPubKey Output 10014cf63468044aedeb9e83d594bf958970951d953caOP_0 OP_PUSHBYTES_20 <20-byte hash>
Amount Output 21147d3000000000013846289 satoshis = 0.13846289 BTC
ScriptPubKey Size Output 216Menyatakan ukuran 22 bytes
ScriptPubKey Output 200144a15270d0f29348f4733b3e8306ed612eadc1c6fOP_0 OP_PUSHBYTES_20 <20-byte hash>
Count of witness components*02Jumlah Witness Component 2
Witness size component 1*47Menyatakan ukuran 71 bytes
Witness data component 1*3044022018.........................................024d277c2f701Data yang merupakan script signature
Witness size component 2*21Menyatakan ukuran 33 bytes
Witness data component 2*02f264b13d35294c6bcdea229f229645ad990989816be46605599579a5f947f337Data yang merupakan script signature
Locktimedd3b0b00Block Height 736221

* Merupakan part dari Witness (Segwit) Transaction, untuk Non - Witness Transaction akan memiliki witness field kosong



◉ Transaksi diatas merupakan Segwit Transaction yang ketika dikirimkan ke Jaringan Blockchain Bitcoin, transaksi tersebut akan memiliki 2 IDs (identifiers) yakni TXID dan WTXID.

WTXID merupakan hash (double-sha256) dari keseluruhan struktur transaksi yang dibuat termasuk witness data, sehingga jika diimplementasikan pada RAW Transaction diatas akan didapatkan hash sebagai berikut
Code: (WTXID)
c727e500a9565be2630fa540fbd26de3dd5a0763deda09d1d4a6cbd42ebfcc77

TXID merupakan hash (double-sha256) dari sebuah transaksi yang pada strukturnya semua part dari witness tidak diikutsertakan. Pada transaksi diatas jika part dari witness data dihilangkan akan didapatkan RAW Transaction sebagai berikut
Code: (RAW TX Without Witness)
020000000151ab9ecdaeb374eacdd52ea3c56ef65ab3c1a5017b851e54a55872cf604a144d0100000000fdffffff02357b140000000000160014cf63468044aedeb9e83d594bf958970951d953ca1147d300000000001600144a15270d0f29348f4733b3e8306ed612eadc1c6fdd3b0b00

Jika dilakukan Double-Sha256 pada raw transaction (no-witness data) tersebut maka akan didapatkan TXID
Code: (TXID)
55fc28c1ca463fc27c7092d5776d6d78a2607741bb622bd888d0da5cedbd2903


◉ Setelah transaksi di broadcast ke Jaringan Blockchain Bitcoin, maka transaksi tersebut akan divalidasi dan dimasukan kedalam Memory (Transaction) Pool dari masing-masing Node yang ada di Jaringan Bitcoin dengan status "Unconfirmed".

◉ Semua transaksi yang berada di dalam Mempool, memiliki chance untuk bisa masuk ke dalam kandidat Block berdasarkan dengan nilai fee transaksi yang digunakan, dimana pada umumnya kandidat Block akan memprioritaskan transaksi yang memiliki nilai fee lebih tinggi.

Untuk pembahasan mengenai bagaimana transaksi masuk ke dalam kandidat Block dan bagaimana kandidat Block itu dibuat sehingga bisa menjadi sebuah Block yang valid, akan diulas di post #2
4  Local / Bahasa Indonesia (Indonesian) / ◉ Bitcoin Protocol Rules ◉ on: January 07, 2024, 06:59:08 PM

Bitcoin Protocol Rules

"Rules" yang digunakan oleh Bitcoin Client dalam memproses "message" dan mencegah dari adanya potensi "Unauthorized spending"[1] dan "Double spending"[2]


● Data structures

  • Transactions
    • Transaction Pool (Unconfirmed Transactions yang berada di Mempool)
    • Orphan transactions (Transaksi yang dianggap orphan oleh node dan dimasukkan kedalam orphan pool karena parent transaction tidak eksis)
  • Blocks
    • Blocks di rantai utama (Deretan Blocks terpanjang)
    • Blocks di rantai cabang (Deretan blocks disamping rantai utama dengan deretan yang lebih pendek)
    • Orphan blocks



● Difficulty adjustment

Difficulty mengalami perubahan setiap 2016 Bloks baru ditemukan, dimana waktu yang diperkirakan untuk menemukan 2016 Bloks adalah 2 Minggu.

Sementara untuk rumus perubahan Difficulty adalah seperti ini :
D+ = D0 * MT / SM

D+ = New Difficulty (Difficulty baru)
D0 = Initial difficulty (Difficulty sebelum mengalami perubahan)
M = 2016 Blocks
T = 10 minutes
SM = Actual time 2016 Blocks (Waktu yang dibutuhkan untuk membuat 2016 Blocks pada saat Initial difficulty diterapkan)

Jadi pada dasarnya Difficulty baru akan mengalami penurunan jika SM > MT, dan sebaliknya Difficulty baru akan mengalami kenaikan jika SM < MT

* https://www.domob.eu/research/DifficultyControl.pdf



● Block creation fee (Block Subsidy)

Block creation fee atau dikenal juga sebagai Block Subsidy merupakan sebuah insentif yang didapatkan oleh node mining pada saat mereka berhasil membuat sebuah block yang valid. Insentif ini diterima sebagai Coinbase transaction (+ fee transaksi) yang ikut menjadi bagian dari Block yang mereka temukan.

Pada awalnya nilai dari Block Subsidy adalah sebesar 50 BTC yang dimulai dari Genesis Block, dan akan mengalami penurunan sebesar 50% untuk setiap kelipatan 210000 Block baru ditemukan. Pemangkasan nilai Block Subsidy ini dikenal juga dengan istilah Bitcoin Halving

txNew.vout[0].nValue = genesisReward
CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)


CAmount nSubsidy = 50 * COIN;
    // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
    nSubsidy >>= halvings;
    return nSubsidy;
   



● "TX" Messages

Seluruh node di jaringan Bitcoin melakukan verifikasi untuk setiap transasi berdasarkan kriteria sebagai berikut :

  • Sintaks transaksi dan struktur datanya harus benar
  • Memastikan tidak ada Inputs maupun Outputs yang kosong
  • Ukuran transaksi (dalam satuan "byte") harus kurang dari batas atau sama dengan maksimal ukuran block yang sudah ditentukan (SIZE <= MAX_BLOCK_SIZE)
  • Untuk setiap nilai Output beserta nilai totalnya harus berada dalam rentang nilai yang sudah ditentukan (lebih dari 0 dan kurang dari 21 Juta koin)
  • Memastikan tidak ada inputs yang memiliki hash=0, N=–1
  • nLockTime kurang atau sama dengan INT_MAX[3] , Ukuran transaksi lebih besar atau sama dengan 100 bytes[4] dan sig opcount <= 2[5]
  • Untuk setiap transaksi "nonstandard" akan di reject
  • Untuk setiap transaksi baru yang identik dengan yang sudah ada di Mempool atau block valid akan di reject
  • Jika input menggunakan referenced output yang sudah terpakai di transaksi lain yang berada di Mempool, maka akan di reject[6]
  • Jika input menggunakan referenced output dari transaksi yang tidak dapat ditemukan di rantai block utama maupun Mempool, maka akan dianggap sebagai orphan transactions (ditaruh di orphan Pool)
  • Untuk setiap Input yang menggunakan referenced output dari coinbase transaction, maka harus mendapatkan konfirmasi konfirmasi COINBASE_MATURITY (100) (jika tidak transaksi akan di reject)
  • Untuk setiap transaksi yang memiliki Input menggunakan referenced Output yang tidak eksis (atau sudah digunakan) akan di reject[6]
  • Untuk setiap nilai Input beserta nilai totalnya harus berada dalam rentang nilai yang sudah ditentukan (lebih dari 0 dan kurang dari 21 Juta koin)
  • Jika jumlah nilai input lebih kecil dari jumlah nilai output maka transaksi akan di reject
  • Jika fee transaksi terlalu rendah untuk dimasukan ke empty block, maka transaksi akan di reject
  • scriptPubKey untuk setiap input harus diverifikasi, jika tidak sesuai akan di reject
  • Untuk setiap transaksi yang memenuhi kriteria diatas akan dimasukan ke Memory Pool (MemPool)[7]
  • Transaksi akan ditambahkan ke wallet jika berhasil masuk kedalam block valid
  • Transaksi akan disebarkan ke node-node lain
  • Untuk setiap orphan transaction, terapkan semua prosedur (termasuk poin 20 ini) secara rekursif pada orphan transaction tersebut

● "BLOCK" Messages

Seluruh node di jaringan Bitcoin melakukan verifikasi dan validasi untuk setiap block berdasarkan kriteria sebagai berikut :

  • Sintaks block dan struktur datanya harus benar
  • Duplikat Block yang ditemukan di salah satu dari 3 kategori Block yang ada akan di reject
  • List transaksi tidak boleh kosong
  • Block Hash harus memenuhi persyaratan proof of work (hash <= nBits)
  • Block timestamp tidak boleh lebih dari 2 jam kedepannya
  • Transaksi pertama harus merupakan Coinbase transaction
  • Untuk setiap transaksi akan dilakukan pengecekan sesuai prosedur "TX" poin 2 s/d 4
  • Untuk Coinbase transaction, panjang scriptSig harus 2-100
  • Jika sig opcounts > MAX_BLOCK_SIGOPS, maka block akan di reject
  • Melakukan verifikasi terhadap Merkle hash
  • Jika hash previous Block tidak sesuai dengan yang ada di rantai block utama atau rantai block cabang, maka block akan dianggap sebagai orphan block
  • Nilai nBits harus sesuai dengan Difficulty rules
  • Jika timestamp lebih kecil atau sama dengan median time dari 11 Blocks sebelumnya, maka akan di reject
  • Memeriksa block-block lama tertentu, dan memastikan memiliki hash yang sesuai dengan nilai yang diketahui (contoh : Initial Block Download)
  • Memasukan Block kedalam rantai, dimana ada 3 kondisi: (1)Block dengan  deretan terpanjang sebagai rantai utama, (2)rantai cabang dengan deretan block lebih pendek disamping rantai utama dan gagal menjadi rantai utama, (3)rantai cabang yang akhirnya menjadi rantai utama karena memiliki deretan block yang lebih panjang dari rantai utama sebelumnya.
  • Jika kondisi (1) menjadi rantai utama
    • Untuk semua transaksi kecuali coinbase, diterapkan :
      • Jika input menggunakan referenced output dari transaksi yang tidak dapat ditemukan di rantai block utama, maka akan di reject
      • Untuk setiap Input yang menggunakan "n" output dari transaksi sebelumnya, namun nilainya kurang dari "n+1" output, maka akan di reject
      • Untuk setiap Input yang menggunakan referenced output dari coinbase transaction, maka harus mendapatkan konfirmasi konfirmasi COINBASE_MATURITY (100) (jika tidak akan di reject)
      • Melakukan verifikasi crypto signatures untuk setiap input, jika tidak sesuai akan di reject
      • Untuk setiap input yang menggunakan referenced output yang sudah digunakan oleh transaksi lain yang berada di rantai block utama, maka akan di reject
      • Untuk setiap nilai Input beserta nilai totalnya harus berada dalam rentang nilai yang sudah ditentukan (lebih dari 0 dan kurang dari 21 Juta koin)
      • Jika jumlah nilai input lebih kecil dari jumlah nilai output, maka akan di reject
    • Jika nilai coinbase > nilai Block subsidy + transaction fee, maka akan di reject
    • (jika tidak di reject), maka :
    • Untuk setiap transaksi akan ditambahkan ke wallet jika berhasil dimining
    • Untuk setiap transaksi di Mempool yang identik dengan transaksi yang sudah berada di Block valid akan di hapus
    • Block akan disebarkan ke node-node lain
    • Jika Block di reject, maka block tersebut tidak dianggap sebagai bagian dari rantai block utama
  • Untuk kondisi (2) yang menjadi rantai block cabang, tidak akan dilakukan tindakan
  • Untuk kondisi (3), dimana rantai block cabang menjadi rantai block utama
    • Mencari fork block di rantai block utama, dimana terjadinya percabangan
    • Mendefinisikan ulang rantai block utama untuk diperluas hanya ke fork block ini
    • Untuk setiap block di rantai cabang, dari child of the fork block sampai ke ujungnya, ditambahkan ke rantai block utama
      • Lakukan pemeriksaan "cabang" sesuai prosedur "BLOCK" poin 3 s/d 11
      • Untuk semua transaksi kecuali coinbase, diterapkan :
        • Jika input menggunakan referenced output dari transaksi yang tidak dapat ditemukan di rantai block utama, maka akan di reject
        • Untuk setiap Input yang menggunakan "n" output dari transaksi sebelumnya, namun nilainya kurang dari "n+1" output, maka akan di reject
        • Untuk setiap Input yang menggunakan referenced output dari coinbase transaction, maka harus mendapatkan konfirmasi konfirmasi COINBASE_MATURITY (100) (jika tidak akan di reject)
        • Melakukan verifikasi crypto signatures untuk setiap input, jika tidak sesuai akan di reject
        • Untuk setiap input yang menggunakan referenced output yang sudah digunakan oleh transaksi lain yang berada di rantai block utama, maka akan di reject
        • Untuk setiap nilai Input beserta nilai totalnya harus berada dalam rentang nilai yang sudah ditentukan (lebih dari 0 dan kurang dari 21 Juta koin)
        • Jika jumlah nilai input lebih kecil dari jumlah nilai output, maka akan di reject
      • Jika nilai coinbase > nilai Block subsidy + transaction fee, maka akan di reject
      • (jika tidak di reject), maka :
      • Untuk setiap transaksi akan ditambahkan ke wallet jika berhasil dimining
    • Jika di reject, maka rantai block utama harus dibiarkan seperti semula
    • Untuk setiap block di rantai block utama (lama), dari child of the fork block sampai ke ujungnya, diterapkan :
      • Untuk setiap transaksi yang bukan merupakan coinbase transaction di Block, diterapkan :
        • Terapkan pemeriksaan sesuai prosedur "TX" poin 2 s/d 9 (Untuk poin ke-8 hanya dicari duplikat transaksi pada Mempool saja)
        • Jika diterima, ditambahkan ke transaction pool, jika tidak lanjutkan ke transaksi berikutnya
    • Untuk setiap block di rantai block utama (baru), dari child of the fork block sampai ke ujungnya, diterapkan :
      • Untuk setiap transaksi di Mempool yang identik dengan transaksi yang sudah berada di Block valid akan di hapus
    • Block akan disebarkan ke node-node lain
  • Untuk setiap orphan block yang merupakan prev block, terapkan semua prosedur (termasuk poin 19 ini) secara rekursif pada orphan block tersebut


Note
[1] Penggunaan Bitcoin (sebagai transaksi) yang dilakukan oleh orang lain tanpa ijin dan otorisasi dari pemilik. Dengan penerapan public-private key cryptography hal ini dapat dicegah
[2] Penggunaan reference output yang sama pada sebuah Input transaksi, namun digunakan pada 2 output (address penerima) yang berbeda
[3] nLockTime tidak boleh melebihi 31 bits
[4] Transaksi yang valid harus memiliki ukuran lebih dari atau sama dengan 100 bytes. Jika kurang transaksi dianggap tidak valid
[5] Jumlah signature operands didalam sebuah Signature pada transaksi standar tidak boleh lebih dari 2
[6] Rules ini mencegah potensi double-spending
[7] Ketika transaksi diterima (masuk) ke Mempool, akan dipastikan bahwa nilai coinbase > Block Subsidy + fee transaksi


*Reference Source https://en.bitcoin.it/wiki/Protocol_rules
5  Local / Bahasa Indonesia (Indonesian) / [Q&A] Bitcoin buat Pemula on: October 12, 2023, 09:58:16 AM
Siapa pencipta Bitcoin
Bitcoin diciptakan oleh Satoshi Nakamoto dalam bentuk software (open source) yang dirilis pada January 2009

Bitcoin: A Peer-to-Peer Electronic Cash System]
Satoshi Nakamoto
satoshin@gmx.com
www.bitcoin.org

Bitcoin itu apa
Bitcoin adalah Cryptocurrency (aset Digital) terdesentralisasi yang beroperasi pada sebuah jaringan blockchain yang bersifat publik

Apa itu Cryptocurrency
Aset Digital yang bisa berfungsi sebagai medium of exchange dan menggunakan enkripsi cryptography sebagai faktor pengamanannya.

Jaringan Blockchain
Blockchain disebut juga sebagai distributed ledger yang beroperasi pada sebuah jaringan Peer to Peer (P2P), yang menyimpan rangkaian block yang berisi berbagai catatan transaksi dan informasi dari block sebelumnya.

Wujud Bitcoin
Bitcoin berbentuk digital dan tidak memiliki wujud fisik. Untuk itu dibutuhkan sebuah Bitcoin Client sebagai tempat penyimpanan Bitcoin.

Bitcoin Client
Sebuah program/software yang dipergunakan untuk mengakses serta memproses transaksi, sekaligus berinteraksi dengan jaringan Blockchain Bitcoin. Sederhananya Bitcoin Client adalah sebuah wallet yang bisa dipergunakan untuk menyimpan dan bertransaksi Bitcoin.

Bitcoin v0.1
Merupakan Bitcoin Client pertama dan diciptakan oleh Satoshi Nakamoto

https://www.metzdowd.com/pipermail/cryptography/2009-January/014994.html

Apakah suplai Bitcoin tak terbatas
Suplai Bitcoin terbatas dan hanya memiliki limit sebesar 21 Juta BTC

static constexpr CAmount COIN = 100000000; /** The amount of satoshis in one BTC. */
static constexpr CAmount MAX_MONEY = 21000000 * COIN;

Bagaimana suplai Bitcoin disebarkan
Coin baru dibuat dan disebarkan melalui Block Subsidy didalam mekanisme PoW

Bitcoin Halving
Merupakan penerapan protokol terkait dengan bagaimana suplai Bitcoin disebarkan. Pada intinya Halving terjadi setiap 210.000 Block baru ditemukan, dan akan memotong nilai Block Subsidy sebesar 50%

CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;

Siapa yang mengontrol Bitcoin
Bitcoin tidak dikontrol oleh satu orang atau sebuah grup, namun Bitcoin bisa terus berkembang karena mendapat pengembangan dari developer dan dukungan dari komunitasnya.

Apakah protokol Bitcoin bisa dirubah
Siapapun bisa mengajukan perubahan namun harus melalui prosuder BIP dan tentunya mendapatkan konsensus.

https://github.com/bitcoin/bips

Bagaimana cara mendapatkan Bitcoin
Bitcoin dapat dengan mudah diperoleh dengan cara membelinya dari exchange atau melalui transaksi lainnya. Namun untuk benar-benar mendapatkan "fresh" Bitcoin hanya bisa diperoleh dari proses mining.

Mining Bitcoin
Sebuah aktifitas yang terjadi pada jaringan Blockchain dalam merumuskan sebuah block yang valid dan sesuai dengan mekanisme Proof of Work (PoW). Untuk upayanya bagi miners yang sukses membuat sebuah block akan mendapatan reward.

Reward Mining
Insentif yang diterima oleh Miner yang merupakan gabungan dari Block subsidy dan Fee transaksi

Proof of Work (PoW)
Mekanisme konsensus pada jaringan Bitcoin dalam memvalidasi berbagai transaksi dan menyusunnya dalam sebuah block valid yang selanjutnya didistribusikan ke jaringan Blockchain.

Block
Struktur data berbentuk hash yang berisi list dari beberapa transaksi dan juga memuat informasi dari Block sebelumnya.

https://en.bitcoin.it/wiki/Block_hashing_algorithm

Genesis Block
Block pertama yang ada di Jaringan Blockchain Bitcoin

https://www.blockchain.com/explorer/blocks/btc/0

Transaction
Proses transfer Bitcoin dari satu address ke address lainnnya didalam jaringan Blockchain dan ditandatangani secara digital menggunakan Elliptic Curve Digital Signature Algorithm.

https://en.bitcoin.it/wiki/Transaction

Address
Secara umum diartikan sebagai alamat yang digunakan bagi seseorang untuk menerima Bitcoin. Dalam bahasa teknisnya, Bitcoin Address merupakan identitas unik yang terdiri dari 26-62 characters dan diturunkan dari ECDSA keypair (Private Key dan Public Key).

Public Key
Bagian Public dari ECDSA keypair yang digunakan untuk memverifikasi tanda tangan pada sebuah data dan Public Key diturunkan dari Private Key. Compressed Public Key memiliki ukuran 33 bytes, sementara untuk Uncompressed Public Key memiliki ukuran 65 bytes.

Private Key
Sebuah kunci rahasia yang dihasilkan secara acak dari 256 bit integer (32 bytes) dan merupakan bagian dari ECDSA keypair yang berfungsi untuk menandatangani sebuah data.

Fee Transaksi
Biaya yang dibayarkan oleh pemilik transaksi pada saat mereka membuat dan mengirimkan transaksi tersebut ke Jaringan Bitcoin

Cara Mining Bitcoin
Untuk mining Bitcoin yang harus disiapkan adalah : Bitcoin Client, Sotfware mining, Perangkat mining (ASIC).

Kenapa Bitcoin memiliki nilai
Pada dasarnya Bitcoin tidak dijamin oleh aset apapun. Bitcoin memiliki nilai karena dipercaya bisa berfungsi sebagai aset, media pertukaran dan bisa diperdagangkan secara global, sementara yang mendasari besar kecil nilai Bitcoin adalah perbandingan demand dan supply.

Trading Bitcoin
Aktifitas Jual-Beli Bitcoin yang pada umumnya dilakukan pada sebuah platform pertukaran mata uang kripto

Potensi dan Resiko Trading Bitcoin
Seseorang yang tertarik melakukan trading Bitcoin pada biasanya ingin mendapatkan keuntungan dari perubahan harga yang terjadi di market, namun dibalik potensi profit yang bisa didapat juga ada kemungkinan resiko jika harga bergerak tidak sesuai dengan keputusan entry yang sudah dipilih.

Bitcoin terkait dengan hukum di Indonesia
Bitcoin tidak diakui sebagai alat pembayaran yang sah, namun bisa diperdagangkan sebagai aset komoditas.




- Thread ini akan terus saya update guna melengkapi informasi-informasi lain yang sekiranya bisa berguna buat para pemula.
- Thread saya moderasi untuk menghindari munculnya potensi spam dan pembahasan diluar topik
- Thread terbuka bagi siapa saja yang ingin bertanya atau ingin mendapatkan informasi terkait dengan seluk beluk Bitcoin dan juga terbuka buat yang mau memberikan masukan ataupun jawaban.
6  Local / Altcoins (Bahasa Indonesia) / Biaya Transaksi ETH di luar nalar...!!!! Amal atau Typo...??? on: March 15, 2019, 06:47:25 AM
Kira kira Sebulan yang lalu Terjadi 5x small transaksi dengan fee transaksi yang menggiurkan para miner. Total fee yang dikeluarkan untuk 5x transaksi tersebut sekitar 4000 ETH, dan 3 node miner yang beruntung mendapatkan block tersebut adalah :
- Nanopool = 3 block
- ethermine = 1 block
- sparkpool = 1 block

Untuk details wallet dan transaksi dapat dilihat pada hash di bawah ini:


Wallet address:
0x587Ecf600d304F831201c30ea0845118dD57516e


Hash Transaksi :
https://etherscan.io/tx/0x5691ddae752652bd579da5b45e84d5b90ae35acce5cbd308a1574c31f722608f

https://etherscan.io/tx/0xcb59748b9b7b9732f04b66dde0009a1e4856a50ed8ff68a0dedbaa5e57807d31

https://etherscan.io/tx/0x464e50e8ade15ad883f80fd173f6afd85efdf15413892625fe0146fbe5fecd92

https://etherscan.io/tx/0xc3e6f47ffa1b1e0bf926d5727e1adedac595d24cc4fa9b2f271d35566fdaf8d6

https://etherscan.io/tx/0x1f73b43dc9c48cc131a931fac7095de9e5eba0c5184ec0c5c5f1f32efa2a6bab


Bagaimana Menurut teman teman, apakah kejadian ini disengaja atau ceroboh dalam mengisi GAS PRICE? ataukah ada indikasi lainnya?



Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!